Comment by zdragnar
3 hours ago
Two points of disagreement:
"Code monkey" absolutely was and still is a thing. I was hired by Big Name Co originally to be staff but a reorg had me do typical senior position duties for around a year, and it was hell. Every decision was made over our heads, feedback was unwelcome because the feature had already gone through design and gotten layers of sign-offs from different areas of the org, etc. My sole purpose was to write code and review peer code. Staying there a full year was way too much.
Second point, requirements analysis is hard because:
* Different stakeholders have conflicting goals, sometimes mutually exclusive * Some stakeholders have ideas that are actively harmful to users, and you must flex political capital to nip it in the bud * Some stakeholders think they know what they want with a far greater degree of clarity than they actually do, and lack the time to sit down and suss out the nuances, because you're a side-show in the grander scheme of their own priorities.
Writing code is a heck of a lot easier than dealing with people at the edges.
Those are good points, but that mostly comes down to lack of organizational status or office politics etc. which is independent of capability level and largely orthogonal to whether it's a human programmer or an AI agent. Unless you are redefining "software engineer" to be more like a political operator. But that goes for any human group and any job. And anyway after a certain level, not providing the senior engineers and or project managers with sufficient political sway to realize projects goals is a management failure. Unless again you are defining software engineer as someone who is a master social manipulator in the context of their job.
A big part of an engineering performing requirements analysis is owning the technical understanding of the requirements and identifying areas where the requirements are not technically feasible, can be done with less expense with adjustments, or can be better achieved with a different solution.
AI will help you draft the communication of that knowledge, but it won't help you actually deliver the knowledge or ensure that the knowledge was appropriately received. As you say, it is a fundamentally human problem, which is why I maintain that writing code is easier.