6 ms·
I think it would be helpful to try to understand the perspective of management. Consider an extreme stereotype: the "business school guy." He went to XYZ schoo
by jfasi 13y ago
I think it would be helpful to try to understand the perspective of management.
Consider an extreme stereotype: the "business school guy." He went to XYZ school of management, where he learned that a business is an organization that takes in raw materials and creates something more valuable than the sum of the unfinished parts. He learned how to raise money by selling his business idea to other people who think like him. He learned about how to manage people, perform marketing, design products, and set priorities for his organization.
I don't mean to suggest this is the type you're working with here, but I offer a relatable character to which you can add traits or from which you can remove them to fit the particulars of your experience.
For him, running a business is as much an exercise in tradeoffs and compromises as building an engineering system probably is for you:
You end up running with an imperfect design because of time constraints and because you're a slave to shipping. He runs with an imperfect business plan because that's what his board thinks is best and because he's a slave to their opinions. You devote time and energy to a technology only to have it fail when you need it most. He pursues partnerships and deals that fall through because of unforeseen differences, despite his best efforts. You end up rewriting your architecture because it didn't meet your requirements as well as you expected. He pivots the business because his original business plan isn't panning out as he anticipated. Et cetera.
The point is that generally people in management can be assumed to be doing their best. Despite what hacker news and TechCrunch try to convince you, running a company is a job just the same as building an engineering system. Incentives aren't always aligned, you have to cut corners, and conflicts are unavoidable. As someone on the inside of engineering divisions of technology giants, I can tell you that you get this sort of conflict and frustration even at these "engineering-first" sorts of places.
Naturally some companies are better than others. You want to find a manager who thinks of himself as your equal rather than your slaver. Instead of asking yourself "does this management know what it's doing?" ask yourself "does this management make me better as a professional?" If you can say "yes" to the second question, the answer to the first question doesn't matter. The company can fail, but if you come out of it better than you came in, you still succeeded.
- allochthon 13y agoNaturally some companies are better than others. You want to find a manager who thinks of himself as your equal rather than your slaver. This is key. The first sin of management is to think they're managing people. Innovation comes from collaboration among talented equals trying to solve a real problem in the world, not from someone bestowing his unique vision upon the masses and giving them the privilege of working for him. It is the latter attitude that I find the best predictor of whether there's going to be endless frustration at a company.
- michaelochurch 13y agoInnovation comes from collaboration among talented equals, not from someone bestowing his unique vision upon the masses and giving them the privilege of working for him. You nailed it. It is the latter attitude that I find the best predictor of whether there's going to be endless frustration at a company. Agreed. The MBA entitlement is pretty easy to spot and always toxic. It's better to compromise on technical details (Clojure vs. Python, Git vs. Hg) than on quality of people. If you find yourself making excuses for people because you want to believe, chances are your initial judgment (stay away) was the right one.
- stcredzero 13y ago* The MBA entitlement is pretty easy to spot and always toxic.* You can remove the MBA, and it generalizes just fine. It's better to compromise on technical details (Clojure vs. Python, Git vs. Hg) than on quality of people. I would posit that the general tenor of a technical community, the quality of people attracted to it, and the efficiency with which it accrues value and gains the right kind of mindshare is really the crux of the matter. The technology is just a fortunate byproduct of technologist lives well lived. This applies equally to companies and programming language communities. If you have the above and bad tech, you will still get by. If you have the above and good tech, you will prosper. If you have bad people/culture and excellent tech, you will fail anyways.
- seestheday 13y ago
- adamzerner 13y agoI agree that if you took the perspective of management, that you'd understand more of where they're coming for and cut them a little more slack. However, I still doubt that you could forgive them for all of this stuff - "Bogus business plans, inability to close deals, short-sighted decisions, petty management techniques, overly frequent pivots, you name it...". > Instead of asking yourself "does this management know what it's doing?" ask yourself "does this management make me better as a professional?" If you can say "yes" to the second question, the answer to the first question doesn't matter. The company can fail, but if you come out of it better than you came in, you still succeeded. The question isn't "did they make me better?". It's "did they make me better than the best alternative". Opportunity cost. Working for a shitty company might make you better as a professional, but not better than your alternatives.
- HillRat 13y agoHere, take all my upvotes. :) The only thing I would amend is that most poor managers aren't the "slaver" types (if you end up reporting to one, it'll be obvious and you'll know to run as far and as fast as possible). Instead, they're weak -- incapable of protecting their people and productivity. Weak managers come in a lot of flavors, and it takes time to discern when one isn't working out. For example, you could have a promotion who has trouble taking on a managerial role with his or her old team; a likable supervisor who lets his team drift so he doesn't come across as too demanding; a manager whose focus is polishing the rungs up the ladder rather than the people below him; or a tech hire who has trouble focusing on project and budget details, or who avoids dealing with peer managers as much as possible. A related problem is more strategic, and one that you find in very large organizations and bureaucracies -- the biggest conglomerates and public-sector agencies. In these environments, management undergoes a phase shift at a certain level, and successive layers of management are wholly budget-focused, isolated from operational realities. As I warn people, "First, you do. Then you tell people how to do it. Then you tell people what to do. Then you're creating the conditions for people to do what they do. Then you tell people why they're doing it." That fourth layer is where the trouble starts -- several layers of managers are involved in creating the financial conditions to allow lower-level management to actually get things done, but this means that by the time you get to the C suite or seventh floor, the executive/political layer is dealing with managers who aren't directly plugged into operational realities. The end result is that decisions coming from the top are, no matter how well-intentioned and considered, depending on rumor, hearsay and report, not on-the-ground knowledge. Thus the sense from the floor that the only thing the brass are good at doing is consuming steak and producing bullshit.
- droopyEyelids 13y agoTo me you seem to be describing some sort of ideal world. Your vision fails to describe why information is withheld from engineers that would help them do their job. We wont even talk about why doublespeak and so often what seem to be outright lies are told to trusted members of the team. The world you describe is some rational honest place where people are trying to build a system they understand. In an engineering project when we're doing that, you don't withhold information or surprise people, because that causes all sorts of conflicts and false starts, and robs people of the power to contribute. That deliberate lack of communication, which steals perspective and the ability to think about your situation, is the hallmark of the division between management and workers in a growing company. And the only explanation for it is a paternalistic disrespect for the underlings who 'can't handle the truth'.
- DigitalJack 13y agoI'd say his description fits where I work quite well. Essentially the only lack of communication I've ever experienced that hindered my work was from the end customer, or occasionally we have a communication breakdown between teams.
- benwerd 13y agoI call it the "fog of war", and it's a signal that you need to get the hell out. Not all companies have it.
- deleted 13y ago[deleted]
- aturek 13y agoI see the job of a dev manager (i.e. his direct reports are mostly engineers) as the following: (1) Filter requests for work to his team to avoid them having to constantly task-switch, with the associated loss of productivity and job satisfaction. (2) Provide his team with the business context for the work he asks them to do, and trust them to handle details. (3) Get his team the support they need to do their jobs. These all involve tradeoffs. If you constantly tell your team every part of every business discussion that takes place as part of (2), you can fail at (1) and distract them from their long term goals and work. I've worked with managers that didn't protect their team at all, and who constantly forwarded emails and repeated conversations to us until we could barely get anything done before having to switch to a new task. I've also worked with managers who didn't tell anyone anything, and let their reports toil in the dark for months before letting them know that most of their work was wasted. A good manager will sometimes fall on either side of the line; a bad manager will consistently err to one side. Managers are just like engineers - there are a lot of bad ones, and some good ones, and size of the company is pretty orthogonal.
- bjelkeman-again 13y agoGood advice. Find a place where you work with the team rather than for a manager. They do exist.
- rch 13y ago> does this management make me better as a professional? I ask myself this all the time, and it still really difficult. For me, the answer has been to push my margins up to the point where I can take care of professional development on my own dime.
- jwarkentin 13y agoGiven your analogy, it seems to me that if one wants to work for a start-up it would be wise to vet the CEO as much as they should vet any engineer. Naturally, not all CEO's are created equally and not all of them are bound to succeed. However, if one can determine which CEO's are good at problem solving and making good architecture decisions (maybe based on existing business design patterns?), then it is possible to at least narrow down which ones are likely to be more successful, and thus leave you less frustrated.
- etler 13y agoIt's a very hard job, and not everyone is up to the task. Good management is very hard to find, and that's true of any position. It's hard to find good engineers too. Maybe the best advice for OP is to try and get to know the company leaders more on a personal basis before joining a startup. If they're still small enough, grabbing coffee and having a meetup with the founders is very practical.
- king_jester 13y ago> You want to find a manager who thinks of himself as your equal rather than your slaver. In my experience, this doesn't exist. Having a manager has already established a hierarchy of relationships that you deal with in your day to day work. Even if your manager tries to be an equal to you, they are in fact not your equal, they are your superior. > Instead of asking yourself "does this management know what it's doing?" ask yourself "does this management make me better as a professional?" If you can say "yes" to the second question, the answer to the first question doesn't matter. The company can fail, but if you come out of it better than you came in, you still succeeded. I don't buy into this definition of success. Indeed, if you don't have any confidence in what management is doing, it is really unlikely that said management is making you a better professional. In those scenarios you are already looking at management through a lens of mistrust (mistrust that may be totally justified). For someone like the submitter, if being a part of a specific kind of project is more important that money or resume building, they will have a hard time finding a place where they won't be unhappy over time because they do not have a true ability to affect the outcome of the software they build and work on as they are not an equal to those making decisions.
- hrabago 13y ago>> You want to find a manager who thinks of himself as your equal rather than your slaver. > In my experience, this doesn't exist. ... Even if your manager tries to be an equal to you, they are in fact not your equal, they are your superior. The key here is that the manager tries to be, influencing his behavior. Yes if you look at the org chart, their roles are different. Otherwise he'd have no authority to make decisions for the team. However, the quality described above isn't whether they are equal or not, it's how the manager thinks of himself.
- unclebucknasty 13y agoWell, we can't pretend that the culture has nothing to do with it, right? I mean, how many truly big ideas are coming out of SV vs. ideas that are simply looking to attract eyeballs and create viral growth for the buyout/exit? Also, how does the lean startup, MVP, iterate, pivot, succeed-at-anything culture impact the stability and vision (or lack thereof) of companies? Seems that it leads to a lack of the type of mission that would keep someone like the OP inspired. If you join a company that has a vision to revolutionize X, then pivots 8 times before landing on talking toasters, then, yeah, you may lose interest at one of those pivots.
- rayiner 13y ago> The point is that generally people in management can be assumed to be doing their best. Despite what hacker news and TechCrunch try to convince you, running a company is a job just the same as building an engineering system. Your analogy is excellent, but you don't follow through with it all the way. I don't think it's fair to say managers are generally doing the best job they can any more than it's fair to say that systems are engineered as well as they can be. Most software is buggy and barely serviceable, and I don't doubt that is true for management as well. I'm not in the same camp as engineers who think management is worthless, mind you. Indeed, my experience with engineering teams has taught me that good management is worth it's weight in gold. But it's also scarce.
- 300bps 13y agoThe point is that generally people in management can be assumed to be doing their best. Yes, but people in general judge themselves on their intentions while judging others on their results. Part of maturing is figuring out how to not do this. Until that happens, it's easy for someone to find faults with everyone everywhere. For me, I'm reminded of the times early in my career where our marketing people were making what I thought were the most boneheaded moves I could have imagined. One project in particular seemed especially bad and like we were flushing marketing dollars and IT resources down the toilet. That project ended up being responsible for 60% of our business for several years. From that, I learned to fulfill my role to the best of my ability and always respect the opinion of experts in other roles. They might not bat 1000, but I don't either.
- tomphoolery 13y ago> The point is that generally people in management can be assumed to be doing their best. This is a very significant point. The best part about building systems with computers is that their reactions to your changes are deterministic. With people, it isn't so cut-and-dry, especially in the world of cutting big-money business deals. In my personal opinion, there's really no "right" way to run a business, but there are plenty of wrong ways. Over time, I've learned that one major origin of respect for your co-workers as well as your superiors stems from a respect or appreciation of them as people. Personally, I feel as though many of my co-workers could have been friends of mine had we met outside of work (not that they can't be even though we met at work, but you get my point), and I'm confident that they both understand and respect my viewpoints, because I do the same for them. This means a lot to me. When I see something wrong, I say something. In a small team startup, I believe I have the power to make changes that could affect the outcome of the company. Not only that, but I believe the product that we're developing is useful and beneficial to mass amounts of people. It may not be a venue by which we can "change the world", but perhaps we can make a few people's lives a little easier and bring their costs down tremendously. So coming back, a lot of what this may be is a disconnect between the developer and the authority figures that sit atop him in the hierarchy. It's always hard to bow down to authority, but one with power who you both trust and admire is not really considered an "authority" in your head, is it? It could "just be you", but I happen to think there are far more people out there I wouldn't want to work for than people I do want to work for.