From stone age to AI age. How software development changed


Life before AI coding
If we rewind a couple years back, AI wasn't a thing yet, and "Increase your productivity by 50% with AI" buzzwords weren't around. Developers had simpler choices to make. Some debated the costs of JetBrains subscriptions, while others opted for VS Code, Atom, or Sublime Text.
Each IDE offered its own ecosystem of plugins and extensions - code snippets, database lookups, and other Developer Experience (DX) improvements that made life a bit easier. Development was largely manual, and productivity boosts mainly came from finding the right third-party framework or library to solve a specific problem.
But in the last few years, everything has changed. As a company that's been shifting to climate tech solutions, we've witnessed a big change in how developers work.
The rise of AI coding
The first attempts at AI coding were certainly interesting, but not really useful. The early versions of GitHub Copilot or ChatGPT would often suggest code that looked promising at first glance, but frequently missed crucial context or produced solutions that wouldn't quite work in production. Developers spent as much time validating and fixing AI-generated code as they would have spent writing it from scratch.
The real breakthrough came with two key developments that leveled up the game for developers. First was Anthropic's Claude, which started consistently outperforming other AI models in coding tasks.
Then came the VS Code forks - AI-native IDEs that transformed how we write code. These weren't just editors with AI plugins glued on; they were complete reimaginings of what a modern IDE could be. Tools like Cursor took the familiar foundation of VS Code and enhanced it with deeply integrated AI capabilities.
In this blog post I'll use Cursor AI as my reference, but you'll find almost identical features in Windsurf or other similar VScode AI IDE's.
What does Cursor AI give developers?
A chance to complain about changing from their current IDE. This is actually a real issue. Many engineers are just so accustomed to their environment, that making a change means breaking out their comfort zone and learning something new. But for those that take the plunge...
1. Cursor has incredible Autocomplete
Built-in snippets, Tabnine, Supermaven and many other plugins tried to be as helpful as possible in providing suggestions for the next line or next word a developer was about to type in.
Cursor does something fundamentally different. Instead of just predicting the next few tokens or offering pre-built snippets, it actually understands your codebase and coding patterns. It suggests entire functions, handles complex refactoring tasks, and even helps implement new features based on your comments or documentation.
"There are times when I feel like Cursor is reading my mind, and knows exactly what I want to type in next"
Amazing use case:
I was filling in a mockup JSON with Names and Surnames for a Tech conference speakers list. I had about 12 speakers already filled in. I had to add a LinkedIn url to each of the JSON entries. I don't know how Cursor did it, but as soon as I typed in LinkedinUrl into the JSON, it automatically filled the urls to all 12 the speakers at once. It actually scraped LinkedIn looking for these people. 30% of the links were wrong, unfortunately but still, I had almost all of the content filled in seconds. In the video below something similiar with urls based on company names.
2. Cursor has a capable chat
The second standout feature Cursor offers is Chat. Typically, I use it to inquire about, clarify, or discuss sections of code. Additionally, there are special keywords such as @codebase or @docs that allow you to point to specific parts of your code for the AI to consider when responding.
It can create well structured Vue components, with Tailwind classes and can easily utilize VueUse when needed. It can inject and replace fragments of code.
"It's like having a friendly junior sitting nearby, you can ask it questions and it usually knows the answer"
Amazing use case:
When I had issues with SEO in my Nuxt config, the chat was able to identify the issues, correct the fragment that was faulty in my config file, and explain why its fix worked. No more jumping between tabs of documentation or Stack Overflow posts.
3. Cursor Composer - the killer feature
The first versions of Composer weren't really any different from the chat. It tried to create files and modify them, which the chat couldn't do. But failed miserably when asked to setup a clean install of Nuxt. This was December 2024.
One month later, after several Composer updates, it did an install without a hiccup. The Composer understood a lot more, specifically when in "Agent" mode. But when I wanted to create a simple memory game, it did a lot of the ground work, but wasn't able to fulfill the entire task.
Another month later and Composer needs less guidance and it really feels like I'm speaking to a capable developer. The rapid improvement curve is honestly impressive - it's like watching a junior dev level up in fast-forward.
"I orchestrate what the AI needs to do. Rarely do I actually code. Only in those 'I need to grab the wheel' situations..."
This shift from being a coding assistant to becoming more of a coding partner is subtle but significant. It's not just about writing code anymore - it's about having an intelligent agent that can understand tasks in context and execute them independently.
Update: Claude Sonnet 3.7 has once again upped the level and understanding of the AI model.
Amazing use case:
I wanted to mock up a JSON with images that I pasted into a folder. When I asked the chat to read the file names and print them into a JSON object it told me how I could do it in theory. Composer in normal mode also struggled. However Composer in Agentic mode, did this without breaking a sweat. It just visited the folder, read the file names, and created a JSON with all the data. All correct, not one single error.
How to improve developer performance?
By adapting to and adopting new technology.
We haven't yet found a foolproof way to measure AI productivity gains. Apart from arbitrary performance measuring, and mostly feeling based opinions. In simple tasks, AI does things in minutes, which would have taken up to an hour. We can easily state that AI gives a 70% performance boost.
For more complex tasks, the boost can be negative. The more complex the task or codebase, the less performance gains.
The current model context is a bottleneck. AI's aren't able to grasp the full scope of the projects at once. This will improve with time but till then it's becoming an art to determine if it's worth delegating to AI or doing code manually.
There are tasks that are just too complex for an AI to resolve in a sensible time. A senior software engineer would easily complete it faster, compared to having a prompt-argument with the AI trying to get it to do what is expected. That's why I enjoy Cursors offering. If the Composer can't handle the complexity, I take over and type manually, utilizing the autocomplete features.
"...even if AI doesn't get everything right first time, a developer is already ahead, and can tweak the AI's output. That is also a performance gain!"
As we continue building climate tech solutions at Amsterdam Standard, we're learning to use AI tools like Cursor strategically - not as a replacement for developer expertise, but as an amplifier for developer capability. The key isn't to hand everything over to AI, but to understand where it truly adds value to your development workflow.
Would you go back to coding without AI tools?
A question I've asked colleagues at the office.
Unanimously they cry out NO!
AI has fused with their workflows, the comfort of delegating repetitive and boring tasks to an AI agent rekindles the passion most developers have when coding. Unchained from the "chore" tasks, pro developers can focus on more complex parts of the codebase.
In 2025 we've launched an internal campaign to urge all our software engineers to try out our recommended AIPE (AI-Powered Engineering) tools - a list of curated tools we've researched, checked security and performance for. The goal is to get everyone on board. AI is not leaving, so it's best to utilize its capabilities to boost human performance.
"Tools like Cursor are just the beginning. The real revolution isn't in the technology itself"
- it's in how it's transforming the day-to-day experience of writing code, making development more engaging, more productive, and dare we say it, more fun.
PS. all images where generated in Midjourney, and I had the text revised by Claude. I'd guess 40% is my input, and the rest AI's augmentation.
Join our monthly knowledgable newsletter
Each month we share our knowledge, much like this article, and post interesting posts from the web. Learn how to grow your SaaS with our planet in mind.