| I'm working at a startup's engineering & product team as an engineer. I think it's not fundamentally different from how most software engineers work. We work on: - The why: business/leadership, and to some extent, product determines key goals (KPIs, OKRs etc.) and markets we are addressing. Us engineers are only informed parties here. - The what: product, and to some extent, engineering determines which features to build or improve to attain these goals in a user-friendly and sustainable way. We create projects and design sketches, assign time constraints to them. - The how: engineering, and to some extent, product ships these features in a maintainable, scalable, performant and supportable way without disrupting existing user experience. A very large part of this work involves creative processes and logical reasoning about business, UX, software engineering problems. (Of course, that's why I love it :)) Only a tiny amount of this work is "writing boilerplate code" or copying code from Stackoverflow - which ChatGPT is presumed to automate. Of course, more senior engineers are faster at writing boilerplate, but their speed mostly comes from 1) knowing the existing codebase 2) using the right tools & abstractions. Moreover, most of the risk involved in the process is not the time taken to write boilerplate i.e. working on something for too long - but rather working on the wrong thing, or doing an implementation that's too slow or hard to maintain (change, test, fix, extend, reason about). All in all, when I think about software engineering from this perspective, I don't see AI automating it away anytime soon. I could, though imagine AI being your TDD coder companion. You write some unit or acceptance tests for a service module and the AI generates the code for it. You'd still need to thoroughly review and test the code though. This would work well for basic CRUD/boilerplate modules, but not for anything involving business logic. Nevertheless, this would still remain just a small part of a software engineer's work, in my opinion. What do you think? |