Software developers are cynical about AI, specifically generative AI (GenAI) like ChatGPT, Claude, Grok, and Gemini. In talking to a variety of people outside of software the main response is basically, “what can AI do for me?” Within devs I see three broad categories:

  1. Skeptics who refuse to engage with AI
  2. Dabblers who have tested the waters
  3. Practitioners who treat AI as a turbocharger that can help with a variety of tasks

The Practitioners are reaping the rewards and will continue to improve.

Anti-AI Sentiments from Software Developers

Not all developers are against AI. In my experience, developers’ anti-AI sentiments stem from three main causes:

  • Overhyped
    • GenAI can be inaccurate. AI for coding has been hit or miss with many reporting generated code that does not work. Thousands of researchers and engineers are working to improve AI systems, from reducing costs to eliminating hallucinations to agentic systems that work through a process locally before sharing the results. These advances are improving accuracy, and benchmarks reflect those improvements.
    • Developers are more likely to understand AI than the average person and they are logical, so many developers find the marketing incorrect or unrealistic.
    • AI is a powerful tool, but it cannot do everything.
  • Threatening
    • Job security. We all want to believe that we are immune to the threat of AI, but AI reduces software job security. On the other hand, AI is also creating new jobs; for example, AI researchers and prompt engineers plus many more coming.
    • Takes the art out of software. Many developers enjoy the creative aspects of developing systems and AI assistants threaten to do all the fun stuff.
    • Could erode the industry, overall quality, and community
    • Advanced AI/ML can be intimidating. While devs may know the basics of AI, there is a huge gap between understanding the basics and training the advanced models.
  • Dubious ethics and unease about usage
    • People naturally fear what they do not know. Large Language Models (LLMs) and generative AI (GenAI) are new to the masses and it will take time for knowledge to spread.
    • AI is potentially biased, insecure, and dangerous. Many feel that AI is currently operating in an unchecked and unregulated way, which makes them uneasy.
    • Many feel equality is low and AI will further advantage the wealthy, rather than be a force for good.
    • Will AI regress coding knowledge? For example, could an overreliance on AI atrophy our collective problem solving abilities and harm human self-sufficience?

Get on the AI Bus

I encourage everyone to get on the AI bus and go further faster.

Embrace the AI revolution to accelerate your development workflow.

By not exploring and adopting the technology, you risk losing out on many benefits. For me the top benefits are

  • Increased productivity: AI can help with virtually everything, saving you time when applied correctly.
  • Reduced tedium: AI assistants can handle boring tasks without complaint.
  • Improved code quality: all new code can be reviewed quickly by the equivalent of a very learned junior developer, which will increase the use of design principles and adherence to best practices.
  • Enhanced problem solving: we now have access to an extremely well-read, patient oracle that is willing to talk about anything.

Applying AI to Your Daily Life

AI can complete a wide range of tasks right now. Below is a short list of concrete ideas with very basic prompts.

  • Review and critique code
    • Get a mid-level code review without bugging your peers – critique the following code
    • Find bugs, security holes, and performance issues – help identify bugs in this method
  • Generate basic scaffolding. Note: It will likely need tweaking; however, this is already the case with adapting code from books and blogs
    • Code – scaffold a responsive blog home page
    • Tests – create a test suite for this class
  • Write commit messages and pull request descriptions – summarize these changes as a commit message
  • Write documentation – document this method
  • Generate diagrams; for example, flow diagrams or entity relationship diagrams (ERD) – generate an entity relationship diagram for this relational schema
  • Create icons and images – create an image of a van with AI badging
  • Act as a sounding board for help with design, coding, debugging, scheduling, etc – help me brainstorm architecture ideas for a horizontally scalable authentication service backed by a relational database
  • Get personalized learning suggestions – I took data structures and algorithms in college years ago, what are more advanced topics to learn?
  • Convert to a language you know – rewrite the following Java code into idiomatic Python

Overall, AI is a powerful tool to expand your knowledge and multiply your productivity. It is not a replacement for critical thinking. As with previous tools like books, blogs, and Q&A sites, you should understand the examples rather than blindly copy/pasting or parrotting something you do not understand.

Here’s to the future! 😎