7 ms·
I don't think so AI will replace SW jobs. It will definitely change the way engineers work. Software development involves: 1. Understanding the requirement 2
by devnull3 3y ago
I don't think so AI will replace SW jobs. It will definitely change the way engineers work.
Software development involves:
1. Understanding the requirement
2. Solving the problem with given constraints (and thereby innovate)
3. Talking to stakeholders
4. Code (& unit tests)
5. Review #4
6. Troubleshoot in testing
7. Troubleshoot in prod, both perf & subtle issues (this is hard)
8. Take the input from #6 & #7 and use it as a feedback back to #2
9. Answering questions from users/support which involve suggesting workarounds and not just factual answers. Suggesting a workaround itself is a mini-problem solving which is an intersection of domain knowledge, knowing code at hand, understanding customer's situation, etc.
Coding is hardly taxing and time consuming when there is clarity what needs to be done and how it needs to be done.
Point #4 itself has sub-dimensions like performance, maintainability, test-ability, security, etc and it involves lot of subjective calls. Sometimes you have to deal with undocumented behavior of an API which is a tribal knowledge.
To troubleshoot in prod (esp subtle issues) require deep knowledge of the code at hand. This itself is a challenge when you are dealing with generated code and something you have not written yourself. Think about a human dealing with an existing large code-base when joining a team.
I understand all of the above is a spectrum and there are jobs in SWE which do not require so much rigor.
Key ability for breakthrough and the rest will fall in place: Code generated by AI is consistently put to production without human intervention for a sufficiently complex problem considering all good attributes (like backward compatibility, performance, etc)