{"id":267,"date":"2025-11-21T00:18:16","date_gmt":"2025-11-20T19:18:16","guid":{"rendered":"https:\/\/langtoday.site\/?p=267"},"modified":"2025-11-21T00:18:19","modified_gmt":"2025-11-20T19:18:19","slug":"software-developer-role-in-the-age-of-ai","status":"publish","type":"post","link":"https:\/\/langtoday.site\/?p=267","title":{"rendered":"A Software Developer Role in the Age of AI"},"content":{"rendered":"\n<p>Some time has passed since I wrote an article on my thoughts about <a href=\"https:\/\/langtoday.site\/?p=241\">AI in the everyday work of a programmer.<\/a> I have new thoughts about where we are all going to and what the old\/new role of a software engineer is becoming to be. <\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">What Has Improved<\/h2>\n\n\n\n<p>Since last time, AI tools improved a lot. If previously I would have only recommended AI for some small autocompletion or writing tests or finding entry points, now I can trust architectural decisions and even generating whole solutions to AI agents, which is labeled vibe coding nowadays. It\u2019s now much better in understanding and explaining code and architecture. The most incredible thing is that modern AI systems can even rationalize about legacy solutions, explaining what the intent was when they were implemented years ago. Right now, I gave up on GitHub Copilot as it is seemingly less precise than competitors. I tried Cursor but didn\u2019t like it for non-professional IDEs (in comparison to JetBrains apps) and lack of context understanding. It might be that I never learned how to set up those tools, but gave up. Right now, I am using the last versions of OpenAI Codex and Anthropic Claude. Both work really well, especially when you fine-tune their \u201clong memory\u201d md files, allowing the models to grab maximum info about code practices on your project and its architecture. Anthropic leads in my personal rating; I trust it most tasks, but still in some peculiar cases, Codex is much better, so for really hard tasks, I usually use both tools, asking them to criticize each other\u2019s solutions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Is to Be Done<\/h2>\n\n\n\n<p>However, there\u2019s still a lot of stuff to be improved. In distributed, convoluted architecture, AI loses context quickly and generates stupid code. It can miss important points in BRD, mess up code practices by taking some snippets from modern practices and some from legacy codebases; it\u2019s hard for it to keep one code style. The most dangerous thing is mistakes in small but important details covered by erroneous tests which were generated synchronously with the code. Some solutions (especially algorithmic code, UI, and tests) might even be non-readable for experienced programmers, however, seemingly functional.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Is the Role of a Human Developer in the Age of Agentic AI?<\/h2>\n\n\n\n<p>As things are today, I definitely wouldn\u2019t say that the profession of a software developer becomes obsolete in a couple of years. But neither would I say that AI is stuck and is not developing anymore. On the contrary, being a developer means to learn a lot, to understand broader contexts, to have stricter self-discipline, and elaborate soft skills. AI returns fun to our profession. It takes routine tasks from us. Writing monotonous, repetitive tests, copying and pasting enum or ORM entity templates, remembering or Googling infinite language patterns and library functions? No, no more. Instead, you concentrate on architecture, expandability, maintainability; you write the most important parts and brainstorm database schemas and inter-service communications; you consider user experience and developer (your colleague) burnout prevention. AI is just a tool, but the best one\u2014 it\u2019s like several eager junior programmers waiting for your instructions and critiques for 24h, but at the same time, it\u2019s a guru expert knowing all the patterns and technologies existing on Earth and understanding how your huge codebase works as a whole. Yes, both at the same time\u2014 a junior and a guru. But you have the rudder. You are the captain.  I think life is hard for junior developers nowadays as AI takes their jobs. As for middle to senior, they became team leads in the teams of one, controlling their plethora of AI helpers and reviewing their code. The future is not vibe coding, the future is not getting back to manual coding. The future is using the right tool for your task, as it always was.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Some time has passed since I wrote an article on my thoughts about AI in the everyday work of a programmer. I have new thoughts about where we are all going to and what the old\/new role of a software engineer is becoming to be.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5,10],"tags":[13],"class_list":["post-267","post","type-post","status-publish","format-standard","hentry","category-life","category-programming","tag-ai"],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":241,"url":"https:\/\/langtoday.site\/?p=241","url_meta":{"origin":267,"position":0},"title":"Thoughts about AI in Software Development","author":"pyastolov@gmail.com","date":"February 5, 2024","format":false,"excerpt":"Having spent several months with JetBrains AI Assistant and GitHub Copilot I have several observations on the current state of things. Following Noam Chomsky mood I wouldn't call it AI because it has not reached that level of technology yet but still if we have this term used a lot\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/langtoday.site\/?cat=10"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/langtoday.site\/wp-content\/uploads\/2024\/02\/image.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/langtoday.site\/wp-content\/uploads\/2024\/02\/image.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/langtoday.site\/wp-content\/uploads\/2024\/02\/image.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/langtoday.site\/wp-content\/uploads\/2024\/02\/image.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/langtoday.site\/wp-content\/uploads\/2024\/02\/image.png?resize=1050%2C600&ssl=1 3x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/langtoday.site\/index.php?rest_route=\/wp\/v2\/posts\/267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/langtoday.site\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/langtoday.site\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/langtoday.site\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/langtoday.site\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=267"}],"version-history":[{"count":3,"href":"https:\/\/langtoday.site\/index.php?rest_route=\/wp\/v2\/posts\/267\/revisions"}],"predecessor-version":[{"id":270,"href":"https:\/\/langtoday.site\/index.php?rest_route=\/wp\/v2\/posts\/267\/revisions\/270"}],"wp:attachment":[{"href":"https:\/\/langtoday.site\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/langtoday.site\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=267"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/langtoday.site\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}