As for the issue of "would-be enthusiastic employees becoming disengaged because their ideas are not given a fair-hearing", I do agree. This also affects communities, and even interpersonal relationships. There's hardly a better way to destroy someone's willingness to help if you keep hurting them at their most vulnerable period - when they're full of enthusiasm, and trying to contribute their best.
I unfortunately know it from personal experience, from way before I entered the job market. I've always been full of enthusiasm for stuff, but after few unfortunate episodes in my past, I find it hard to share that enthusiasm with people - especially those close to me. I like to think I'm making progress in fixing the damage, but the process is slow.
I think good programmers are good because they have good problem solving capabilities, and that's what can be applied to any area.
So, some programmers with good problem solving capabilities just genuinely want to help and fix some problems they see outside of their direct area of responsibility — the code. And when managers are not listening to them, basically thinking 'why you ask questions, you should code', it's quickly becomes obvious that the only way to win is not to play.
I for one am on a contract that's exactly as called out in the OP. Been on the job for 2 months (today), and have precisely one line of useful code contributed to the code base. Not for lack of trying; I've written a lot but its all been rejected out of hand for not being 'in process'.
I've responded by putting my head down, shutting up and doing literally what they ask - including moving that line of code between the half-dozen incompatible source bases repeatedly. I've shunned meetings, reduced my email to terse responses, and begun looking for another contract in every free minute.
You have a startup environment where I can move fast and deliver a feature a day? I'm your guy. But make me rebuild a Gb of shabby code over a slow link a dozen times because of thousands of poorly-written 'tests' that fail intermittently, I'm going to back away carefully and bow out.
Might be.
I'm not disagreeing with the article about how programmers can be completely discouraged by the treatment they (or you here) described. Maybe I shouldn't have jumped straight to ignoring the core point and commenting on everything else that the article said, that I believe exemplifies pathological issues that hurt the culture in the company.
We need a leader that can lead. Can enable the team to progress. Without asking them all to understand the details of the goals (business plan; budget negotiations etc).
Every single programming job I have had has required me to care enough about the product and the business to understand, interpret, and implement things that the business wanted but couldnt fully articulate.
That being said, if the business wants you to be both the business and the programmer, they have a broken system and are failing to manage properly
To be clear, that's stock with dividends and voting rights. Something like democratic control over the workplace would do wonders for morale. Then managers answer to the body of employees as a whole, not the "boss."
Are plenty of people happy with that kind of stake? Absolutely.
Do you need to get paid in stock to get paid well? No, in fact in many cases its gambling with market forces you simply cannot control.
I dont mean to say you should burn your life for a business, but if you simply dont care because "I am a programmer and I dont need to" imho your general effectiveness is going to be low, your skill progression isnt going to be fast, and your chance of getting hired somewhere with equity that isnt a shitshow is also low.
That "stake" is a product of how good the employer is relative to others, how hard it is to find another job and the job market for the position in general. I don't begrudge people for being happy with that. I am one of them. But a first order approximation of this "stake" can be summed up as "no stake."
Sounds like you should start a business.
Whether the parent poster should start a business is irrelevant to whether or not it's bullshit to ask/expect employees to be motivated as if they have a larger material stake in the business than they do.
What it does mean is that your stake is not directly 1:1 tied to the business success. This goes back to gambling, if you are the house and take money on every deal, you have a stake in deals continuing to happen.
You are right that your pay is based on many factors, and so would your equity.
So I disagree with your summation, and I think its improper to pretend that equity is the best way to get paid and to care about what you are building (especially when you believe in a product but risk is high.)
To your second point, you can argue (and I think successfully) that having more of a direct stake in a business will increase your personal investment, but that is literally the concept of ownership.
If you think the current practices are bullshit I do believe starting your own highly successful business is the correct approach; you get what you want and if you are successful enough, the industry will change behind you.
I did not say "you should work as if you have a greater investment than you do" during any part of my comments, simply that if you dont care about the product you will not produce quality work.
If someone isnt paying you what you are worth, you are not going to produce quality work.
Start a business... I've thought about it. If only it were so easy. Even if I did, that solves the problem for me, but not anyone else.
(Of course if one is deeply cynical about a business, one should consider changing jobs - but that's not always easy or possible; in fact, most people are in position where they need the money, whether they actually believe in their employer or not.)
I think its quite hard to do that for a long period though, if you truly dont believe in the product and are only working for the paycheck, apathy is going to set in fairly fast.
If you can find pieces of it you can be proud of and care about, you can maintain sanity.
Er, I suspect this would make it impossible to staff 90% of positions in programming. If I thought a business were exciting, I would be a specialist in that business, not in programming - or I'd be a very lousy 9-to-5 programmer, because my passion lies elsewhere.
Very few companies have the luxury of hiring passionate programmers who are also interested in making the business succeed; most of them just want their payroll system chugging along and someone to sort out their Excel when it breaks.
Well, of course. So a typical company with a boring business[0] shouldn't expect that people they hire will suddenly develop deep love towards the company and the business it's in.
> Very few companies have the luxury of hiring passionate programmers who are also interested in making the business succeed.
Exactly. Very few companies need that luxury, too. That's why I'm saying this article is an example of complaining about not getting more than one should be getting. When you hire someone to do the job right, you require them to do the job right[1]. Asking them to behave like a co-founder, except without equity and any decisionmaking capability, is a bit much.
--
[0] - I'm not saying "not important". Driving a garbage truck or managing payroll data are examples of jobs that are boring, that don't "change the world" by themselves, but are nonetheless very important - each instance of such a job is a crucial thing for a segment of society that benefits from it directly.
[1] - And in our industry, that does involve letting them run some of the show. When you hire an expensive specialist, you do that because they have the knowledge and experience you don't have (or don't have time to use yourself).
That might be the right trade off if the domain knowledge is a lot more valuable than the benefits of the newer tech, but it's still a trade off.
This is the last line in the article. So I am wondering what led to the conclusion that this article blames stuff on the programmer?
I'm seeing the same problem over on Reddit [0], I think that the problem is that the article buries the lede.
The entire first section is consistent with "blaming the programmer", and the title of the next section is "Why are some programmers such jerks?". That's probably where a lot of people just stopped.
[0] https://www.reddit.com/r/programming/comments/7gpt3n/how_you...
> His enthusiasm for changing the world is replaced with nit-picking the development process.
Here's your answer. It's because you hired the programmer based on technical competence and not their attitude to servitude in business.
You get what you measure. You didn't disqualify me as a candidate because I think your business is boring and I need the money. So don't be surprised that I'll be doing my job as effectively as possible - which involves lots of lone coding, unless your internal process is completely bonkers - but I ain't gonna drink the kool-aid. Want someone with a more "professional" attitude? Filter for that during the interview.
And that "changing the world" thing? That's just bullshit, and you're not fooling anyone past their teenage years with that. You're not SpaceX. You're not changing shit. Chances are, you're just trying to make money selling the usual butt CRUD everyone else is selling too. If you hire smart people, don't be surprised they know it's bullshit.
Programmers want to code because they're programmers. Chefs want to cook because they're chefs. That's what they do. This article only shows hiring laziness, coupled with usual complaining that the company isn't getting more than it asked for.
--
EDIT:
Ok, this article doesn't only show hiring laziness. The point about how vulnerable enthusiastic people are in the initial period is spot-on and I agree with it. I wrote the above comment because I believe that the article as a whole exemplifies additional lack of understanding of the perspective of programmers, which can lead to extra post-interview disappointment.