Hacker News new | ask | show | jobs
by angersock 3972 days ago
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?

2 comments

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.