The reason IMO is that true software engineering hasn’t been about producing code. It’s about solving problems by building maintainable systems. The best software engineers don’t only build for the feature, they build for the extensibility, maintainability, and scalability of the feature. That is the art of engineering software that I think we can still take pride in even during this AI era.
I looked at the tasks of previous 3 months, and most of them can be divided into 3 catalogs:
1. Scoping tickets — gathering requirements. We don’t have any AI chatbots so I don’t know how AI fairs. However, this is also the least interesting and most frustrating part of the work, so ironically I’d rather AI takes over.
2. Small new features or incremental improvements on old features — arguably AI can perform pretty much all of the tasks in this catalog. Some of my colleagues are literally checking in vibe coded PR without any review, and so far we have been fine. I still code by hand sometimes just because I like it. But half of my code is done by AI nowadays.
3. Debugging issues. There are two types of issues, business logic issues or system issues. The first type is boring and frustrating because it usually ends up with clarifying requirements with humans. AI is surprisingly good at pointing out where the issues could be. The second type is more interesting, e.g. Spark issues. AI is way better than anyone in the team for this type of issues, probably because there are so much similar problems in the training material. I’d read through pages after pages of system logs, just for fun, but sometimes I still needed AI for a quick diagnose.
I don’t see AI replacing myself ATM, but I do think it is very likely that companies will no longer need this many programmers in the near future. I also see that smaller companies, like ours, will no longer hire junior programmers (we haven’t for two years, and we have 250+ people so not that small).
For people who just feed agents I would use the title: trainer.
Since there's no statutory legal liability for the product of one's work, nor state licensure, the term Engineer isn't appropriate, and never has been. (But that's a pet peeve of mine, apparently not shared by the majority here)
I've always liked that term and it's more fitting than ever.
i think it’s going to be a mix of product design and maybe a mix of sales/marketing/etc. involved so that engineers can steer the ai to a solution.