AI Coding Tools have arrived: how Product Engineering teams will use them | by Mark Ridley | Jul, 2023


a computer generated image of four people working at screens in red light
Image by author using Midjourney

How Generative AI will impact product engineering teams — Part 2

This is the second part of a six part series investigating how generative AI productivity tools aimed at developers, like Github Copilot, ChatGPT and Amazon CodeWhisperer might impact the structure of entire product engineering teams.

In Part 1, we explored:

  1. The landscape of product engineering and the possibility that teams will need fewer human engineers with the rise of Generative AI tools.
  2. The traditional 5:1 Ratio in tech teams: how roughly five engineers for every product manager is common across the industry.
  3. The roles of product managers and engineers in current product development processes and how these roles might shift with AI advancements.
  4. How past research has given flawed predictions on which professions will be the least impacted by AI, and how LLMs have upended these predictions, particularly for the tech and creative industries.

Automation has been a part of software engineering for almost as long as there has been software engineering. Eric Raymond’s 2003 landmark essay, The Art of Unix Programming reflected on 17 design rules for software engineers, including the Rule of Generation: “Avoid hand-hacking; write programs to write programs when you can”.

Raymond’s advice is still relevant even 20 years after it was published:

“Human beings are notoriously bad at sweating the details. Accordingly, any kind of hand-hacking of programs is a rich source of delays and errors. The simpler and more abstracted your program specification can be, the more likely it is that the human designer will have gotten it right. Generated code (at every level) is almost always cheaper and more reliable than hand-hacked.”

Since Raymond wrote those words we have developed automated test tools, linters (tools which automatically check the code we write), auto-completion for our development environments (like a spell-checker, but for code) and even frameworks (like React and Django) which automate…



Source link

Leave a Comment