Engineering Is About Solving Problems, Not Typing Code
Software engineering has never truly been about writing code.. it has always been about solving problems efficiently with the most effective tools available.. not necessarily the latest state-of-the-art tools, but those offering the best cost-to-impact ratio.
I sometimes hear the complaint that AI drains the joy out of software engineering, turning it into a dull, monotonous routine. There are two blind spots in that view:
- Craft vs. Delivery: You can still write code by hand for fun in your spare time. In a professional setting, however, the mandate is to ship correct, maintainable solutions reliably and efficiently. If an engineer can match modern tooling speeds unassisted, more power to them 🙂
- Reframing the “Fun”: Shifting away from manual typing doesn’t eliminate problem-solving -> it elevates it. While agents handle implementation tasks, engineers can direct their critical thinking toward system architecture, failure modes, and identifying the highest-leverage features for users.
I also hear engineers say that relying on AI makes them feel like they’ve lost their edge. I’ve felt that tension myself. The reality is that we are simply ascending the ladder of abstraction. The granular syntax and boilerplate that once occupied our working memory no longer need to sit in hot storage. That cognitive bandwidth can now be spent on high-level decision-making, which is precisely what determines the quality of agentic workflows.
This shift also reframes how we evaluate engineers. While Big Tech still relies heavily on algorithmic screening - largely because it scales cheaply and resists the cheating that plagues take-home tests - the practical value of DSA is shifting. The priority is no longer memorizing boilerplate syntax under a timer, but understanding system trade-offs, algorithmic constraints, and guiding AI tools toward sound architectural decisions. Tools evolve, but the core discipline remains the same.