Unsupervised Thoughts

Developers in the age of AI

Written on

They took er jobs!

I heard the term "Full-Breadth Developers" on a episode of Changelog this morning. While I agree with everything Justin says in his post I have a, perhaps controversial take on new terms that are popping up for developers these days. Software developers today are just what they were when I began writing code in the 90s, developers. We just have new, extremely powerful tools to assist.

Over my career I have seen the titles evolve from software developer to software engineer to web developer, then full-stack developer + front-end developer and the list goes on. I've never really understood the industry's fascination with rebranding job titles when new tools come out. I have to wonder if people had these thoughts when we switched from punch cards to assembly, then to higher level languages. It seems the term "developer" stuck for 40-50 years nearly untouched. The outcome after each of these evolutions has been continued employment for competent software developers that are willing to evolve with the times, learn new tools, languages and adopt along side the industry. Sure if you refused to give up COBOL there likely aren't a lot of job prospects for you today. A lot of COBOL developers had full, profitable careers and retired happily, they even got a little bump in opportunity during Y2K.

The hype around AI these days is dizzying and I can completely understand the anxiety of people who write code for a living. When CEOs are making bold claims with little consideration for the impact to their employees it's a stressful period for many people. It's not time to throw in the towel and start looking for a new career because AI is going to replace humans though. It's time to evolve, adopt, stay curious and learn a new set of tools that are more powerful than any previous technology change we have ever experienced.

Like many developers I started experimenting with generating a bit of code in web UIs, cut and pasting into vi, manually adding to my project and my productivity went up. Then I installed Claude code and took it for a test drive. Productivity took off like a rocket! I was almost giddy with excitement the first time I asked Claude code to read my project, summarize it in a CLAUDE.md file and I watched it start spinning as it explained to me step-by-step what it was doing and asked permission to run commands and write files. Then I asked it to implement at small change and watched with wonder as it "just worked". The feeling I had at the time wasn't "this is going to replace people" it was "this is going to make people thousands of times more productive". Justin says it well in his "post" when talking about the future for people with both technical and product abilities "What makes me so sure? Because over the past few months, the engineers I know with a lick of product or business sense have been absolutely scorching through backlogs at a dizzying pace."

It's not lost on me the types of problems this evolution is going to introduce or the security risks it presents. There's ways to address these risks and we will learn from the early failures as we have in the past. I'm extremely optimistic that qualified, competent software developers with the ability to learn are going to succeed in the long run. If you aren't curious or can't learn new tools and languages this IT probably isn't a good career choice at the pace things change these days. The largest struggle seems to be filtering out what is the over-hyped flavour of the day and what is worth learning because it's going to stay around long enough to be a valuable skill set.

So regardless of what we choose to call developers this week to me people that are able to understand machines, modern architectures, tools and programming language are just what they were yesterday. Yes we'll have to adapt quickly and yes AI is going to be a titanic change in how we work but the net outcome should be positive. Learn the tools, learn how to use them safely and evolve.

Keep calm and code on.

Let's get ChatGPT to summarize for us so I can add some AI slop to this posting.

Prompt: Can you explain the evolution of names for sofware developers over the years from when we programmed with punch cards to softwware developers, to software engineers, to full stack developers, to front end developers with some years around when these terms arose?

Evolution of Software Developer Titles

The naming of software development roles has evolved alongside technology, industry maturity, and job specialization. Below is a historical timeline and explanation of common titles from the 1950s to today.


1950s–1960s: Programmers & Coders

Common Titles: - Programmer - Coder - Computer Programmer - Systems Programmer - Application Programmer

Context: - Programming done by mathematicians, engineers, and hobbyists. - Languages: Assembly, machine code, early compiled languages (Fortran, COBOL). - Input: Punch cards, tape.

Milestones: - 1957: FORTRAN released - 1959: COBOL introduced


1970s: Systems Analysts & Software Developers

Common Titles: - Programmer/Analyst - Systems Analyst - Software Developer

Context: - Rise of formal software development for businesses and governments. - Developers began designing and building systems. - "Software Developer" term emerges.

Milestones: - Rise of Unix and C programming - Structured programming methodologies


1980s: Software Engineers & Application Developers

Common Titles: - Software Engineer - Application Developer - Systems Engineer

Context: - Emphasis on design principles and software architecture. - "Software Engineer" gains traction in industry and academia.

Milestones: - 1983: GNU Project starts - 1985: Microsoft Windows released - Rise of object-oriented programming (C++, Smalltalk)


