The Role of AI in Software Development: Why the Human Factor Matters Most

It’s an exciting time to be a software developer, with AI making progress in leaps and bounds every month. Things that once seemed out of reach for AI can now become “drag-and-drop” capabilities in just a year. In conversations with clients, I’ve encountered many different viewpoints on whether — and how — companies should adopt AI. In this post, I’m going to unpack what I’ve understood and experienced over the past two years as ChatGPT and other AI tools shifted from novelty to mass adoption.

If I had to summarize my thoughts in one line it would be

The biggest challenge to AI adoption is not longer the capabilities of the tool – it’s the human factor.

The rest of this post is simply going to be an elaboration of the above.

To make this post simple to read I am going to break it down into a Q & A format because it will help you skip to the point you are interested in.

Is it even worth considering using AI?

In tech, there are always fads and hype cycles — tools or trends that explode for a year and then fade once reality sets in. But with AI, we’ve crossed that threshold. It’s safe to assume AI is here to stay. Much like social media, you can resist the tide, but it seems inevitable that AI will remain pervasive — whether or not we fully understand it yet.

While it may not be clear which “flavor” of AI will dominate in the long run, the fact remains: AI is embedding itself into every layer of technology. The longer you wait to adopt, the more mature and user-friendly AI tools may become — but you also risk missing out on the immediate benefits of efficiency, automation, and competitive advantage.

Why should I use AI?

To answer this, we first need to understand the purpose of AI. AI isn’t here to replace the way people think. It’s a tool — powerful, versatile, but ultimately still a tool.

Think of it like buying a car: owning a car doesn’t mean you stop walking. It just helps you go further and faster — though there are costs and limits. You can’t drive a car up Everest or across a river. Likewise, AI can’t do everything, but for the things it does well, it can give you a huge boost.

A common misconception in software development is that AI is only about writing code faster. But speed alone isn’t the goal — quality is. Writing mediocre code three times faster doesn’t help much in the workplace. The real value comes when AI frees up time, letting you iterate more, test better, explore alternatives, and build more user-friendly products.

For example, suppose building a webpage used to take me a week. With AI, maybe I can build the first version in a day. But that doesn’t mean I stop after a day — I can use the remaining time to try multiple designs, test thoroughly, handle more edge cases, and make the experience better for the end user.

It’s surprising, in a way, to see the resistance to AI when developers have historically embraced tools that make life easier. Code formatters, compilers, IDEs like VS Code, automated testing frameworks — all of these were once “new” but are now indispensable. AI is just the next step in that same tradition.

https://www.researchgate.net/publication/381609417_The_impact_of_GitHub_Copilot_on_developer_productivity_from_a_software_engineering_body_of_knowledge_perspective

https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai-in-2024

The best way to tackle the AI adoption journey is to start with a simple task that isn’t related to existing core skills or business use cases that will bias the users. The first task should focus on exploring the tool not seeing how well it fixes a problem compared to a developer.

Can I trust AI?

Not entirely — and that’s the point. Like I mentioned earlier, AI isn’t meant to do everything for you. Whether it’s writing code, drafting business requirements, or producing a thesis, you are still the gatekeeper.

AI depends on you to review, validate, and refine its output. Blindly copy-pasting text or deploying AI-generated code without oversight is a sure way to introduce mistakes — and those errors will eventually cause problems.

The right way to think about AI is as an assistant: powerful, fast, and capable of producing drafts or ideas you can build on. But the responsibility for accuracy, quality, and accountability ultimately stays with you.

Th best way to deal with this is to adopt a “Trust but verify mindset”

But AI generates so much more stuff than I ask it, it’s impossible for me to read every line of code/text. It feels like AI is just adding to my workload now.

The sheer volume of info it throws out is a clear example of how dumb AI can be. When you ask AI to write a business requirement document and suddenly get 20 pages of text, that is AI thinking “when in doubt throw the kitchen sink in too just in case”.

While this is a pain for a human reader it actually has its uses. Imagine if you asked AI to create a login and page and all you got was a textbox for user name and password and a button to submit. It did exactly what you asked but not exactly what you had in mind. AI reads between the lines and adds additional code for forgot password and logic to hide the password etc. This ability to read between the lines is a boon to catch use cases that you may have missed or saves you from having to type out each and every functionality one by one.

The reality is: AI doesn’t reduce the need for human judgment — it changes the kind of work you do. You shift from being a “writer” or “coder” to being an editor, reviewer, and decision-maker. The skill isn’t in asking AI for a complete solution and trusting it blindly, but in learning how to prompt it well, constrain its scope, and integrate it into workflows so it saves you effort instead of creating noise.

https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study

https://hbr.org/2025/09/ai-generated-workslop-is-destroying-productivity?ab=HP-latest-text-5

The best way to address this issue is to have the prompt be more specific and add clear scope so that the model doesn’t go on wild tangents.

I can code better than AI tools, it won’t help me as much

That might be true in many cases. Experienced developers often write cleaner, more reliable, and more context-aware code than AI tools do today. But when used right, AI can still surprise you — or at the very least, make routine, mundane tasks easier.

The real value isn’t always in “writing better code” but in reducing the repetitive overhead: boilerplate code, test case generation, documentation, or quick refactoring. Even if AI doesn’t outperform you on core logic, it can save time on the work you don’t actually want to spend energy on.

The best way to address this is if you treat it as a learning exercise.

Because once you know what the tool can do, you’ll inevitably start spotting opportunities to apply it. Developers are problem-solvers by nature — when we learn something new, we can’t help but look for places to implement it. Maybe not in your current project, but eventually you’ll find a situation where AI gives you leverage.

https://arxiv.org/abs/2504.20329

While AI might work 90% of the time, when it screws up its going to be big time. It’s not worth the risk.

It’s true that AI can (and does) make mistakes — sometimes very visible ones. But two things are worth noting:

  1. AI reliability has improved significantly. As models have matured, the probability of glaring errors has dropped compared to even a couple of years ago.
  2. Most errors come from missing context. AI isn’t a mind reader. If you provide vague requirements, you’ll often get vague or misleading results. On the other hand, clear, specific prompts usually yield much more reliable outcomes.

At the end of the day, the quality of AI’s results is strongly dictated by the quality of the input. Getting the basics right — providing precise context, double-checking outputs, and treating AI as a partner rather than an autopilot — can reduce the risk and multiply the rewards.

https://www.nature.com/articles/s41599-024-03811-x

I don’t code so why should I bother with AI

AI isn’t just for developers. It’s a tool that can be applied across the entire organization. The key is matching the right model or product to the right job role.

  • Marketing & Sales: AI can help generate campaign ideas, write social media copy, personalize customer emails, or analyze customer sentiment.
  • HR: It can assist with resume screening, drafting job descriptions, and even improving employee communications.
  • Finance: AI is used to automate reporting, detect anomalies in transactions, and forecast future trends.
  • Operations & Supply Chain: Teams use AI to optimize logistics, predict demand, and reduce inefficiencies.
  • Customer Support: Chatbots and AI assistants can handle FAQs, freeing human agents to solve complex issues.

There’s no “one-size-fits-all” AI tool. The value comes from choosing the right AI for the problem you’re solving. Whether you write code or not, AI can help you save time, cut down repetitive work, and focus on the parts of your job that require creativity and judgment.