8 ms·
After 17 years of development and 8 years of management I've come to the conclusion that developers are delusional about the relative importance of their role.
by fghfghfghfghfgh 5y ago
After 17 years of development and 8 years of management I've come to the conclusion that developers are delusional about the relative importance of their role. I shall be the first to admit that - I used to be one myself.
Your run of the mile non-technical manager sure is not very good at understanding the intricate complexity of all the moving parts of creating software.
Developers on the other hand appears blind to the fact that they play only a minor role in the bigger picture. While technology is difficult it pales in comparison to orchestrating people across sales, strategy, business transformation, creative, development, QA, operations and infrastructure.
That's just the horizontal alignment. In a single entity. In a single timezone. With a single vendor. A scenario which never happens because in real life you have at least 3 levels of technical management, multiple divisions/departments involved, spread across continents and multiple vendors participating.
You need competent people to align, coordinate, communicate and pick up the stuff which falls through the cracks. Developers are not good at this work.
You need a manager. And of course they must be competent.
EDIT: I don't actually think developers are delusional. I worded the phrase to mirror the absolutism of the statement "I've come to the conclusion that software managers are not needed" which is just plain silly.
- waheoo 5y agoI think you're both right. Management is 100% required. What the ap is missing is that good management is almost invisible to the IC and only shows up when you need them.
- granshaw 5y agoThis is all true, but reads more like a PM-type role, which is absolutely critical. I understood GP's point as more directed towards "pure Eng. manager" type positions, often when there's also already a PM present. And I've witnessed first hand how his criticism rings true in that case.
- swader999 5y agoYeah technical pm or a pm that understands the business deeply are critical.
- swader999 5y agoThis is true but I've also seen developers add ten percent more revenue to an organization on a rewrite of an existing billing system and it wasn't due to any insights from management. It was many conversations with key business users and developers. Management knew enough to step back and loosen the reigns. Everyone can make a huge difference on a project, and a team of non hero's that just care about learning the business and the craft can deliver greatness.
- ixs 5y agoThis! So much. Sometimes you can plan for success/heroic actions (in the good way) but often it happens by accident. The right person digging into a weird problem they encountered, two people sitting together to review a design or someone doing a firmware update that fixes a bug in the RAID controller giving you double the IOps... I have tons of anecdotes from colleagues who did some unplanned work just because they talked with someone else and that work then turned out to have massive positive impact. The results are lauded but it wasn't even clear when the "little" project started that it would actually be a massive boon. At a prior job (some website selling hotels online) I was responsible for the project that ended up giving the whole fleet a 25% capacity boost. Instead of 2000 machines we only bought 1500 next quarter. If we calculate that in perpetuity my project was a massive success. Millions of EUR saved since 2011. The project initially started out as "tons of people tried building a decent perl RPM but couldn't get it to work, could you have a look?". The guy originally tasked with it was busy fixing a broken LDAP server. So I built some RPMs, wrote a bit of tooling around it and we ended up with a Perl environment separate from the system perl which was great because the business was nearly exclusively running on Perl 5.8.9. At that point I looked into using that to get us off CentOS4. With the help of two colleagues we got a CentOS5 environment running and could migrate to a x86_64 environment. That migration than gave us a 25% capacity boost and happiness ensued all around. The OS upgrade wasn't part of the original project scope, we just went with it because it made sense and management understood that it's a good idea.
- kosma 5y agoThen make sure developers are deeply aware of all the concerns you listed. A large part of why developers think they are the center of the world is because they are meticulously isolated from said world. This is exactly what the article addresses as one of the main concerns.
- routerl 5y agoThe comment you replied to gestures at but doesn't outright say this, but I think you have a good point. I genuinely think that many engineering managers see their most important skill as "getting engineers to do things for reasons they don't understand".
- sidlls 5y agoThat isolation is often as much self-imposed as not. While the GP may have been a bit aggressive in his/her characterization of it, I agree with the general thrust that developers tend to be both narrowly focused on their own technical work and prone to inflation of its worth.
- KSteffensen 5y ago> prone to inflation of its worth This issue is not limited to developers.
- sidlls 5y agoOf course it isn't: most individuals tend to inflate their contributions' importance. There are matters of degree, though. My experience is that developers tend to overestimate more often and by larger amounts.
- jpseawell 5y agoAs a developer, I’ve noticed a pattern: devs complain about too many meetings -> devs are left alone (aka isolated) -> devs complain about being left out of decision making process/chain of comm.
- dominotw 5y ago> developers are delusional > Developers .. appears blind to the fact that they play only a minor role in the bigger picture. > Developers are not good at this work. Developers aren't some special creatures with one dimensional fixed mindset. They can do whatever that needs to be done. This is kind of silly stereotyping precisely why makes developers hate managers. I hate managers who think of their team as mere code monkeys that are "not good at" some mythical management work. I am a manager myself but I never diminish role of my team members as "minor players", "not good at work" ect. They are my peers and partners who are equally as "major players" as anyone else.
- wiz21c 5y agobut in the end, you decide who gets promoted or not, you decide who has to put the "extra effort" to satisfy whoever you work for. So of course everyone is a major player, it's your best interest. but you're also the one who gets the time to see the big picture and hopefully realize that, yes, the development side of a project, while the most fundamental, is also just one of the part. The other being : handling customer expectations, making sure the budget use can be explained, making sure people stay happy even when confronted to "absurd" customer's request, making sure to understand the project ecosystem to make sure you get the right customer contact person in front of your team, making sure the one dev with a broken back gets a proper chair, making sure good project are rewarded, you make sure HR's department craziness don't alienate your devs, you-f*g-name-it (been there, done that, got the tshirt : I've been in dev, business consulting and management :-))
- ABCLAW 5y ago>the development side of a project, while the most fundamental There's an entire world of industries in which software is a 'nice-to-have' enabler of various levels of business logic, not the product itself. The assumption that development is the fundamental key to all projects is, I'd imagine, the 'delusion' referenced earlier.
- wiz21c 5y agoYeah, I work in an industry where software enables things, so it is central. But even in my industry (business apps), we could just go on with pen and paper like before. So programs are not "absolutely fundamental" but in the 21th century, well, they are :-) But I can admit it's not like that everywhere, sure. But I've yet to see industries where people pay programmers to work on IT project which are not fundamental in a way or another or in the process of becoming fundamental. The point is when programs get deployed, they usually transform (and hopefully improve) a situation. Once the transformation is accomplished, the program becomes fundamental...
- sporedro 5y agoI agree, you need a manager, but through my limited experience I feel as though the issue is developers are mostly detached from the buisness end of things. When things go wrong or some issue occurs I've always had managers step in to aid from the buisness side. You almost need a manager who has developer experience like yourself to make for a good manager. I suppose even a manager who is able to understand the general overview of what the developers are doing would be good. Basically it seems the average manager in buisness would be a bad fit to manage developers. overall a manager is still needed for sure. I guess its the same everywhere though a bad manager vs a good manager makes a world of difference.
- mirsadm 5y agoIt sounds like you've gone from one extreme to another. None of the things you mention pale in comparison to software engineering at all. They are all solvable problems that many people can do. Sometime they are difficult, often they are not. Managers are certainly not useless and do work for certain types of organizations. They are not always needed though. Believe it or not there are people capable of managing and programming at the same time. You seem to be one of them so your view point is very strange.
- fghfghfghfghfgh 5y agoNo, I've actually mostly worked in well balanced places. It is my experience that technology is the lesser issue and the one with the smallest impact. That's not to diminish the highly skilled developers - the work just have less impact that we seem to believe. I do not believe in self organizing teams. I have not seem them work. Without direction the team will fumble until someone assumes control. I have also not seen many happy in such an environment. The opposite is strict top-down control, such as what is often described and lamented on HN, is equally bad. No one wants to work under a dictator. There's a balance to be struck between authority and autonomy.
- Mauricebranagh 5y agoInexperienced developers can be delusional especially if they see their role as 100% banging out JIRA tickets
- OhNoMyqueen 5y agoThe issue with this argument is that a significant part of the "bigger picture" is artificial bloat which emerges from the fact of having layers of management. Managers spend much time actually managing themselves. It's of course not all black or white.
- fghfghfghfghfgh 5y agoI don't think it's an issue with my argument but I do think the difficulty of grasping the bigger picture is a major issue. It can be reluctance to understand why you're doing what you're doing. It can also be because no one cares to explain it to you. Most of the time it's probably between those two extremes. And yes some times it's bloat. But rarely all of it. I don't have a solution to this.
- dgb23 5y agoThis reads almost like a tautology. I'm reading: "You need a manager to coordinate a deeply hierarchical and separated structure with production at the bottom and the clients at the outside." I mean no disrespect, but from my perspective I see a deeper problem here that is being patched over by exceptional people like yourself. Shouldn't the creators and clients have a major, high impact role and the coordinators a supporting role in terms of decision making? To make an exaggerated joke it looks a bit like a dictator complaining about all their responsibilities and the hard decisions they have to make. Well maybe they shouldn't even be in that position to begin with. And yes I've seen the diagrams and the theory behind this. But I've become more and more suspicious of bureaucracy and process that tries to fight the symptoms of lack of trust and human connection.
- fghfghfghfghfgh 5y agoHa - yes, you're right it sounds like a tautology. I worded my answer to reflect the absolute statement of no manager is ever needed. "Shouldn't the creators and clients have a major, high impact role and the coordinators a supporting role in terms of decision making?" No. The creators usually answer "how to do it". The more important question is "what to do". Both groups are important but doing the right thing is more important than how you do it.
- geggam 5y ago>And yes I've seen the diagrams and the theory behind this. But I've become more and more suspicious of bureaucracy and process that tries to fight the symptoms of lack of trust and human connection. This resonates but what I have seen is when you engage a company that has this model you have to emulate their model to fit within their needs, then you get infected with it.
- dnndev 5y agoAs a CEO and long time developer before then... its complicated. High performance teams are killed by managers unless they stay out of the way and then whats the point right? Managers are great for managing clients, but not devs. Low performance, bare minimum devs, sure need reminding and pro-ding to get anything done... yes, you need managers to babysit. Companies with heavy management usually have mediocre at best devs and little to no innovation. They have great sales and support - this keeps them alive. Captain obvious here - there is no one size fits all. Do what makes sense at your org and take home a paycheck or leave and start your own business - there has never been a better time!
- dnautics 5y agooh, and any given dev can switch from high performance to bare minimum depending on the project, week of the month, what they ate for dinner last night, etc.
- dnndev 5y agoSame could be said for a manager.. or a manager that gets bad devs or devs that get a bad manager. This is the value of a hands-on ceo that does not have their head in the sand.
- skeeter2020 5y agojust an observation: if you moved from developer to CEO without significant time as a Dev or Eng manager you have very different skills and focus. CEOs of all but the smallest companies are playing checkers; Dev Managers play chess. This isn't some sort of insult; we need to focus on individuals with distinct skill sets and characteristics. CEOs can't and shouldn't be concerned with this level of detail. It's also uncharitable to split teams into either high-performance special ops teams vs. mediocre, low skill / low potential teams. Two trends make this distinction meaningless: GROWTH and SCALE. If these don't apply then you can totally let the team self-manage. FANG companies typically have all those rockstars you're looking for and multiple levels of technical management.
- 5y ago
- mumblemumble 5y agoI'd like to make a wild inference and suggest that you and the parent poster are talking straight past each other, because you're drawing your experience from two different business paradigms. kbmunchkin wrote: > The lead developer handled communication with the IT Director about project status The fact that the ultimate person being reported to was the head of IT strongly implies to me that it was an in-house development team working on in-house projects. Your list, > orchestrating people across sales, strategy, business transformation, creative, development, QA, operations and infrastructure. Strongly implies that your experience comes from building consumer products. Personally, I've spent time working on both successful and unsuccessful projects on both sides of the fence. What I've seen is that the most straightforward way to create a dysfunctional team is to try to take what works from one context, and apply it uncritically to the other. I personally hate working with a dedicated product manager on an in-house project every bit as much as I hate working without a dedicated product manager on consumer-facing stuff.
- fghfghfghfghfgh 5y agoNah, we're not talking past each other but we likely come from wildly different backgrounds. To make a general statement saying managers are not needed is as silly as saying all developers are delusional
- TchoBeer 5y agoConsider that those two statements may be about in the same wheelhouse, but "developers aren't needed" is way, way more rediculous than "managers aren't needed".
- deleted 5y ago[deleted]
- joshuamorton 5y ago> but "developers aren't needed" No one ever said this though, I'm not sure what the point of bringing it up is.
- ferdowsi 5y agoStrongly agree with this. I've been in situations where my team had no manager, a bad manager, and a great manager. The situation where I had no manager was the worst, by far. I've found that if you throw a bunch of Alpha Geeks together without constraints you may as well be herding cats. They'll want to work on their individual wishlists of strategic research problems (throw in this new tool! new methodologies I saw at this conference!) with less concern for the unromantic tactics, socialization, and alignment that makes a project succeed.
- tarsinge 5y ago> developers are delusional about the relative importance of their role I think it's that developers fail to grasp that they are in the enterprise world. Web development and SaaS has blurred the lines, but at its core it's the same: the product you work on is a tool for another business. It's a bit more sexy because it's not mainframes, cubicles and suites anymore, but in the end the job is the same. And in that setting, the role of a developer is indeed minor in the bigger picture. There are exceptions in R&D, cutting edge projects, or in an early stage startup, but for the vast majority of developers the above is true.
- captainmuon 5y agoI guess the problem are not managers per se, but non-technical managers. Somehow it is OK to have a pure salesperson / MBA manage engineers, but you would never put a developer in charge of the sales department. I think many developers (not just coders, but in general technical people who make the actual product, designers, engineers, ...) feel there is an unfair primacy of managers / business people over developers / technical people. This is even reflected in the job descriptions: I hate the term "individual contributor" for example, it implies replacability and that non-ICs (managers) contribute more than one person. Not every company has "bullshit" managers and for sure some developers are delusional. But these bullshit managers exist, and I believe this happens when you put people who are far away from making the product in charge. If the managers and executives are not intimately familiar with the product and the customers, then the product becomes some interchangable thing that you hustle. This can be disastrous for the work climate but also for the success of the company.
- dv_dt 5y agoI always wondered if it was possible to build an inverted company organization, where developers/engineers were formally at the head of things, and much of the administrative tasks that management works on were subbed to specialists reporting to the developers. If you look at a lot of pretty incredible projects that often were finished ahead of schedule or with groundbreaking capability, they often happen to be led by a deeply technical person. e.g. Hoover Dam, the SR-71, etc. If you look at CEOs of tech companies, I believe a majority of them have an engineering undergrad degree of some form.
- ruste 5y agoI work at a company that operates much like this. I've passed up on more lucrative opportunities in the past because it's such a great place to work as a developer as a result.
- dv_dt 5y agoDo you think the company holds it’s own in terms of competitiveness vs other companies as well as making a reasonable profit to survive?
- jimbokun 5y ago> Your run of the mile non-technical manager sure is not very good at understanding the intricate complexity of all the moving parts of creating software. > Developers on the other hand appears blind to the fact that they play only a minor role in the bigger picture. Y Combinator was largely founded as a rejection of this premise. Paul Graham believed it was much easier to teach great Software Hackers how to business, than it was to teach business folks how to software. I think it turned out pretty well. > A scenario which never happens because in real life you have at least 3 levels of technical management, multiple divisions/departments involved, spread across continents and multiple vendors participating. And your organization with 3 levels of technical management and all those divisions and departments will often get their lunch eaten by a very small group of people working in a startup, moving faster and accomplishing more in less time.
- fghfghfghfghfgh 5y ago"Paul Graham believed it was much easier to teach great Software Hackers how to business..." I agree "And your organization with 3 levels of technical management and all those divisions and departments will often get their lunch eaten by a very small group of people working in a startup, moving faster and accomplishing more in less time." You misunderstand. It is not my org - it is the client orgs. And none of those are software companies. The speed with which you can move is irrelevant because you are constrained by the pace of the org you're working for.
- myWindoonn 5y agoA delusion is a sincerely-held false belief. Please consider: If all of the developers left your organization, could it still produce products? How about if all of the managers left? Your implicit devaluation of labor is not congruent with the actual reality of whose hands work the keyboard. (And before you write a knee-jerk response, double-check your reasoning. Without managers, developers produced the Free Software ecosystem. Without developers, what did managers produce?)
- vc8f6vVV 5y agoAsk yourself who paid for the Free Software first. We are all humans and need to eat.
- jollybean 5y agoI generally support this assessment. As a 'developer' I thought 'we were doing all the stuff' while everyone else catered to us. During my roles out of that seat, I view 90% of development as a form of intellectual labour, it's just work, one piece of many things. The hardest job by far is selling. The next hardest job overall, as the commenter mentions, is making a 'whole product' and targeting it at customers. Engineering is hard, but not harder than the above. I would almost like every Engineer to work for 3 months in PM or Sales just to get their perspective flipped. Engineering feels more 'worky' because it's more direct.
- gregors 5y agoRegarding selling - I've know amazing people who could sell all kinds of products that don't even exist. So selling by itself doesn't seem to be the hardest thing - selling something that relates to the reality of the product is far more difficult.
- supergeek133 5y agoThis is a similar mentality of people who get very upset over incentives sales gets and/or "company provided trips". We all forget, at least in a for profit company, that we are all employed by selling things. Like it or not without the good salespeople, some of us don't have jobs.
- alexvoda 5y agoYour claim is provably false. Large scale software development without management is proven to be possible by the existence of functioning FLOSS projects like the Linux kernel, various GNU tools, KDE and plenty of other examples. I have not heard of a single software development company with 0 software developers. Not even Oracle manages that. Managers are necessary for the parts of the company other than development. You can have a FLOSS project developed organically, and separately a company in the business of support, services, etc. Managers are also necessary in order for the company to exercise control over the development and extract value. And this may be needed for a company to survive. But they are not needed for software development itself.
- vc8f6vVV 5y agoEven FLOSS enthusiasts need to eat. Money don't come from writing code by itself, they come from sales. Or from donations. In both cases there is a lot of non-coding work. Do you want to do it? I don't. How do we call those guys who organize donations or sales? Collect requirements? Yes, there are requirements in FLOSS too, otherwise you wouldn't get donations, or support contracts, and those requirements are coming from the people who pay. Let's call everybody developers, only some won't write code and would organize coders, gather requirements, distribute payments. Wait, those people are currently called managers.
- meowface 5y agoClearly some management is required somewhere in the chain, and if they're any good then they're important. But certain tiers of management seem to largely be pointless intermediaries; especially if they're not as technical as the developers. I've stopped being skeptical of the general concept of management. I'm no fan of LinkedIn, but Reed Hoffman said something in a talk that instantly changed my entire opinion about the idea of a developer moving up in the hierarchy and no longer writing code. Paraphrased from memory: "You're still programming; just at a higher level of abstraction."
- meh99 5y agoAnecdotally I’ve seen the same in managers. I tend to believe these arguments just curve right into confirmation bias. I’ve been on teams that worked fine with managers and those that did not. It depends on the commitment of the actors in question. Anything else is reading what we want to in the tea leaves. Edit: Been working on distributed systems since the late 90s, from public uni to big corp, to day 1 startups. It’s just computer configuration. Not magic.
- sadfasf122 5y agolol. try an A/B test. A) Get rid of developers B) Get rid of dev managers Let me know :)
- flerchin 5y agoDrain a company of managers, and the devs will self organize and save the company. Drain the company of devs, and the managers will desperately try to hire anyone to replace them. Devs are vastly, vastly, more important than management. Any given manager could leave a company and literally no metric would move.