The Death of the Software Engineer has been Greatly Exaggerated
Shane Kempton
President & Chief Technology Officer at Phase 2, Chief Technology Officer at Drakewell
Day after day, I witness small teams of great engineers consistently release nearly flawless software with as much automation as technically possible. Constant, relentless automation. At every opportunity, these teams achieve more with the same effort, enabling them to deliver an ever-increasing stack of value to our customers.
Since the advent of GPT 3.5, we have harnessed the power of LLMs to automate code creation for receptive clients. While this has reduced boilerplate work in previously impractical areas, it has yet to become a primary driver of efficiency gains for our teams. Automation techniques such as infrastructure-as-code, automated testing, meta-programming, and the sheer skill of being a damn good engineer remain the kings of efficiency. Currently, our most important internal use cases for LLMs include better repo/cross-repo search, enhanced IDE helpers, baseline pull request comment generation or code suggestions, and glorified meta-programming.
On that last point, English is incredibly imprecise, and LLMs are only precise enough for great software if you pseudo-code prompts. This can be useful in some cases and unnecessary in others. Sometimes, it's simpler and more effective to write the code directly or meta-program for precise code output. The non-deterministic nature of LLMs can be unreliable when predictable code generation is needed.
LLMs are remarkably useful, and we will employ them for automation in every way that upholds the durability, reliability, scalability, performance, and value delivery we demand of ourselves. However, they are a long way from replacing a great or even good software engineer. They simply lack the intelligence to do so, and as of today, there is insufficient compute and likely not the proper model architecture to make them capable.
领英推荐
A great software engineer's job isn't merely typing code into an IDE. Their role is to take a great idea and navigate the incredibly difficult problems it takes to turn that idea into reality. Their tool set is code, but their skill is deep problem-solving.
I look forward to the evolution of AI, as it will empower our teams to spend more time gazing out the window, pondering our customers' most challenging problems, rather than fixating on a screen, resolving simple code issues. When AI does become smarter, we will be able to accomplish even more and deliver much more value to our customers.
Until then, we will continue to relentlessly automate with every tool at our disposal, the most powerful one being the incredible minds of great engineers.
Chief Marketing Officer | Product MVP Expert | Cyber Security Enthusiast | @ GITEX DUBAI in October
4 个月Shane, thanks for sharing!