AI is Making Me a Better Software Developer
I am getting a little bit tired of seeing videos on YouTube and reading various articles about how AI is making everyone a worse software developer. On a daily occurrence now I see videos and articles explaining that because of AI software developers are losing their ability to critically think, we’re getting lazy and we’re all going to become stupid, idiotic copy and pasters.
I have been using AI in my day-to-day work for quite awhile. I started off using ChatGPT and Github copilot along with everyone else but then when the Cursor editor came out, I switched and it was the real game changer for me. It felt like the power of AI was at my fingertips, I could fly through the backlog and finally move at a pace I long since dreamed of. However, to my surprise there were other benefits and that’s what I want to get into in this article.
Disclaimer: I have no stake in the AI game so these are the views from a software developer who uses AI on a daily basis.
I’m Learning About New APIs
The first major benefits I realise was I could stay in the editor much more without having to go to a different webpages of all different designs and layouts to find out about specific APIs. This helped me discover new APIs in the libraries I was using. The AI code completion/generation would often suggest APIs that I wasn't aware of and this enabled me to discover new things that otherwise I would be unlikely to discover.
Now like anything in life, it all really depends how you use a tool. If you are going to sit there and blindly press ‘tab’ in your editor and accept everything that the AI inputs onto your code then I can imagine you're going to set yourself up for failure. However, if you use it as a helpful tool that not only auto completes but also occasionally introduces you to new things and explains them in a way that you can understand then that's really powerful.
I’m Able To Switch Coding Languages More Easily
The second big benefit I found is I'm now much more comfortable coding in different programming languages. My programming language of choice is Typescript and I'm very comfortable in that because I spend many hours coding in that language at work.
However, in my workplace for example we use Python and I'm not so familiar with Python. Previously, I have been quite daunted by going into a large Python codebase and trying to find my way around and understand all the nuances of the language. I can usually understand the logic of some existing Python code but many things such as syntax and simple functions that I'm just not aware of will slow me down or trip me up.
However, with the help of AI I can quickly learn these small nuances and implement what I need to more quickly. Much of programming is implementing logic and the language enables you to write that logic out. I know what logic I want so I am utilising AI to help me with syntax specifics of the language I am working in.
Again, it all depends on how you use it. I do not blindly press tab and just accept what the AI says. I will read the predicted code, maybe accept it and then I will dive deeper into it if it's a new piece of syntax or a new functionality that I haven't used before.
I’m Much Better at Reading Code
The next major benefit is I'm getting much better at reading code. I believe it's one of the most underrated skill sets in a software developers toolbox — being able to read code. You spend some of your time writing new code as a software developer but you spend just as much time, if not more reading code. You read code in request, you read code documentation, you read code in other libraries you read code in new code bases that you start to work on.
Due to the Composer feature that comes in the Cursor editor, which is very powerful, it often will give you a whole bunch of code. You could just blindly accept everything it throws your way but I think that would be a very bad idea and you would end up in some very weird place with nothing working.
However, again it's how you use it. As long as you read what it outputs and understand what it does, it can be a great help and through this I've become much better at reading and understanding code.
I Write More Tests
The fourth major benefit is testing. When you work for a company as a software developer there is a certain pressure to do releases and get things done. You have to make decisions about where to spend your time and very often testing can be neglected.
However with AI it's super quick to create a bunch of tests for given functionality or logic that you are implementing. You need to read what it produced and you may need to tweak it to fit exactly what you need. That's where your experience as a software developer comes in. However I have found now that our testing coverage has increased dramatically. Even with the limited time I have now introduced more tests because it's much less effort and overhead. This has led me to understand testing much more and also to write better, mor battle hardened applications.
I’m More Versatile as a Software Developer
The fifth and final benefit that I want to bring to the table is I'm much more adventurous now in the features that I try. Previously I stuck very much to the frontend side of things. I would dabble in API creation and I would dabble in the Devops world with containers and pipelines.
However , I'm much more confident to try anything these days. Whatever I need to get done I will try because I know with AI I can get a quick and good understanding of the domain that I am trying to solve
For example I previously had to work with queues recently because I was sending emails from an application. This isn’t something I had done before so I wasn’t sure exactly where to start. However, by asking logical and sensible questions AI could give me a good overview of the specific areas I wasn't clear about and then from there. I could learn, apply and then make the feature work. Prior to AI would've had to spend much longer searching through webpages, searching through Google and trying to find out how to do something. Likely I would have ended up fitting someone else's experience into the current situation I would have found myself in.
Conclusion
AI is a big change. I get it. For many people and as a species we are hesitant to change. The reality however, is you need to adapt. You need to adjust to what you have in front of you and navigate wisely.
Having said everything I've said I still believe we're a long way from AI agents that could replace software engineers. The statistics and propaganda coming from the major players in the industry is suspicious at best.
With the current AI, there are a great bunch of tools and they've certainly made my life better as a software developer. I feel I am a better software developer because of it. I would love to hear your views on this controversial subject. I think the future is bright for software development, I think the AI tools are only going to get better and I think we can make some great software.
Subscribe to My Weekly Updates!
Enjoyed This Post?
If you found this blog post helpful, why not stay updated with my latest content? Subscribe to receive email notifications every time I publish.
What You’ll Get
By subscribing, you’ll get:
- Exciting Discoveries: Be the first to know about the latest tools and libraries.
- How-To Guides: Step-by-step articles to enhance your development skills.
- Opinion Pieces: Thought-provoking insights into the world of frontend development.
Join Our Community
I live in the vibrant city of Prague, Czech Republic, with my family. My blog is more than just articles; it’s a community of like-minded developers who share a love for innovation and learning.
About me
I’m a passionate Frontend Developer specialising in React and TypeScript. My professional journey revolves around exploring and mastering new tools and libraries within the JavaScript ecosystem.
Check out the original blog post on my blog.