Will AI take over a developers job?

Software

Unless you are living under a rock, you have heard of ChatGPT, Cursor, Bolt, Loveable etc.. and the waves they have created in the last 1 year.

There is no doubt, LLMs have changed how humans do things, writing, developing software, asking questions, audio/video generation just to name a few, LLM's & AI have made their way into all of them. You have already lost, if you haven't started using AI already. If this is you, stop reading and go build a side project using AI. Build something small or just replicate an existing software with AI.

I am a full stack developer with over a decade of experience building software. I am both scared and excited about what the future holds for a software developer. It would be naive for me to say, AI is not going to impact developer jobs. It will have an impact, how big is the only question and time will tell us what ends up happening.

Why do I say that? Here's my thought process.

1. Productivity Boost

Give AI to any developer and they can instantly become more productive. You know that, most of what we write is boilerplate code, things like error handling, adding API endpoints, adding signup/signin modals, profile modals, empty states in the UI, dark mode and much more. These are repetitive and don't hold much business logic. These are the things you would use AI for and you can write the same code 10x faster.

The other day I was working on a side project. I wanted to add an authentication modal where a user can SignIn/SignUp. I asked AI to create a modal which will have this and have them in tabs. I asked it to use ShadCN/UI library. And within a few minutes I got what I needed. I had to make some minor adjustments, but the bulk of it was generated by AI.

authentication modal built by AI

It you have observed, there are 2 things that happened. One, it saved me time and two, if AI can generate this, then anyone can do the same with the help of AI. This authentication modal could've been generated a product manager or an engineer manager.

This eventually leads to needing less developers. Is it going to complete eliminate the need for a developer? I don't think that's going to happen any time soon.

2. Automation

If you have worked or working in a big organization, you either get tasks assigned to you through Jira, Linear or something similar. Now imagine, if the engineering manager or the product manager runs those tasks through an AI and generates some initial code and then hands it over to you. How does that world look like? So instead of starting from scratch, you are handed over some AI generated code.

Bug fix tasks can be automated completely and a human would only be needed to review the code. There are AI code review tools as well. I don't think we are currently at a point where we can remove a human out of the loop. Somewhere in the process we need to have a developer. But the number of developers needed is going to go down drastically.

I already see Linear.app adding native support for Devin (AI Developer). Devin can work on a task completely and create a PR to be reviewed by a human.

3. AI agents

AI can write code, review it, you can ask it create a PRD etc. The AI space is evolving at a rapid pace, so don't be surprised if you see ton of improvements in the coming months.

AI agents are picking up steam. They can automate a lot of manual tasks. There are agents, that submit your site to multiple directories and listing sites, there are ones that write blog posts by researching keywords and writing relevant content.

There is Open AI operator which is an agent that can go to the web to perform tasks for you.

What you can do as a developer

My experience with AI has been that it is good at generating code that it has been trained on. I say it is like search engine on steriods. But I have not seen intelligence till now. When I had some complex bugs or logic to be taken care of, it failed quite badly.

Your experience and skills on software engineering and programming is going to be the key differentiator. How deep you know stuff is going to be valuable.

AI cannot make choices efficiently. You as a human would need to do that. So improve your thought process, have clarity of thought by writing and think from first principles. AI does what you ask it to do. Someone has to verify/review what you have asked it to do as there may be edge cases, performance issues and security vulnerabilities.

Architecture and system design still has to be done by a human.

The other thing to note is, AI is not completely autonomous in its current state. Somebody has to give the instructions for it to generate code. You will have to guide it to consider certain edge cases. Increase your breadth of knowledge and evolve from just being a software engineer to a product engineer. Have opinions about the software you are building, talk to customers and see how to solve their problems. Human communication is not going to be replaced by AI anytime soon. In fact, having good soft skills will help you standout.

If you are a generalist, I think it would help because now with the help of AI, you can do a lot more. People might hire you or retain you because you can do multiple things well.

  1. Be curious
  2. Learn and adopt fast
  3. Improve your communication and soft skills
  4. Get in depth knowledge in your current area of work
  5. Transition into a product engineer

Entrepreneur or Indie hacker

This is the best time to succeed as a solopreneur or Indie hacker as you can do a lot more than you could have possibly done earlier. You will spend less time and money on building the MVP and time to validation also comes down. This also means that there will be more apps that will be built, so more competition.

Distribution and marketing will become even more important now.

With AI at least the code barrier is broken or reduced.

Conclusion

The future of software development lies in small teams that deliver greater impact and value than ever before.

There are 2 possibilities

  1. Developers lose their jobs.
  2. Companies produce more software than ever before by solving more problems.

The 2nd possibility is also tied down to the global economy to an extent.

The only positive scenario here is that we can hope that there are more problems to solve in the world, that we see more companies and software teams come up.

7cd8770b-ee9c-4267-9ecb-28cdcd8eb7f0