7 ms·
I think another key point is that boredom is inevitable, at least at any company bigger than a startup. Software engineering is about solving problems. You ge
by nhashem 15y ago
I think another key point is that boredom is inevitable, at least at any company bigger than a startup.
Software engineering is about solving problems. You get hired, and solve problems. Time passes and you get better at solving these problems, so they give you harder problems in the same domain space. Eventually you get so good at solving these problems in this domain space that you become The Guy. "Oh you have a question about the FooWidget manager tool? Ask Joe, he's the FooWidget guy." By definition, being The Guy has mean you've reached a local maxima of productivity in the company.
It also means you're bored. It's not a case of possibly being bored, or eventually becoming bored. Once you are are no longer a problem solver, that means you're bored.
I've been a lead engineer at two different companies thus far in my career, and every time I end up wailing the same things to management. "You have to let me get Joe off FooWidgets. He's been working on it for nearly years and all you make him do are stupid enhancements nobody actually uses." But then who will maintain FooWidgets? "Hire someone. You could hire a college kid for the level enhancements you guys want. Or let me assign it to someone else on my team. But do something, because he is going to get bored and quit and we'll have to do this anyway, only Joe won't even be here to help transition." Will we be able to make enhancements to FooWidgets as fast if someone else works on it? "Not at first, but within a month--" Bzzt, wrong answer, Joe's still on FooWidgets. And sure enough, within six months, Joe takes another position and we're hosed.
So while Rands had some good heuristics for detecting boredom, you typically don't even need to ask them directly or look for behavior changes. Are they solving problems? If not, they're bored, and you have a ticking clock to do something about that engineer before he leaves.
- jerf 15y agoTry introducing your management to the concept of Bus Factors: http://en.wikipedia.org/wiki/Bus_factor http://en.wikipedia.org/wiki/Bus_factor Cross training isn't an avoidable expense so much as a cost of doing business. The question isn't will Joe become unavailable to work on FooWidget, the question is merely when. This needs to be thought about more like insurance than pure development, insurance for an event of significant probability. Of course one must still consider the full costs/benefits for any bit of training, my point isn't that one must always cross-train, but more that it's easy for managers to underestimate the amount of risk they are taking on, especially when business-critical knowledge turns out to be in only one head.
- aaronblohowiak 15y agoAs an OT aside: this is yet another bonus for doing Code Review.
- munin 15y agoquit immediately. if you have a job where you have a "lead" or "manager" title but have to ask someone else before making personnel/project decisions, you are not a lead or manager of anything, just a scapegoat.
- georgieporgie 15y agoManagers and leads aren't all-powerful. They answer to their managers and, in some sense, to their peers.
- lambda_cube 15y agoSure, all managers answer to another manager, except the CEO. But it's also normal to delegate responsibility when it comes to hiring and working assignments in projects. If you're sufficiently high up in the manager hierarchy (which shouldn't be that high up IMO), you should have the power to make decisions like that.
- ZoFreX 15y agoBut by your own admission, some levels of management shouldn't have that power - so what should we call them if not managers? Imo, if you are managing a team of people, you're a manager whether or not you have total hiring / firing power.
- munin 15y agoif you are managing a team of people and you do not have at least firing power, in my experience, you are not actually managing a team of people.
- ZoFreX 15y agoBut if you could take a valid reason for firing someone to your manager, and they would be fired, I think that would be enough to manage the team right?
- enjo 15y agoI've fought through MUCH more boredom during my startup career than at any other point. Startups are great fun while you're building the product. Then you release it, and while you'd love to be implementing new features you're really stuck maintaining the beast you've unleashed onto the world. In a startup there is no one else to give you a hand when things break. There is no one else to share the load of those boring tasks (deployments, unit tests, browser/phone compatibility, etc...). Even then you'll spend most of your time refining existing features, not inventing new technology. At the end of the day, every god-awful task is on you (or a small team). While there are spikes of interesting problems, it will be a small part of what you do.
- i386 15y agoJust have to say that your assessment of things was refreshingly unromantic and honest - founding a startup won't solve your boredom issue. There's still work to be done.
- j_baker 15y agoI think another key point is that boredom is inevitable, at least at any company bigger than a startup. Startups aren't all fun and games either. If anything it's worse because you have a lot of boring work and nobody else to offload it on.