7 ms·
Programmers tend to think that programming is the most important part of making software. However, managers think that managing is the most important part of ma
by lmkg 14y ago
Programmers tend to think that programming is the most important part of making software. However, managers think that managing is the most important part of making software, and business analysts think that defining business requirements is the most important part of making software. Asking a room of programmers about the value of business analysts is going to result in feedback that is heavily biased. As you say, we've invented a narrative of moral superiority, and it's a seductive one.
I suspect programmers are less correct in their assumption than they would like to believe. Probably more correct than the other two groups of employees, but still less than correct. The sad fact is, most programmers (especially non-entrepreneurs) don't "get" what PM's and BA's do, the same way that most managers don't "get" what programmers do, but their role still provides value (if they're good at their job). The nature of their job often involves filtering crap for their programmers, so the better job they're doing, the more invisible they look.
The value PM's provide is enabling specialization of labor. They act as the interface between business stuff and tech stuff--translating business requirements to tech requirements for their programmers, and tech trade-offs into business trade-off for their stakeholders. It's something that programmers can do themselves (especially entrepreneurial ones), but taking that work off their plate lets them focus on technical matters.
Of course, the above is a perfect world, which is about as common as the mythical sufficiently-smart compiler. Which is to say, it never exists and never will. Nonetheless, there are such things as PM's that provide value. My experience is that ones with non-negative value are about one-in-four, ones with measurably positive value are less than one-in-ten, and if you find one you should pay what it takes to keep them around. YMMV.
----
That said, there are reasons why PM's are paid more than their value more often than programmers are. I agree with the majority of these, but I'm restricting my contributions to the portions of my opinions which aren't echoed throughout this thread.
- flatline3 14y ago> Programmers tend to think that programming is the most important part of making software. However, managers think that managing is the most important part of making software, and business analysts think that defining business requirements is the most important part of making software. Asking a room of programmers about the value of business analysts is going to result in feedback that is heavily biased. As you say, we've invented a narrative of moral superiority, and it's a seductive one. This is all true. However, you forgot this additional piece: Managers and business analysts generally sit higher in the organizational chart than programmers, and thus have an advantage when negotiating salaries, presenting the programmer's relative value to the rest of the organization, etc. > The value PM's provide is enabling specialization of labor. They act as the interface between business stuff and tech stuff--translating business requirements to tech requirements for their programmers, and tech trade-offs into business trade-off for their stakeholders. It's something that programmers can do themselves (especially entrepreneurial ones), but taking that work off their plate lets them focus on technical matters. However, many would argue that translating abstract business requirements into technical requirements is a technical matter. That said, the notion that programmers always make less is not universally true, and many organizations are more sane about paying commiserate with value generated.
- heretohelp 14y agocommensurate To commiserate is to share in someone's kvetching.
- flatline3 14y agoThanks.
- mgkimsal 14y ago"Programmers tend to think that programming is the most important part of making software. However, managers think that managing is the most important part of making software, and business analysts think that defining business requirements is the most important part of making software. Asking a room of programmers about the value of business analysts is going to result in feedback that is heavily biased. As you say, we've invented a narrative of moral superiority, and it's a seductive one." I think I thought that way about 15 years ago or so, but by 10 years ago I realized that ... almost without exception, I can get the tech stuff done. Of course, I'd like to do it myself, but I can get others smarter than me at XYZ to do the tech stuff. While the tech stuff is sometimes hard, it's almost universally doable. Have you ever had a project fail because you didn't know how to write to a file, take data input or query a database? I bet not. But... we've all had projects that failed because none of the people involved could accurately communicate what needed to be done (and in some cases, establish reasonable timelines for those needs). Communication is key, and PM/BA types are generally better at it than typical developer types. There are always exceptions, but the PM/BA types are perceived to be better at it, often because they're controlling the communication, almost by definition of their role. So, while everyone thinks their part is the most important, they're pretty much all equally important, but the PM/BAs tend to be more visible on projects, rightly or wrongly.
- Swizec 14y agoI've had projects fail because we couldn't get the core algorithms working ... Hell, most of my interesting failures so far have been "Okay, so computers can't do X (yet), or I'm too stupid to figure it out and don't know anyone smart enough to solve X" A lot of my projects would sell like hotcakes, once someone figures out a practical implementation, or at least an impractical one.
- mgkimsal 14y agoI'd thought about that angle, and I've known a couple of those myself over the years (mostly second hand). But even in the cases I've seen, things might have gone much smoother had there been stronger communication about the specifics and what was (and was not) possible much earlier. As soon as things look to be not possible, tell someone. If you're able to pull a rabbit out of a hat later on, great, but let people know that real hard limits (algorithm, processing speed, etc) are being hit. sometimes what someone was indicating was a hard requirement turns out to be a 'oh, it'd be nice to have that, let's move on' sort of thing. So, while I get your point, I think overall there's still things people can do wrt communication even when there are fundamentally tech issues at stake.
- systems 14y agoProgramming is the most important part of making software, programmers are right ... I am systems analyst
- vacri 14y agoIn today's economically rationalised world, almost every position in a company is important. If it wasn't, they wouldn't pay for it. Saying who is more important to the process is somewhat meaningless - wages are generally aligned to how difficult it is to replace a person's skillset.
- slurgfest 14y agoThe core activity of a band is making music. The bottom line can be helped a lot by marketing. Other roles may be very important to allow the musicians to focus. Sometimes musicians need to be kept sober or made to practice more, with which others can help. So other people can make value in a band and deserve to get paid. But take away the musicians, and you have absolutely nothing. Plenty of people have made good music without lots of managers over them. In that specific sense, musicians are the most important part of a band.
- vacri 14y agoI think that's a flawed analogy, because the band is set up to sell the specific art of the musicians. Software companies are set up to provide a product using the craft of the programmers. It's a lot easier to keep the same flavour in your product if you have to replace a lead programmer instead of a lead singer. Programmers in companies don't do the equivalent of "I'm going to change tack and do a blues album this time".
- jrockway 14y agoAsking a room of programmers about the value of business analysts is going to result in feedback that is heavily biased. We need not rely upon opinions here, we can be objective instead. Let's ask how many business analysts without programming skills have made working software. Similarly, let's ask the same of the managers. And finally, let's ask programmers without any managerial or business skills how many pieces of software they've made. My guess is that the numbers are 0, 0, and a lot. That's because programming is necessary to write software, whereas management and business analysis is only "nice to have". There is lots of great software that was not crafted by managers or analysts; Linux, Emacs, Google search, Facebook, and so on. Most of the stuff designed by product managers is one-off software that will have made no impact other than paying the team's salary for a while.
- sopooneo 14y agoBut in business you have to sell not just make.
- wtvanhest 14y agoThat's because programming is necessary to write software, whereas management and business analysis is only "nice to have". That is an interesting philosophy, but it has never been true in real life. Every major corporation in the world has added business analysts and PMs. Even the great technology companies you mention have many, many business analysts. I love finding exceptions to rules, but I can't find an exception to the rule that if you want to accomplish truly great things with your company, you will eventually add business analysts and PMs. Small companies will realize that the value of having a marketing professional over a "growth hacker" is when the marketing professional can call a major company and negotiate an ad deal due to their experience doing so. Or when a finance professional can help hammer out terms of a new round of debt financing that allow the company to grow without giving up equity etc. As a business professional, I understand that hackers have value, but I also understand that even HR people have value. Just because I don't know all the value they have, does not mean it doesn't exist.
- demian 14y ago
- blantonl 14y agoThe value PM's provide is enabling specialization of labor. This right here should have been the top rated comment on StackExchange. And, everything else the parent said is dead on.
- CodeMage 14y agoFWIW, I think the question should have been "Why do bad PMs/BAs frequently get paid more than good programmers?" As far as I can tell, that question has traditionally been our motivation for inventing "a narrative of moral superiority". When you're faced with an ugly truth such as "it sucks that the world is not fair", you need something to make you feel better about it. That "something" is usually along the lines of "Yeah, but I am a better person!"