Software Teams & AI
20 Sep 2024
Over the last year I have been in conversations with non-tech people and their views on how Gen AI is going to make developers obsolete and that we should speed up our software development process 2x now that ChatGPT is helping write the code for us.
I didn't know how to respond. Until I came across this article - Generative AI is not going to build your engineering team for you
A few snippets but broadly the takeaway is:
Sytems trump Code.
To me, being a senior engineer is not primarily a function of your ability to write code. It has far more to do with your ability to understand, maintain, explain, and manage a large body of software in production over time, as well as the ability to translate business needs into technical implementation. So much of the work is around crafting and curating these large, complex sociotechnical systems, and code is just one representation of these systems.
Software development is so much more than just writing code. It's the thinking and decisions that goes behind the code. As the article suggests, writing code is the easy part.
The hard parts are what you do with that code—operating it, understanding it, extending it, and governing it over its entire lifecycle.
A junior engineer begins by learning how to write and debug lines, functions, and snippets of code. As you practice and progress towards being a senior engineer, you learn to compose systems out of software, and guide systems through waves of change and transformation.
Generating code that can compile, execute, and pass a test suite isn’t especially hard; the hard part is crafting a code base that many people, teams, and successive generations of teams can navigate, mutate, and reason about for years to come.
So, the next time some business manager gives you a 101 on AI and software, do send this article to them.