All articles
RESOURCES21 November 2025Rue Johnson

How Engineering Has Changed

What stayed the same, what shifted, and what AI actually changed about the practice of software engineering, from our perspective in the field.

ResourcesEngineeringAIIndustry
How Engineering Has Changed

How Engineering Has Changed

The constants, the shifts, and the AI effect

What Has Not Changed:

Before talking about what is different, it is worth grounding in what stayed the same. Software engineering is still fundamentally about managing complexity. The languages and frameworks change, but the core challenge remains: break a large problem into smaller problems, solve each one, compose the solutions, and maintain the result over time. Reading code is still harder than writing it. Naming things is still one of the hardest parts. The best engineers still spend more time understanding the problem than writing the solution. Debugging still requires patience, systematic thinking, and the willingness to question your own assumptions.

The fundamentals that mattered in 2005 still matter: understanding data structures, knowing how to design a clean API, writing code that other people can read and modify, testing your assumptions, and communicating clearly with your team. We have seen trends come and go (remember when everything needed to be a microservice?), but the engineers who build lasting careers are the ones who invest in fundamentals rather than chasing every new framework. At MajorLinkx, we hire for problem-solving ability and communication skills because those translate across any stack.

From Waterfall to Agile to Whatever We Are Doing Now:

The process evolution is real but overstated. Waterfall (define everything upfront, build it all, ship it once) dominated through the 1990s and early 2000s. Agile emerged as a correction: shorter cycles, continuous feedback, working software over comprehensive documentation. The problem is that most organizations adopted the ceremonies (standups, sprints, retrospectives) without adopting the principles (responding to change, individuals and interactions, working software). What we see in practice now is a mix: some teams run disciplined two-week sprints, others do continuous deployment with feature flags, and many are somewhere between structured iteration and organized chaos.

The meaningful shift was not the process methodology itself but the infrastructure that enabled faster iteration. Version control moved from SVN to Git, which made branching and collaboration fundamentally easier. Cloud computing (AWS launched EC2 in 2006) eliminated the months-long server procurement cycle. CI/CD pipelines automated testing and deployment, reducing the cost of shipping changes from days to minutes. Containerization (Docker, then Kubernetes) standardized how applications are packaged and deployed. Each of these changes reduced the friction of releasing software, which made iterative development practical rather than aspirational.

The AI Effect on Day-to-Day Engineering:

AI-assisted development is the most significant shift in engineering workflow since the move to cloud infrastructure. Our team's daily experience has changed concretely: code generation handles boilerplate and repetitive patterns that used to eat hours. Test generation from existing code accelerates coverage. Refactoring across large codebases that would have taken days now takes hours with AI assistance. Code review gets a first pass from AI before human review, catching style issues and obvious bugs early. Documentation generation from code comments and function signatures saves writing time.

What AI has not changed is the need for engineering judgment. The code an AI generates is only as good as the prompt and the review it receives. We have caught subtle bugs in AI-generated code that would have passed a casual review: incorrect error handling, edge cases not covered, performance patterns that work at small scale but degrade under load. The engineers who get the most value from AI tools are the ones who already know how to write good code, because they can evaluate the output critically. Junior engineers using AI without strong fundamentals tend to ship code they cannot debug when it breaks.

What MajorLinkx Sees Ahead:

The role of the engineer is shifting from primary code author to architect, reviewer, and system thinker. Writing code from scratch is becoming a smaller percentage of the job; designing systems, reviewing AI-generated code, debugging complex interactions, and making architectural decisions are becoming larger percentages. This does not mean engineers are less important. It means the skills that differentiate a strong engineer are moving up the abstraction ladder: system design, failure mode analysis, performance reasoning, and the ability to decompose ambiguous problems into concrete technical plans.

We expect the next two years to bring further consolidation in AI tooling, better integration between AI assistants and development environments, and a growing divide between teams that adopt AI-assisted workflows effectively and those that resist or misuse them. The engineers and organizations that will thrive are the ones treating AI as a power tool, not a replacement: something that amplifies the capability of a skilled practitioner. Our investment is in building engineering teams where every member has strong fundamentals and uses AI tooling to multiply their output, not to substitute for understanding.