The hard part of software development is not the coding. The hard part is coming up with something actionable, reasonably well defined, internally consistent and technically possible from limited bits and pieces of information, more often than not all of them vague and contradictory; and they change if you ask the same stakeholder again a day later.
I don’t see that part getting replaced by AI any time soon.
Most of my career was spent working for small shops that provided custom software for small-ish clients. The absolute number one skillset required was the ability to talk to clients, understand their business and figure out what they needed the software to actually do. Not only are these skills not taught in Computer Science programs, it’s never even suggested that you might possibly need them at some point in your career. In my opinion, this is why CS types cling so tenaciously to a rigid division of labor in software development: they want somebody else to do this and then hand them a well-written requirements document.
Important distinction is “Computer Science”. My degree is “Software Engineer” and project management was a significant part of the program. We had a junior group project that started with our class doing a client interview of the teacher to extract what the project requirements where. I think a lot of people don’t know that software engineer programs are even an option.
The hard part of software development is not the coding. The hard part is coming up with something actionable, reasonably well defined, internally consistent and technically possible from limited bits and pieces of information, more often than not all of them vague and contradictory; and they change if you ask the same stakeholder again a day later.
I don’t see that part getting replaced by AI any time soon.
Most of my career was spent working for small shops that provided custom software for small-ish clients. The absolute number one skillset required was the ability to talk to clients, understand their business and figure out what they needed the software to actually do. Not only are these skills not taught in Computer Science programs, it’s never even suggested that you might possibly need them at some point in your career. In my opinion, this is why CS types cling so tenaciously to a rigid division of labor in software development: they want somebody else to do this and then hand them a well-written requirements document.
Important distinction is “Computer Science”. My degree is “Software Engineer” and project management was a significant part of the program. We had a junior group project that started with our class doing a client interview of the teacher to extract what the project requirements where. I think a lot of people don’t know that software engineer programs are even an option.
It’s nice to see academia adapting (somewhat) to the work environment, even if it took a few decades.
deleted by creator
Neither does my boss, he’s not completely delusional. He’s a dev himself. He’s just the normal amount of technooptimist delusional, luckily