1990s: Web Developers Emerge

Common Titles: - Software Engineer - Application Developer - Web Developer - Database Developer

Context: - Web boom introduces Web Developers. - Separation of front-end (HTML/JavaScript) and back-end (server-side) work.

Milestones: - 1995: Java and JavaScript released - LAMP stack (Linux, Apache, MySQL, PHP/Perl/Python) gains popularity


2000s: Full-Stack Developers & Front-End Specialists

Common Titles: - Full-Stack Developer - Front-End Developer - Back-End Developer - Software Engineer

Context: - Specialization in web development roles. - Startups popularize "full-stack" developers (~2008–2012).

Milestones: - 2004: Ruby on Rails popularizes full-stack frameworks - 2009: Node.js released - Angular, React, and Vue define modern front-end


2010s–2020s: Cloud, DevOps, and Product Engineering

Expanded Titles: - DevOps Engineer - Cloud Engineer - Mobile Developer - Machine Learning Engineer - Data Engineer - Site Reliability Engineer (SRE) - Platform Engineer

Context: - Distributed systems, CI/CD automation, cloud platforms, and AI introduce new roles. - "Software Engineer" becomes standard in large tech companies.

Milestones: - Growth of AWS, Azure, and GCP - Widespread adoption of DevOps practices - AI/ML integration into products


Summary of Key Terms & Periods

Era Common Terms Approx. Start Notes
1950s–60s Programmer, Coder, Systems Programmer ~1950s Mainframe era, punch cards
1970s Systems Analyst, Software Developer ~1970s Design + build systems, "developer" term
1980s Software Engineer, Application Developer ~1980 Formalization of engineering principles
1990s Web Developer, Software Engineer ~1995 Start of web specialization
2000s Front-End, Back-End, Full-Stack Developer ~2005 Rise of web frameworks, specialization
2010s–2020s Cloud Engineer, DevOps, SRE, ML Engineer, etc. ~2010 Cloud & AI specialization, platform focus

Today’s Landscape

  • Software Engineer: Catch-all term in many companies.
  • Common Specializations:
  • Front-End Engineer
  • Back-End Engineer
  • Full-Stack Developer
  • Embedded Systems Developer
  • Game Developer
  • ML Engineer
  • Security Engineer

Prompt: Will there be future employment for software developers?

Future Employment for Software Developers

Why Software Development Will Still Be Needed

1. Continuous Creation of New Software

  • New technologies (AI, AR/VR, quantum computing) constantly emerge, needing custom software.
  • Industries digitizing operations: healthcare, education, government, construction, etc.
  • Demand for automation and workflow optimization.

2. Software Maintenance & Legacy Systems

  • Most business-critical software runs on aging systems that require maintenance and modernization.
  • Legacy systems (COBOL, Java, .NET) still run banks, airlines, and governments.

3. Cybersecurity, Privacy, and Compliance

  • The need for secure, compliant systems is growing faster than we can meet it.
  • Software must be designed and updated to meet evolving threats and regulations.

4. AI and Automation Still Need Developers

  • AI can assist but doesn't fully replace developers.
  • Developers will increasingly build, fine-tune, and integrate AI tools into products.

🛠️ How the Work Will Change

Past/Present Future Trends
Writing code line-by-line Assembling AI-generated components
Manual testing Automated and AI-driven testing
Building apps from scratch Integrating with platforms and low-code/AI tools
General-purpose coding Specialization in domain knowledge (e.g., healthcare, fintech)
Infrastructure management Automated, cloud-native, Infrastructure-as-Code

🔥 Areas of Strong Future Demand

  • AI software & ML engineering
  • Cybersecurity software
  • Cloud-native development (Kubernetes, serverless, edge computing)
  • Data engineering and processing pipelines
  • Embedded and IoT development
  • AR/VR and 3D applications
  • Healthcare, energy, and fintech software modernization

⚡️ What Might Decline

Some routine coding tasks will be automated by AI tools (e.g., GitHub Copilot, ChatGPT, Replit AI), particularly in: - Simple CRUD applications - UI scaffolding - Boilerplate code generation

Developers who only do basic implementation work without understanding the architecture, product needs, or the business domain may find it harder to stay relevant.

📈 Bottom Line

✔️ Yes, there will be future employment, but developers should:

  • Stay up to date with cloud, AI, and cybersecurity skills
  • Learn how to work with and leverage AI coding assistants
  • Gain domain expertise in industries they support
  • Focus on solving problems, not just writing code