What happens when programmers don't want to program
medium.com>> A shocking number of some of the best professional programmers I know aren’t interested in programming for the rest of their careers: 40+ hours a week for 40 more years. Sure, the high comp and benefits will keep a lot of them around for a while. But that doesn’t seem like a permanent solution, especially as we lose our most experienced engineers.
I feel myself growing weary of this field, but it's not because of the activity of writing code, but observing the same folly, again and again, at one company after another. And it's only getting worse.
To illustrate, when I worked a large corp, they had business analysts who knew the business, and actively engaged development. When I then went to medium/small companies, they typically had no business analysts, indeed no one who was capable of working with development to define projects and work out the edge cases.
Then seeing this formalized as 'agile' development were the developers become the business analyst, and devops where the developers become the sys admins, I wonder, what is it everyone else at these companies, what are they doing exactly?
what is it everyone else at these companies, what are they doing exactly?
Enhancing shareholder/VC value.
Oh, and making more money than us, and claiming credit for our hard work and understanding.
I have been programming fulltime for 30 years which is 3/4th of my life and I still find it magic. Although I now do a lot more management tasks, program standing, go on long walks or to the gym while crunching harder problems or when in need of creativity, I never stop feeling great when something I made works. It's why I recommend everyone to at least do some coding; it's often a great creative outlet.
When I am coding I forget everything and often I make too long hours. Not because I have to but because there is so much more to code; work coding, side project coding, hobby coding... I cannot see how I would ever start to dislike it.
By the way; if there is a shortage of coders (as the article says), how come the demand is not a bit more flexible as in allowing people to work from different locations? I know for instance there is a large demand in Silicon Valley while here (in Europe) many of friends, who would work quite a bit cheaper than the prices I see flying around there, sit idle. They just cannot or don't want to move.
>there is a shortage of coders
There's a shortage of companies that are flexible about paying higher salaries, offering remote work, and doing away with whiteboard interviews.
I consider myself to have a lot of mental stamina. I can focus for hours if I have to, and sometimes to job really requires it, e.g. you need to get something fixed for a customer. I don't consider this an unreasonable part of the job, but it takes a mental and physical toll that needs to be managed. As I get older (early 30's now) I expect to have less inclination and ability to do this kind of intense mental workout, and therefore move more towards management. My understand is that manual workers like builders tend to do a similar career transition.
I'm reading HN. So there's one data point.
I'm not gong to finish being a professional software engineer any time soon, but I can certainly see the end from here. Like, it's no longer inconceivable.
The basic problem is that developers want to grow and solve new and interesting problems--and at the very least, this billing of them as 'programmers' pretty much implies a mentality of factory assembly that doesn't fit.
It's the core structure companies and businesses that burn out/burn through developers, and until that changes, you'll keep losing talent.
It's not enough to pay us decently, though many don't do that. It's not enough to give us a direct stake in the revenues of a project, though almost nobody does. It's not enough to give us interesting problems to solve, though few even have those problems.
You've got to do all of those things.
We're collectively sick of solving problems that have been solved before, and also of self-inflicted problems that anybody with half a brain should've seen coming but biz wouldn't listen to tech.
We're sick of working with people that aren't clever and don't want to learn.
We're sick of making me-too apps because that's what gets funded.
We're sick of having to play catch-up on constantly evolving tech, made so by firms who are playing the VC moneyball game and who derive their profits from marketing and pushing tech that honestly is no great improvement on what's gone before and which may simply implode when the money dries up.
We're sick of dealing with and babying customers who literally do not understand the value we create for them, and for having a profession with social cachet only slightly above child molestor.
We're sick of being managed by people who by definition don't understand their business well enough to teach an idiot savant how to run it automatically (which is exactly our job description).
That's why we don't want to program anymore.
EDIT: Interesting on the downvotes...fat fingering things on mobile, or what?
I'm in full agreement and I've only been programming professional for about 2 1/2 years. Frankly, I'd rather work on some interdisciplinary problems like working on software related to bioinformatics. I had an interest in bioinformatics, but my university offered no undergraduate program nor any graduate studies on the matter. But right now, I'm stuck figuring out how to make flawed logic in a CRM not be so flawed without breaking the rest of the equally flawed logic that depends on it (oh joy). And I can't see any way out of my current situation. It just seems most companies are interested in easy problems they can try to patent rather than hard problems that could make them an f-ton of money.
I graduated 2 years ago from University of Memphis, and I don't know if it's still the case, but at the time they were offering free master's programs in bioinformatics for CS graduates.
There are also lots of problems that we are just not interested in solving. A lot of convoluted business logic that any sane person would just not want to muddy themselves with. It may be difficult, but it doesn't feel worth it.
This seems an apropos place to recycle a rant from Reddit:
[...] This happens when the managers/executives try to push the problem onto IT/engineering, blithely assuring everyone that "The New System" will somehow paper over and solve their org/process inconsistencies.
This means that the engineering teams gets requirements for one tool to handle the multiple teams' workflows and business-logic, stuff which nobody seems truly interested in harmonizing long-term. Thus your tool needs a fuckton of special-case logic and workarounds, leading it to become a monolith of spaghetti. Even if it started as a bunch of separate systems, they become slowly woven and pulled together by all special-case webservice calls and database state-sharing.
Then, after release, some people in suits spend a while patting each-other on the back, claiming to have materially improved "how we do things"... up until somebody wants to make a seemingly-simple change that conflicts with all of the other pick-up sticks.
P.S.: In a weird way, the implication that the programmers can fix those big issues is flattering, but it fades quickly as you realize:
1. You probably aren't actually being given the freedom/power to solve the real problem.
2. If you were to solve the real problem, the company would be underpaying you.
3. Even if the first two things cancel-out, the end-result is a PITA.
Worse is that a lot of that logic is just silly. There's no reason for it--this gets worse as you get closer to, say, regulatory issues.
Usually we end up paying the logistical debt racked up by some clever suit months or years prior.