Hi all,
I am a developer and I have worked at a few startups which I have subsequently quit.
Everytime I get hired by a company, I am 100% motivated and committed. I specifically choose companies whose business I find appealing. I am not an executant who can simply code anything for anyone. I like to work for projects I support. I care more about the project than about the salary and benefits. I suppose that's the case for most of us.
However, it seems after a year or two in the company, the honeymoon period ends and the only thing I can see is the bullshit coming out of management's mouth. Bogus business plans, inability to close deals, short-sighted decisions, petty management techniques, overly frequent pivots, you name it...
Am I
1/ Bad at choosing my jobs,
2/ Too demanding towards the companies that hire me,
3/ Mentally unstable,
4/ Unrealistic,
5/ Just a normal bullshit intolerant guy
?
Is there any way I can find a boss I respect beyond a couple of years?
Tell me about your experiences. Thank you.
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.