It seems like wherever you look you have people on extreme polar opposites of this discussion: enthusiasm or gloom. To be honest, I think you can make clear arguments for both and my intent with this post is to be as objective as I can be, and also express from my POV.

In the last year or 2, I can say that I have relied on AI for about 30-40% of my day to day development tasks including side projects. To give some context, I've always approached software development from an end user/product perspective, so dabbling into code for long hours isn't always the most gratifying experience.

Recently, Open AI announced a new series of AI models, notably o1 designed to spend more time thinking before they respond. In short these models are being developed to solve more complex problems, some say to the degree of an entry-level programmer.

As AI models become exponentially better, the value that programmers and developers bring will be way beyond their ability to write performant and clean code. Don't get me wrong, there's still value in understanding the fundamentals of algorithms & data structures, but as more companies integrate AI into software development tools or repositories, the demand for developers with strong domain knowledge and stakeholder management will increase.

as more companies integrate AI into software development tools or repositories, the demand for developers with strong domain knowledge and stakeholder management will increase.

AI is great at solving well-defined problems, however where there are unpredictable factors it can throw its predictions off course. This happens quite often in UI development where the expected user behaviour isn't always the same as the actual.

Here are the areas where I believe AI will provide a lot of value to development teams:

  • AI Code Reviews: AI tools can scan code for common errors, vulnerabilities and inconsistencies such as syntax errors, security flaws and performance bottlenecks. Often times, during the code review process we could have blindspots and AI can assist in covering those.

  • Working with new libraries and frameworks: AI-powered code editors can suggest code snippets, function names and parameters as you type, saving you time and reducing errors.

  • Automation Testing: AI can reduce the manual effort of analyzing code changes and generate new test cases. There other interesting areas such as creating self-healing tests that automatically update when the application changes.

I'm more optimistic about the future of the industry; my attitude has always been to welcome change as opposed to being contrarian. Hopefully, as AI continues to evolve it presents more opportunities for developers to create more innovation ideas.