The software development platform of the future
How the developer tech stack, particularly the IDE, may look in the future
Welcome to Day to Data - a dose of musings by a data scientist turned venture investor, breaking down technical topics and themes in data science, artificial intelligence, and more. New post every other Sunday - maybe Mondays if it’s a long weekend!
The IDE is a fundamental platform in a programmer’s toolbox. An IDE - integrated development environment - is a software tool that enables programmers to write and test code efficiently, to build scalable, collaborative projects. Prior to an IDE, programmers wrote a majority of code in text editors. I was one of those programmers for a shamefully long time.
Sublime Text was my tool of choice for a while when I was learning how to code. Using a text editor vs. an IDE is somewhat comparable to writing without a formatter or Grammarly. It’s a pretty good way to get started as a developer. To use Sublime or other text editors, I’d type up my code, save the file, then open the Terminal, and run the code to see what happens. There was no way to see my errors until the Terminal spit something out like “Line 2: no variable named ‘test’”. I’d find my way back to Sublime, make an edit, save the file, then run it again in the Terminal. It took a while to get into a flow.
I eventually transitioned from a text editor to an IDE - like Microsoft’s VSCode, Jetbrains’ Pycharm (personal favorite), and Apple’s Xcode. Using an IDE was a major productivity unlock. I could write my code, immediately get feedback on how to finish each line, and quickly debug complex problems.
There’s been the looming question of what AI will most tangibly change about our personal, professional, and social lives in the future. Some of the most immediate changes are happening on the developer level, yielding another step-level change in productivity, far beyond the IDE.
There’s a practice in software development called “pair programming” which typically happens when two programmers are collaborating on the same code at the same time - like two writers in a Google Doc but usually more literally two devs sitting in front of one machine - solving each others mistakes, quickly fixing bugs, and speeding up their ability to execute. OpenAI President and co-founder Greg Brockman is a big fan.
However, pair programming is hard to scale, can be challenging for remote teams, and is limited to the collective knowledge of the two developers working on a task.
This changed with the release of ChatGPT and Github CoPilot. All of the sudden, every engineer had a friend sitting next to them, with knowledge of the entire internet speeding up their ability to execute. Per McKinsey, it’s estimated that developers can generate code ~40% faster with generative AI. That’s compressing a 40 hour engineer work week into 24 hours. Currently there’s limited efficiency boosts for high-complexity tasks, but with efficiency elsewhere, developers can refocus on the complex tasks, versus spending time writing documentation or boilerplate code.
I believe complex coding tasks will continue to be optimized by generative AI through building models fine-tuned to specific types of development. An engineer will go from writing code for a single part of a program, say front-end web development, to using a model that’s tuned for each part of the stack or a certain program - a backend model, a Python model, etc.
Quick step back for some folks to level set: what does fine tuning mean? If you had to get heart surgery, you’d probably want a cardiologist to do the surgery. A cardiologist went through extra training and education beyond general surgery to learn about the intricacies of the heart. A cardiologist was “fine-tuned” to perform best on hearts, but in doing so, might not perform as well at math or history as someone skilled across general, all-purpose knowledge.
I believe that the IDE of the future will be a platform where engineers come to use various code generation, documentation and testing models that have been fine-tuned to certain parts of the programming process. The IDE of the future will be agent-based, giving a programmer the power to deploy specialized agents to build a platform together. By taking in information like a project spec, dependencies and security requirements, the IDE of the future will have one agent build the frontend using a model specific for frontend development, another securing code as its written, and others building database integrations and documenting the code.
The IDE of the future will not be a place where code is written directly by a software developer. It will be a playground where agents trained to write code will be managed. Specialized agents will write code, that can be reviewed by an engineer, or another agent. The files will be automatically committed to Github, showing progress the agents are making along the way. The role of a software developer will move to a higher level, more architecture focused role. The developer will have to shift from thinking about how to write code for a siloed portion of a project, to how to bring together portions of code into a production-ready project. Developers will pair program alongside a multitude of agents, no longer limited to the knowledge of their fellow engineer.
There are already AI-first code editors, like Cursor, that are gaining a lot of attention from developers. However, I’m eager to see an approach to an agent-first IDE. I’m eager to see the next generation of tools that support the software developers stack, as their role shifts and prioritizes higher level thinking and strategy. I’m eager to see what becomes possible as it becomes easier for anyone to build software. There is so much progress and innovation yet to come as the underlying tools used by engineers change.
If you’re building here, definitely reach out - gaby@primary.vc!
Made me think of my day with the cardiologist. Your mastery of coding issues continues to amaze me, like the skills of my cardiologist.