Back to website.

The Effects of AI Development Assistants

Iulian-Constantin Marcu
Iulian-Constantin Marcu
Cover Image for The Effects of AI Development Assistants
Read in a different language:
The translations are generated by an AI model and may not always be correct.

For the last couple of months, I worked on building a full-stack LLM-powered application. To accelerate development and familiarise myself with the latest tooling, I switched between GitHub Copilot, the Cursor editor, and the Windsurf editor. Based on this experience, I want to share some insights into how AI changes the software development industry and our jobs:

“AI will replace engineers“

The tools mentioned above have increased my productivity by 2 to 10 times in all areas of application development - frontend, backend, database administration, or infrastructure.

Boilerplate, atomic components, or algorithms are now a prompt away from being written. What used to take hours now takes minutes, and it’s an incredible feeling to see the results an AI assistant can give you.

By adopting AI tooling, an average developer is likely to become a 10x developer, and what used to be a 10x developer is likely to become a 100x developer that can deliver new features daily.

AI won’t take your job

That, unless your only skill is “writing code” 🙂 All of the above benefits will happen as long as the developer assisted by AI knows what to ask it for. AI assistants can swiftly deliver basic to average features in complexity. But when given a more complex task, they fail to produce good solutions. Continuing to prompt on this unsatisfactory result will produce code that is difficult to read and maintain, wasting hours of development time.

Instead, if the developer has some knowledge in the problem they try to solve - be it from experience or from chatting to an AI assistant - they can break down the problem into small iterations, and prompt the assistant to gradually work towards the best solution. Whilst building towards this, the developer needs to indicate to the AI coding patterns and best practices to follow, and they need to continuously test the progress made, prompting the AI with the encountered issues.

There has never been a moment in software development history when knowledge of software architecture, best practices, and design patterns has been so relevant for a successful career.

Thoughts on the future of junior developers

I believe that going forward, being good at writing code won’t be enough to be successful in this career. Universities need to focus more on teaching best practices in software architecture, breaking down complex problems into small chunks, and of course prompt engineering. Companies will also need to focus more on enabling senior engineers to pass down their experience to junior engineers.

Otherwise, I see a risk that many junior positions might be closed in the following years - reasoning that “AI can do the job of a middle engineer” - and the effects of that will be obvious in a couple of decades, when today’s senior engineers retire and there will be a great gap of untrained engineers. Because of this, I believe that companies should not rush to replace engineers with AI tooling, but figure out ways to best leverage the new technology with their existing Human Resources. Replacing can cut costs, but training might multiply speed and profit.

To conclude, the experience I had in the last few months using AI developer tooling has been very positive, with large boosts in productivity, and I recommend all software engineers to give a try to any of these tools to see their benefits. If you are an engineering manager, consider ways to train the more junior engineers in your team so that they can leverage this tooling at its full capacity.

Share this article

Other Articles

Cover Image for Effortless Offloading: Next.js Meets WebWorkers

Effortless Offloading: Next.js Meets WebWorkers

In this post, we build an image preview page, discover its limitations, and then offload the work to WebWorkers to achieve high performance by using the next-webworker-pool NPM package.

Cover Image for Level up your React codebase quality

Level up your React codebase quality

In this blog post, we will explore strategies and best practices for improving code quality in React applications. Whether you're a seasoned React developer or just getting started, you'll find valuable insights to elevate your codebase and streamline your development process.

Cover Image for Effective communication for software engineers

Effective communication for software engineers

As a software engineer, discussing technical subjects with colleagues from other departments needs to happen as flawlessly as possible. In this post, I describe my approach to maximize the value of any meeting.

Cover Image for Using i18n programmatically in Angular

Using i18n programmatically in Angular

This blog post describes my approach to using i18n in Angular components, in a programmatical way. The example usecase in this blog post is displaying API error messages in an user-friendly way, but the approach is generic to any usecase.