“Did I say ‘we want it to do this OR that?’ I meant we wanted it to do this ‘AND’ that!” 🤦♂️
I’ll do you one better. The hardest part of making crap people like is the damn people. I have been a product manager for a decade and I can confidently say if I deliver exactly what the customer asks for I would be an utter failure. Requirements and software that fulfill what a customer says they want will ultimately lead to them asking for something they previously didn’t realize because it actually turns out they have no idea what they want, have an agenda, or the conditions have shifted from under you and what they said no longer holds water.
I could go on a tirade about this but my two cents is you gotta listen to what everyone says, but assume they are a human at the end of the day. It’s too damn easy for me to suck up dev time with what people want. Hell, just one word can keep a dev team busy for a long time. Internationalization! Boo!
I also need to build an environment where the dev team doesn’t despise the business due to a history of constantly shifting goalposts, borderline abusive metrics, and expectations that just create a battered development team. For some reason hiring a PM aligns with an org hitting the point where the original dev team has lost critical members because of terrible burnout and a culture of blaming people and not process. Takes a lot of therapeutic communication to remedy that.
TLDR; People. People are the reason all things are difficult.
I’m almost 40 and very slowly educating myself toward a CS degree outside of work. I feel like I’m so far behind you guys that my only way into the tech industry with decent compensation (>100k) to match my current position will be through my management history, soft skills, and general understanding of people. My current position is very much a diplomat between the people getting the work done and the the people who want it done (then helping to get it done). Your post is very relatable even though I’m in a different industry. It gives me a little hope that some of my skills are transferrable even without a paper on the wall.
As you age, soft skills become way more important IMO. It’s almost impossible to keep up with the changing technology landscape, and while you could theoretically become an expert in some tech that never goes away (hello Cobol), eventually it will become obsolete and you’re left with no marketable skills.
And while some people are lifelong learners (I am), learning new programming languages over and over again gets old at some point. So transitioning into more of a people’s role (like management) it’s a good move when you get older.
And if AI keeps getting better at coding, some programming jobs could be in danger of automation, so it’s also a safety net for that scenario.
It’s coming with names
it’s the fucking humans
I think AI isn’t going to replace the upper level of programmers, but I do believe the absolute number of programmers will drop as AI completes more and more of the labor involved in coding.
A lot of entry level jobs just won’t exist anymore, because the AI will do the typing work while a small number of people manage the AI.
And this will apply to pretty much all white collar work - at least that’s my prediction.
I believe that besides blue collar jobs, AI will practically eradicate the middle class, and sadly there won’t be a UBI to pick up the slack. But maybe I’m just too damn cynical.
I think that’s assuming a relatively consistent level of scope, but the scope will just get bigger. How big is your feature backlog? Will you be able to easily get through it even with the help of AI? How big will your feature backlog get if implementation friction is lowered?
Honestly all the claimed use cases of generative AI for coding are much more easily fulfilled with normal tools. You can’t perform mass refactorings with them because you need to manually check their output or prove that the code they’re generating is correct, they can’t generate code that well unless your domain is well documented online, which isnt the case for most companies.
There are places that generative AI will replace workers, especially in art, which makes it all the more important to ensure that whoever has their work used in training data is fairly compensated for their work is generating for the AI company. For programming however, I personally don’t see a ton of value in what exists today at least.
But those people don’t need to be programmers.
The reality is, that most software is complex, but trivial. It’s s bunch of requirements, but there’s no magic behind it. An AI that can turn a written text containing the requirements into a decently running program will replace tons of developers.
And since a future AI, that’s actually trained to do software, won’t have problem juggling 300 requirements at once (like humans have), it’s relatively easy to trust the result.
it’s relatively easy to trust the result.
… just as easy as taking the responsibility for it if it fails?