About AI (Coding) Assistants
Table of Contents
After a very long hiatus (101 months), I decided to start blogging (opinions here are my own) again. And I chose to start with a topic nobody is talking about: Generative AI 🤖.
Since ChatGPT’s launch in November 2022, the technology world has changed forever. Just as Amazon invented what we now know as “cloud” in the early 2000s, OpenAI demonstrated how modern Artificial Intelligence Assistants could augment humans in a way nobody (including themselves) had imagined.
As a software engineer working in cloud computing for over a decade, my first reaction in December 2022 was to maintain a safe distance from this unprecedented change. First, I didn’t understand what was happening –– and I’ve long been skeptical of silver bullets. Second, observing from a distance helps me analyze challenges more effectively.
In March 2024, I felt ready to explore AI Assistants, particularly AI Coding Assistants. Here’s what I’ve learned so far.
A word or two about what real software development looks like
AI Coding Assistant companies and others have predicted the end of human developers. Even NVIDIA Founder & CEO Jensen Huang suggested that kids shouldn’t learn to code anymore. I respectfully disagree: Real software development, which creates value for businesses and society, involves more than writing code in specific syntax. While software products are expressed in code (and might eventually be expressed in plain English), they require software architecture, requirement refinement, proper system boundaries, scalability planning, complex system operations, and continuous improvement. These critical activities rely on human experience and are fundamentally sociotechnical matters. AGI is coming, but no one knows how (or if) we’ll achieve it.
My very brief take on what the future of professional software development industry
Current AI Coding Assistants make great developers better by reducing common undifferentiated heavy lifting: boilerplate code, project structure setup, testing/fuzzing, etc. More experienced developers extract more value from these tools. Conversely, complacent developers who don’t continuously improve will be replaced by agents. Junior developers face risks –– if you’re starting now, commit to constant learning and focus on software development’s human aspects. Find a senior developer mentor.
My point of view around current tooling
I categorize AI Coding Assistants into IDE coding companions and Agents. IDE AI Assistants will remain local until internet connectivity becomes truly pervasive, fast, and affordable. That transition will take time, and ongoing Starlink and Project Kuiper launches will make that happen. 🚀
I’ve extensively tested GitHub Copilot, Cursor, Continue, Aider, and others. They range from acceptable to excellent. Given my employment at AWS, I explored Amazon Q Developer deeply –– and it’s my current top choice. Not for its Visual Studio Code integration (which I dislike) but for its consistent experience across both coding companion and agentic capabilities domains. Particularly for agentic-like workflows it represents the current state-of-the-art and continues improving.
The Zed team’s work stands out. They’re building “The editor for what’s next” with elegant, simple native AI Assistant integration. Combined with M2+ Apple Silicon’s impressive inference power/energy efficiency and Ollama, we have a promising foundation going forward. Qwen 2.5 Coder and Codestral perform locally at or above Amazon Q Developer, Claude 3.5 Sonnet, and GitHub Copilot’s quality, without incurring on cloud latency or costs.
In agentic workflows, multiple agents must collaborate way better (like humans) than what’s currently possible, models will keep getting larger and/or better tuned, and LLMs reviewing other LLMs clearly reduces hallucinations. Meaningful agent-driven code contributions and reviews will take minutes or hours to complete. And the only practical way to do it at scale is in the “cloud”.
I’m excited to be part of this transformation and see where our industry will land in a few years from now. Software Development and SaaS aren’t dead (I’m watching you Mr. Microsoft CEO). They are only evolving, for good.
In the same way professional developers aren’t using Active Server Pages or Visual Basic 6.0 GUI components anymore they will not build software products going forward without human augmentation through modern Artifical Intelligence.
Never Stop Building.
Disclaimer: This text was proofread by Claude 3.5 Sonnet and Apple Intelligence Writing Tools. It may contain minor issues.