11 ms·
I have also found that the flatness fails quickly when the loudest, most aggressive, least-respectful-of-authority, best-dev-in-the-room type takes the (de-fact
by tonecluster 11y ago
I have also found that the flatness fails quickly when the loudest, most aggressive, least-respectful-of-authority, best-dev-in-the-room type takes the (de-facto) leadership position, bullying others who challenge him. Schoolyard stuff, to be sure, and since most people don't like conflict for extended periods of time, you end up with a local "leader" (scare quotes intended) despite the intention to remain flat. It's the "rock star dev who's also a jerk", and eventually it creates chaos.
- hodwik 11y agoI actually think that's where flatness works best. Rather than being whoever can kiss the most ass and not upset the boss (the usual system), a flat system ends up being a battle for leadership which puts the smart and commanding at the top. "Rock star dev who's also a jerk" is who should be the boss.
- jacques_chester 11y agoWhere I work we have a role called "project anchor". It comes with no extra pay, no special perks, no particular enumerated powers. The anchor does not determine product features or direction, that's the product manager's role. The anchor doesn't hire, fire, reward or punish other engineers, that's the engineering manager's role. The anchor isn't necessarily the strongest engineer on the project, either. Anchors are mostly there to break ties and hold project context over a longer time frame. A founding anchor has a strong influence on the project's technical direction, but it's not a fiat power. You still need to discuss it with your peers. And it works pretty well, because the only reason you get asked to anchor is due to the feedback of your peers. Then again, our hiring process has a notorious bias against rockstar jerks.
- mattip 11y agoIs there more info around about this style of project management? My google-foo is not getting any hits
- jacques_chester 11y agoI work for Pivotal Labs. Our starting point is XP for engineering, Lean for design and product management. Daily standup, weekly IPM, weekly retro. Lots of people know us mostly for Pivotal Tracker, which is built to support our daily and weekly workflow. On any given engagement, we always argue for a minimum team of one product manager, one designer, two engineers. We used to be a purely engineering shop, but (before my time) the thinking grew to include all three roles in each project. Previously anchors were also de facto product managers, which is a tricky and exhausting doubling-up of duties. When this happens now, we call it "super-anchoring" and it's seen as a project smell. I've had to act as a super-anchor once or twice; it's how I learnt that having a separate product management role is essential to a healthy project. I like how we work. As an engineer I trust product managers to worry about what to build next and why, I trust designers to be across the user's needs and UX flow and conceptualisation. They trust me to pick a simple, robust engineering solution without gold-plating. Anyone can give input, of course. I've had PMs make great engineering suggestions. I've seen engineers with UX breakthroughs. Engineers in an IPM ask all sorts of fiddly questions that will typically lead to product changes. We ultimately own our own roles and get final say on them. It works because it's built on mutual trust and respect.
- m_fayer 11y agoReally? "Rock star dev who's also a jerk" is typically driven by ego, whereas the actual leader should be driven by the needs of the business and the needs of the customer, and be talented at balancing the two. He should also be a good consensus-builder and emotionally capable, which this guy is by definition not. So you'll get "impressive" code that leverages sexy technologies that is also late, buggy, and not what the customer actually needs. And on top of it all you'll have a demoralized drama-prone team.
- TeMPOraL 11y agoI challenge you to find actual leaders in the past, ones we use as examples, who would fit your description of "an actual leader". A leader is someone who can get people to get shit done. Usually it means convincing them that what the leader wants done is the thing to be done. Consensus-building can be done in many different way - in particular, a very good way is to just arbitrarily announce what the consensus is. In most fields, and in pretty much 99% of business, almost decision is better than prolonged periods of not knowing what to do. And if a leader is competent in the field in question, his arbitrary decisions will usually be good. So as long as you can align their ego with business/customer needs, a "rock star dev who's also a jerk" isn't the worst choice for a leader.
- RogerL 11y ago"isn't the worst" is a pretty low bar. As for your challenge, just about anyone I have worked for and respected. You don't know them, so you can use a No True Scotsman defense, I guess. That won't change that ego/jerkiness is completely unnecessary. Bad decisions are catastropic in tech. That's a driving force for things like Agile. Running off and coding or building things without a plan is a recipe for disaster. I can make you do something by screaming at you. That works to get you up over that hill to attack the pillbox. Doesn't work so well in tech where you will just quit.
- TeMPOraL 11y agoBut why do you assume that "rockstar dev who's being a jerk" means a despotic leader who only screams at people? I read it as a leader who is a) very opinionated, b) doesn't tolerate bullshit, c) may express himself in an offensive way. You could say that e.g. Patton was a rock-star jerk of military warfare, but it didn't mean he screamed at everyone all the time. > Bad decisions are catastropic in tech. No, they're not. What's the worst that could happen? Your SaaS cats-on-Instagram-to-save-the-world startup will flop. Or you won't deliver some product that's being delivered by 2000 identical companies around the world. Or some people won't get to see some annoying ads. We're not talking medicine or space travel here. If we were, we'd be focusing on whether a leader is effective, not whether he's a nice person.
- deleted 11y ago[deleted]
- 6d0debc071 11y ago> a flat system ends up being a battle for leadership which puts the smart and commanding at the top It ends up putting the person who's the least bother in that role compared to all the other roles they could occupy in charge. People you go along with while looking for another job, because at the end of the day it's not your company and it's not worth the enormous emotional cost of fighting them.
- bitbuilder 11y agoWhile I have no experience with an organization that is officially flat, I have plenty of experience with large dev teams with indifferent managers that effectively created a flat organization. In my experience, it's rare that the most "commanding" dev is also one of the more talented devs. If anything, my experience is the opposite: the stronger personalities are great examples of the Dunning-Kruger effect, while the best devs have more passive personalities (or just don't care enough to try to commandeer leadership of the team). It's not like "kissing the most ass" is limited to kissing the ass of upper management. The same types that are exceptional at kissing the ass of management can also be great at playing Lord of the Flies with development teams (forming alliances, turning devs against eachother). It makes for a terrible work environment. I much prefer strong hierarchical management, assuming management is competent enough to promote those with both development expertise and the people skills necessary for management (consensus building, mentorship, clarity of purpose, motivating people, etc).
- Terr_ 11y agoMaybe it's worth distinguishing between developers who are opinionated about how something should be built because they care about the process/results, versus those who are self-promoting with whatever cause-du-jour is convenient.
- MaulingMonkey 11y ago> a flat system ends up being a battle for leadership which puts the smart and commanding at the top The problem is you've described someone entirely different, here, IMO. A smart leader isn't the loudest. Because they know when to listen to their subordinates, and don't need to be the loudest to command attention when they do speak. They don't need to be a jerk, or rely on bullying - for this is morale destroying counterproductive pettiness, and again unnecessary when it comes to commanding attention and respect. It might not chase away all of your talent, but it will chase away some of it, who will leave for greener pastures where they're respected. In my experience, the "Rock star dev who's also a jerk" was both the worst leader and the worst dev. They wrote a bunch of short sighted hacks - making them "productive" "rock stars" - that constantly broke things that other people had to fix. They were quick to assume their half baked ideas of how to proceed were the one true way - and that you were an idiot for thinking otherwise - and quick to dismiss any and all concerns about things they overlooked in their plans. It was bad enough that the best way to get anything done ended up being to hide it from the "rock star dev who's also a jerk". This is the antithesis of what good leadership should result in. That they were too busy doing development to do any real leadership was perhaps a blessing. That's not to say the ideal leader can't ever be loud, or stern, or a dev. These can all be useful qualities at times. But they're not "a jerk", and may find they have less time available to spend on development in response to the burdens of leadership.
- gnaritas 11y ago> In my experience, the "Rock star dev who's also a jerk" was both the worst leader and the worst dev. They wrote a bunch of short sighted hacks - making them "productive" "rock stars" - that constantly broke things that other people had to fix. Those are not rock star devs, those are just shitty devs. The term rock star means your best devs, not your worst, by definition. If you're applying the label to shitty devs, you've missed the point of the term. A rock star is someone who's awesome, that's the entire point of the slang.
- crznp 11y agoI see a rock star dev as the guy that seems the best from the outside: most likely because he completes tasks fast at the expense of being maintainable, documented, or understood by the rest of the team. The rock star must be smart because they're using a ton of technologies that nobody else understands. But do you really want that? Part of the disagreement is surely semantics: if you want to define "rock star" as the best, then I guess they're the best (however you measure that). But being a jerk is not semantics. If that works for your organization, great. But I don't want to have to deal with that.
- Spooky23 11y agoJerks aren't leaders. Tyrants at best... Usually just insecure people.
- rmc 11y agoSounds like "The Tyranny of Structurelessness"