Software engineering skills are needed more than ever but coding skills are fading in importance. System design, maintainability, taste, clarity, future proofing etc are all super important, but the days of hand coding iterations over strings or trees or writing basic SQL queries etc are over. If it has a defined input and well understood output, a machine should be generating that code.
There’s a sense of loss of fun as Im living in this new world, since I enjoyed hand coding, but Im solving business problems with technology faster than ever and that ultimately what the job is about.
But AI doesn't write code, it just scrapes github and predicts plausible tokens. This is completely misunderstood by so many. It's a parlor trick. At some point in development it will completely fail and damage your codebase beyond repair...unless you constantly supervise and fix all errors and hallucinations. How does an AI supervisor have taste, insinct, and the maturity of experience to guide these inept robots if they no longer learn how to code? It seems to me that on this current trajectory, and accepting the narrative you described, we are royally screwed once the senior devs of today retire.
AI code generation has gone beyond perhaps where you think it is.
Junior developers will learn similarly to how they’ve learned in the past: structured approaches (like through books), examples of the code base they’re operating in, by partnering w senior developers on projects (like via code review), and of course, learning by making mistakes :)
The reference was made to leetcode-type style questions, which AI can solve very quickly, therefore the point of them is less and it's going to be even less as time goes on in my opinion.
But pure engineering skills are more important than ever! You can't do AI-assisted engineering well, without focusing on good engineering practices first, and have a good understanding of them. And people skills have also become more important than ever.
Btw I agree about leetcode, we never needed that even before AI. I'm just saying hard skills are still relevant despite what AI hype merchants sell us. That's all.
Don't you think the c-suite want less people and more AI though, like Huang talks about all the time? We won't be managing people, we'll be babysitting bots. Which is not a career worth signing up for. I believe we should do everything we can to reject this inevitability narrative because the goal is to erase us. Supervising AI slop isn't a bright future, we should stand up more for human skills and knowledge which haven't been surpassed yet by any means. This idea that "we won't need to write syntax anymore, just concentrate on architecture" doesn't hold up to logic and just feeds the narrative that seeks to replace us. In reality even AI companies are still hiring engineers for their hard skills, they just lie in public.
We have been trying to move the work to stakeholders for more than 50 years, ever since the invention of SQL and tools like MS Access. It's never going to happen. There are always going to be people that want some work done and people who actually do the work.
Regarding the work, the goal of Software Engineers is to solve problems, not just write code. The tools for development have always gotten better over the years, and so are getting better right now.
As I mentioned in the article: Why Engineers Must Become Multipliers in the AI-Era (https://newsletter.eng-leadership.com/p/why-engineers-must-become-multipliers), the work has shifted a lot more on overall problem-solving and human-related skills, which is where you can have the biggest impact with such mindset (and what great engineers have already been focusing on for quite some time). Writing code and AI tools are just tools to solve problems.
I get it. Most of my career has been spent automating and consolidating things. I just see this as premature. I think it'll be another 50 years before we have algorithms that understand programming. Next token prediction is just a parlor trick that is going to collapse. So I agree with you philosophically but I'm annoyed that people belive the future is here when it's not. It's like celebrating that we have hover boards when they're really just electric skateboards 😀
This collab was a lot of fun! Thanks Gregor!
A pleasure chatting and working together on the article Austen! Thanks for sharing a lot of great insights.
"We have AI for that now" 🫠
Always stated like an inevitable fact. Like engineering skills don't matter anymore. This will prove to be so wrong in multiple ways. Wait and see.
Software engineering skills are needed more than ever but coding skills are fading in importance. System design, maintainability, taste, clarity, future proofing etc are all super important, but the days of hand coding iterations over strings or trees or writing basic SQL queries etc are over. If it has a defined input and well understood output, a machine should be generating that code.
There’s a sense of loss of fun as Im living in this new world, since I enjoyed hand coding, but Im solving business problems with technology faster than ever and that ultimately what the job is about.
But AI doesn't write code, it just scrapes github and predicts plausible tokens. This is completely misunderstood by so many. It's a parlor trick. At some point in development it will completely fail and damage your codebase beyond repair...unless you constantly supervise and fix all errors and hallucinations. How does an AI supervisor have taste, insinct, and the maturity of experience to guide these inept robots if they no longer learn how to code? It seems to me that on this current trajectory, and accepting the narrative you described, we are royally screwed once the senior devs of today retire.
I would encourage you to read something like this: https://open.substack.com/pub/pragmaticengineer/p/the-pulse-160-why-its-so-dramatic?r=zpuv5&utm_medium=ios&shareImageVariant=overlay
AI code generation has gone beyond perhaps where you think it is.
Junior developers will learn similarly to how they’ve learned in the past: structured approaches (like through books), examples of the code base they’re operating in, by partnering w senior developers on projects (like via code review), and of course, learning by making mistakes :)
The reference was made to leetcode-type style questions, which AI can solve very quickly, therefore the point of them is less and it's going to be even less as time goes on in my opinion.
But pure engineering skills are more important than ever! You can't do AI-assisted engineering well, without focusing on good engineering practices first, and have a good understanding of them. And people skills have also become more important than ever.
Btw I agree about leetcode, we never needed that even before AI. I'm just saying hard skills are still relevant despite what AI hype merchants sell us. That's all.
Don't you think the c-suite want less people and more AI though, like Huang talks about all the time? We won't be managing people, we'll be babysitting bots. Which is not a career worth signing up for. I believe we should do everything we can to reject this inevitability narrative because the goal is to erase us. Supervising AI slop isn't a bright future, we should stand up more for human skills and knowledge which haven't been surpassed yet by any means. This idea that "we won't need to write syntax anymore, just concentrate on architecture" doesn't hold up to logic and just feeds the narrative that seeks to replace us. In reality even AI companies are still hiring engineers for their hard skills, they just lie in public.
We have been trying to move the work to stakeholders for more than 50 years, ever since the invention of SQL and tools like MS Access. It's never going to happen. There are always going to be people that want some work done and people who actually do the work.
Regarding the work, the goal of Software Engineers is to solve problems, not just write code. The tools for development have always gotten better over the years, and so are getting better right now.
As I mentioned in the article: Why Engineers Must Become Multipliers in the AI-Era (https://newsletter.eng-leadership.com/p/why-engineers-must-become-multipliers), the work has shifted a lot more on overall problem-solving and human-related skills, which is where you can have the biggest impact with such mindset (and what great engineers have already been focusing on for quite some time). Writing code and AI tools are just tools to solve problems.
I get it. Most of my career has been spent automating and consolidating things. I just see this as premature. I think it'll be another 50 years before we have algorithms that understand programming. Next token prediction is just a parlor trick that is going to collapse. So I agree with you philosophically but I'm annoyed that people belive the future is here when it's not. It's like celebrating that we have hover boards when they're really just electric skateboards 😀