Your boss won't always explicitly tell you to take time to experiment. I've gone to my boss many times and essentially asked for time to experiment. If you have a good boss, he'll be right there with you. Don't be afraid to ask.
Sounds a bit abrasive to do this: "You ask, “Are you bored?” Even if you don’t have a gut feeling, it’s a good question to randomly ask your team. When I ask, I look you straight in the eyes and if you can’t stare me in the face and answer, I’m going to keep digging until you look me in the eye."
Yea, I think you can ask it in a way that's not abrasive - "Do you feel like you have enough interesting work to do?". I think the thing is that that can be a common question, and it lets people know you care about how engaged they are.
This and similar answers makes me worried about the type of managers people are working for. Even the most introverted person should have a sufficient rapport with their manager to answer this question when it's honestly asked. It's a question the person should be able to answer, for themselves as much as their manager.
Not at all. In fact you should always wait until eye contact. I can't count the number of times I wish I had stared down a boss to make him/her understand that I was drowning in boredom only instead to give a quick smile and nod while continuing to look at my monitor.
It is way to easy to do "manager drive-by" and get absolutely no sense of reality from employees.
This is on both sides to get right. The manager waiting, and the employee taking the time to "look them in the eye".
some people (such as myself) have a really hard time with eye contact. it doesn't mean i'm not earnest in what i'm saying, it just means that eye contact makes me very uncomfortable.
i've learned that a lot of people see it as important, so i do an exercise when i walk to work, making eye contact with as many people as i can. it's helping but it's still hard for me - i feel like i'm being intrusive and slightly aggressive by making eye contact with someone.
Especially if you're questioning them with very short direct questions that are relevant to their job (that may be important to them...) and then not letting it slide by dogging them until they answer. Not saying that's what the blog post recommends but it could certainly come off that way if people tried repeating his tactic just based on what he wrote.
It could be abrasive if the rapport isn't there. But a good manager will build that over time until the point were blunt honest questions can be answered bluntly and honestly with no cause for concern.
Axiom: Boring work can never compete with Hacker News.
Axiom: Hacker News can never compete with interesting work.
Theorem: The interestingness of my work is inversely related to my Hacker News participation.
Supporting data: Today I'm regression testing. I'll be here all day, folks.
Idea: Employers, monitor your logs for Hacker News. Occasional spikes probably indicate boring, but necessary tasks. Chronic use probably means your devs are bored. Bored devs probably means you better take a deep hard look at everything else.
I'm not sure if you're joking or not, but this is entirely true. I'm sat here watching a data mining job. It's wasted time, largely brought on because the job doesn't have unit tests, so I have no confidence it'll actually complete correctly, so I need to watch the log and see what its doing.
This not a good use of my time, and I hate seeing that console, and I feel bad for being on HN when I could be productive.
Hah, if only it was so simple! The integrity of the job is the problem. It's been coded to failover problems (as the original data integrity its mining from isn't good), so it will happily do something stupid for hours. That's why I have to watch it, and make sure its not doing something stupid.
Unit tests would ensure stupidity was not a possibility, and regressions could be tracked. Too late for that, unfortunately.
No shit. I would much rather spend $10k in hardware than have a developer bored while waiting for something to finish.
Part of the problem, though, is tools. A lot of things are built for resource use minimization. That made sense 20 years ago, but now I have 8 GB of RAM and 4 fast cores on my desktop, and most of that capacity just sits idle. As far as I'm concerned, if I'm typing and the compiler isn't already running then it's missing an opportunity.
(1) joking aside, please don't monitor logs like this. instead, treat your employees like real human beings and understand what they feel. not only is it more efficient than trying to reduce complex humans to a few "metrics", but it will allow you to detect more than just "boredom".
(2) if you're thinking "how can they be bored when everything is so busy and there's so much to do?" maybe you are one of those over-managing bosses that doesn't delegate enough and, surprise, ends up running around being busy while everyone else is bored and lacking responsibilities. [i considered posting this anon, but it's not aimed at my current employers and, if you know me, you'd know i'd have said it to their face if it were...]
I worked for a 30 person database consultancy for my first job out of uni. Their Intranet home page contained a large and prominent link to "Internet access by user", which listed the amount of bandwidth being consumed by each person through their HTTP proxy. I have no idea who instituted that policy, but I instantly disliked the company .
You could download large binaries for only so long to cover your tracks, so I just ended up running a constant SSH session to a Lynx browser, so casual passersby would think I was working.
I quit about 6 months later for many other very good reasons, boredom being a huge one. A couple of months earlier I had asked if I could transfer to a new role (from developer to admin), which was flatly denied. When I announced I was leaving, one of the three senior management came up to me and said that in the last management meeting he had said I was bored and that they needed to find something more for me to do. Apparently he was shouted down (metaphorically).
The last I heard of the company was that as a result of my departure, they would no longer hire graduates with A grades. They would look for B or C grades from now on. I can't imagine a worse lesson to learn, but there you go.
Let's see: "What an amazing overqualified company. They must be very overqualified of themselves." No, I don't think so. :-)
Speaking of your actual point (that the employee was overqualified), I think the company that considers A students overqualified for work for which it prefers to hire B and C students is going down a dangerous path. A,B,C here are not the qualification levels but performance levels.
I don't think I was overqualified for the actual job (by my own interpretation, and of the way it was advertised). I was overqualified for their interpretation of the job role.
More specifically: I was the only full-time developer on a database which processed welfare payments for a smallish country, to the tune of hundreds of USD a year. This, I think, is not really the sort of system you would call trivial, nor one that the government would want a B or C grade student as the only full-time member on.
The company wanted someone that would essentially keep the lights on, on a legacy system that was woefully inadequate. One particular clanger was a PL/SQL file which was 5000 lines long, and didn't have a single function in it. It had minimal comments, which were frequently wrong. No-one really knew how it worked. There was no automated testing at all (they'd never heard of unit tests).
What the job should have been was thinking of how to provide value to the customer, trying to improve the system and perform code health updates. What they wanted me to do was do as little as possible to satisfy a work order from the government. This thinking was endemic in the company. One job asked another team to add an email reporting service. It worked on their internal Exchange servers, but they weren't able to figure out why emails weren't arriving at the government offices. Finally someone figured out that the emails didn't conform to SMTP at all. The people implementing this didn't know what SMTP was. The team leader/middle-manager in charge responded "They asked us to write an email sending function. We did. They didn't specify that they wanted SMTP, so they'll have to file another work order."
> This, I think, is not really the sort of system you would call trivial, nor one that the government would want a B or C grade student as the only full-time member on.
While I sympathize with the rest of the story, I think you place too much weight on one's ability to jump through hoops to get grades.
(Disclaimer: My marks were pretty bad, but I was also busy writing games/AIs, and getting into trouble for improving my school's systems.)
Yes, fair enough. I was using it as a "B or C grade" as in "beef grades" in my mind, but I realize what I typed was about actual marks from universities. I totally agree with your assessment :)
"The last I heard of the company was that as a result of my departure, they would no longer hire graduates with A grades."
This reminds me of a Feynman story. After he had found and demonstrated a security hole in a particular type of lock used by the military they "fixed" the issue by ordering everyone not to let Feynman anywhere near the locks :-)
On the contrary, I think that "aggregate number of hours spent on HN this week" would be a very good metric for "interestingness of work this week". Reversely correlated, of course. I would definitely draw that graph.
I know my rate of karma increase decreased substantially when I quit my previous job and started working for a small company (a startup, for a loose definition of "startup").
I don't know if historical karma values are readily available, it would be interesting to plot the rate of change over time.
According to rescuetime, I've been spending a LOT of time lately on HN and links to articles.
It kind of crept up on me and I didn't realize just how bored I've been at work lately. Definitely time to figure out why and how best to return to a happy-nonbored state. (Quitting isn't really a viable option right now)
Quitting no, switching is always an option though. I.e put feelers out, silently pick up a second more interesting offer and give notice. If you have a large amount waiting to vest you may be able to get a match from another employer.
While I was learning how to code (and taking night classes) I worked data entry. Our machines were ubuntu, so they already had python on 'em. In the last few months there, I was spending ~20% of my work time coding. :D
Now my job title actually says "developer" and I'm kept busy. But I kind of miss all the sandbox time I had. I knocked out so many projecteuler.net problems.
> Axiom: Boring work can never compete with Hacker News.
> Axiom: Hacker News can never compete with interesting work.
I disagree[1] with your second axiom. HN, in limited quantities[2], counts as professional development, I would say. That means that limited HN usage is necessary, which certainly helps it "compete".
If I were interviewing someone for a programming job, and I learned that they never read HN or SO or Proggit or /. or anything like that, then I would have some serious reservations about them.
-----------------
[1] Okay, being a mathematician, I know that an axiom simply is; one doesn't agree or disagree with it. But this does mean that your theorem has limited applications.
[2] HN in large quantities, on the other hand ....
Interesting work will teach you far more than HN will. It's very easy to overestimate the amount of professional development you get from Internet websites, because at the end of a session, you can point to an article and say "I learned that". However, at the end of a project, you will very rarely be able to point to something and say "I learned that", but you will have unconsciously absorbed so many problem-solving techniques that you're miles ahead of the guys who sat and read a book the whole time.
I say this as someone who sat on the Internet and read websites about programming all through college. Yes, it was useful - but nowhere near as useful as the time I spent actually programming.
Interesting work gets you in-depth knowledge of whatever you need for that specific job. Reading widely (e.g., HN, in small doses, and taken seriously) gets you breadth. I think we need both.
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.
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.
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.
Sure, 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.
But 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?
in a perfect world, yes. but now you're relying on 2 competent, motivated people instead of 1 competent and motivated person. why rely on 2? why not just give the project manager the authority?
is there something about their ability in this regard you don't trust? then, why are they a project manager? the success or failure of the project could impact the jobs of all of the members of the project, and potentially everyone in the company. why will you trust this responsibility to them, but not the ability to fire individual members of their team?
Project managers manage projects, not engineers. In many cases, project managers are stakeholders in the project. They have conflicted interests. Being able to tell your project manager "no" is important, because it allows engineers to arrest function and scope creep without fearing for their jobs by saying "no" to the wrong person.
.
Where I am right now, we report instead to technical managers, and are allotted to project managers' projects based on scheduling availability, project importance, and a number of other factors.
That's half his point. As a manager you should have full control of your direct reports. You shouldn't even need to ask permission to rearrange focus within your team. He shouldn't have even asked in the first place, though this is probably a sign of weakness in the manager and not so much the upper management of a company (if you have to ask, your peers will automatically play devil's advocate. The status quo, while not most efficient, has usually proved safe enough).
The individual in question may not have actually been under the sole control of the poster, for whatever reason. It doesn't necessarily mean that he needs to jump ship because he's being used as a pawn.
precisely. and ultimately we all answer to the market / your customers / the giant space ants.
however, how i should answer to my boss is in the form of "why was this late". if my management wants to question decisions i make, they can have my job.
you could argue "well, micromanagement is just being proactive". you know what? if you don't trust me, fire me and replace me with someone you trust to get the job done.
That's true, but you should able to manage your team as you see fit. If it doesn't work then you get the blame.
Nothing is more demoralizing that being a manager, but having little to no control over your team and being blamed for the failures. I'm amazed how many business people I come across that ignore or simply don't realize that you can only hold people accountable for things that they have the power to change.
I'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.
Just 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.
But those people aren't really savable anyway, are they?
If you've grown bored and decided that you aren't going to attempt to communicate that in any way to your employer, or do anything to change that boredom, you've already decided that you are on your way out, even if you haven't admitted to yourself.
I would apply the same methodologies to finding out if your problem solvers are "happy with the solution(s)". There are plenty of occasions where engineers are handed solutions they aren't totally keen on. The same trap can be landed in.
It's not always about being bored. Sometimes its about being satisfied with the solution. And in my opinion, both are equally problematic.
About 5 weeks ago I quit my job. I was becoming increasingly dissatisfied with my job role and the level of mental stimulation. So I quit my job.
I walked in told my managers, "Hey, I liked the beginning when I was challenged. Now I'm not. I want to find something new that does challenge me." They asked me what I would find challenging, I told them. They asked me to give them a few weeks before I actually left so they could try to find me something, and they did. I never had to leave and I got what I asked for, challenging and thought provoking work; they got what they wanted, not loosing a worker. It was a win-win.
I can honestly say that attempting to quit my job was one of the best decisions I've made in years.
Yes, waiting for someone's real answer because you care can't be turned on if there isn't a relationship there, but it is the most essential show of respect.
Eye contact or lack thereof is a poor indicator of a persons respect. In some cultures it is considered very rude to look your superior directly in the eye, & trying to force the issue will just make people very uncomfortable around you.
Love that this was on top of HN this morning. Personally, step 1 is simply knowing what your employees are doing, what out of that they like, and what they want to be doing. Then jointly develop a plan to get them more of what they want.
A couple of engineers gave notice in the last week complaining about boredom. They ended up convincing one to stay(salary+ & better projects) but I feel their pain.
I think what happens in a start-up is that once the company reaches a certain size, the 'hard-part' is already done. The type of engineer that gets attracted to working at a start-up is usually one that likes to be in over their head a bit and trying to solve hard problems. Once that 'problem' is basically solved unless they move on to other things(platforms/frameworks/languages/etc), they're inevitably going to get bored, complain, hate their life and then quit.
I'm forwarding this article to management here, hopefully they'll get the hint.
Wow. This article knows me better than I know myself. I've always wondered if that slow creep-in of boredom was a personal failing of mine. Whether it is or not, it's at least nice to know that this a known phenomenon, that someone else has managed to describe to a t. Reading this has actually really empowered me. I really had a lot of shame in feeling bored and bent over backwards to hide it until I quit in a boredball of boredom. I might be more forthcoming about boredom in the future.
Careful I admitted I was bored doing purchase orders of parts (supposed to be an engineering position) in a previous job and the manager went nuts, got in multiple shouting matches with me ("this project is the most interesting work that's come along in a while and yoooou're bored! I'm shocked, just shocked"). Hah. Wrong thing to say to me - if what I was doing then was supposedly better than their baseline normal, suddenly I had no regrets about quitting.
Indeed. One project I had a boring task with nebulous requirements, and said as much: "I find this hard to know when I'm done, and progress is slow. What's next when I am finished". The response? "More of the same!" said with a s* eating grin. :-(
At this point I pushed harder for my internal transfer. I later found out this line manager was "let go". (He'd basically taken all the interesting work for himself, the whole team productivity was bad when I moved.).
Hah! It is relevant.
My manager thinks that I am annoyed when I am distracted from my task at hand. And that is true, to an extent. But I'm really annoyed when he bothers me with trivial minutiae that derail (instead of complimenting) my flow.
If I don’t have a lot of work to do—or if I know the work that I do have could be done by someone fresh out of college—then I assume that the next time there is pressure to reduce staff, my name will be on top of the “to be laid off” list.
This is my last week at my first programming job, my new one starts next Monday. My boss has other businesses in other states, so he was away from this office most of the time, meaning I was able to do pretty much whatever I wanted with my time here. Usually, the office consisted of just my non-technical supervisor and myself. Of course, small projects beyond my control would be requested of me would and I would do them, but this couldn't sustain my interest.
I definitely got bored. But unlike most of you, I had the choice of being bored. Once I realized this I made every effort I could to work on interesting projects. First, I had to start spending about half of my time researching the industry before I would even know what needed to be done. I was then able to identify what was wrong with our systems here and exactly how to improve them. Given lots of time to play around on projects and little supervision, some people might have wasted their time or just did the bare minimum, but I identified areas that could be greatly improved, then replaced/refactored projects as necessary. I took on new projects to address problems I had wanted to fix for a long time regularly.
Being the only programmer here, I didn't get to all of them (I was not working full time). The website was a mess of outsourced crap and it didn't even use objects - I avoided working on it in favor of other projects as much as possible. Back in 2009 I made a prototype replacement website in my favorite language, earlier this year I started work on two code libraries. I'm currently refactoring the website to use a new code library I created, which is going very smoothly. I also spent countless hours (though I logged everything I did) happily working towards PCI DSS compliance, coming from a background with no security expertise. I came up and completed many more projects like these while I've been here. When I was bored it was because I wasn't working on something interesting.
Those are the days where I can work until close and be completely happy. Well, until someone tells me it's time to leave.
Great article. I'm bored, and I surprisingly I found myself doing almost everything described in the article: later arrivals, earlier departures, increased snark or even skipping lunch. I'm in the category of "I'm bored and nobody did anything about it" (perhaps my boss know, because I told my co-worker out loud that I'm BORED) and not I'm not sure what I should do next.
I had a boss that took the opposite approach. Whenever I started to lose productivity, he'd put me on work he knew I'd hate, telling me I'd get to do more interesting things when I showed him I could be productive. So I started working on side projects at the office just to keep my mind from going and became less and less productive until I quit.
He was a talented engineer himself and a good friend. We ended up working together again at another company. A few months after he arrived, I had a slump and the cycle repeated itself. This time we had long meetings where he accused me of being cynical and questioned my dedication; I defended it ("I'm here making much less than I was before, aren't I?"), which was exhausting in itself. I thought the problem was all on my side, so I didn't put up much of a fight when he told me I'd be writing integration tests full-time--no more "real" coding--until I proved whatever he thought needed proving. I forced myself to ignore any side projects I had going. He called me in again later to complain that the tests weren't coming along quickly enough and that they "read like sketch comedy routines". (They did, actually. I was bored, and the tests were full of things like, e.g., Eve getting unfriended by Alice but not Bob and, wounded, trying to spy on Alice. It did tehnically test our access controls!)
Because I was convinced it was my problem, I stuck around long enough to get fired this time. I'm lucky enough right now to have very interesting work (at a big company, of all places), but this article has given me an opportunity to reconsider what happened at the old job in a different light.
Definitely not a good boss, but possibly still a friend.
(No, I'm not just trying to fill out the matrix here. ;)
It's important not to take management too personally. Just because this guy was horrible at understanding motivation doesn't mean he was a bad person or a bad friend, just that he was a really lousy boss. Lots of people don't understand how to motivate others. Lots of people don't consciously understand how to motivate themselves, in fact.
It's probably a good idea not to put up with this forever, but it doesn't mean you can't be friends. I have many friends whom I would never work for. Most of us do, I'm sure.
I've had one job in my adult life go completely sour. I was there for about 3 months and never really found a way to fit in culturally. My aspirations exceeded my role, and I was probably pretty difficult to deal with I imagine.
After I left the company, I thought that my boss would have a lot of animosity towards me. He didn't. Turns out, he knew I was struggling and while he wanted to keep me (I was productive at the very least), he didn't hold any ill-feelings towards me leaving.
As a boss now, I always try to keep that in mind. I inevitably develop personal relationships with every employee I've had. Even when that doesn't work out, I always support them however I can.
He was a friend before, which is why I spent as much time as I did trying to convince him to join the company, and trying to convince everyone that he'd be a good hire for VP of Engineering. We'd hang out on occasion, talk shop on the phone, etc. He's a pretty cool guy, but I don't especially care to see him again. (I was not the only or first one fired; I didn't make any efforts to conceal what I thought about our sysadmin getting fired.)
I'm increasingly picky about who I'll work for (as a direct report), missed this one.
All the more pity as it is/was a great company with a great and respected product.
I've also had very good management (recognized my skills, focused on them, steered me away from the boring crap mostly, Got What I Needed To Do The Job[tm] (permissions, software, hardware, people, information, consultants). And when the shit hit the fan with the company and all contractors were cut, didn't raise my stress levels by drawing out the drama -- it was a clean, fast, surgical cut (there had been FT/Perm cuts before, and most of the executive suite left a month or so later). One of the best bosses I've had, and he /wasn't/ overtly technical.
If your company uses google calendar, I recommend you take a look at your coworker's schedules to get an idea of how many meetings people are subjected-to.
Apart from presenting an interesting problem, I'd say presenting an opportunity to learn something new and valuable is as important.
I developed and maintained an ASP.NET application for a long time and eventually became bored. My boss tried to make things interesting by giving me small new application / feature to solve a problem but having to continue using ASP.NET made my gnash my teeth.
I would have preferring having to figure out some new language/platform where the discovery process would have been rewarding and satisfying.
So give them not only new ends to pursue, but also new means.
I had a nice little company with 30 or so staff, the first employee was a major asset but made a huge mistake when left in charge, ordered 300k of stock in one day from suppliers, then went on holiday and was off sick for some time afterward. The bills wipped out the pre Christmas profits we made and very nearly bankrupted the company. It was a hard slog for a year to get back into the blank, during which time I put him out of the office in final checking and testing. However, after about 8 months of this he landed the bombshell, he was leaving. Despite all pleas for him to stay, (despite his honest blunder he was one of those people you need, would do over and above the call of duty), alas he left. When I replaced him and modernized the management it was less than 16 months later he arrived in my office after I had called him in tears ( I don't cry) explaining the bookkeeper and general manager had scammed me out of over 100k... later I explained why he was 'demoted' I was astonished to realize he was oblivious to the problem he had created, how on earth had I managed to miss that vital information while begging he stay with the company? Being too involved and too busy, along with not trying to have a blame culture is what proceeded those events. My utter shock though at his ignorance to the real problem, and in his boots I guess I would have left too.
155 comments
[ 2.8 ms ] story [ 243 ms ] threadYour boss won't always explicitly tell you to take time to experiment. I've gone to my boss many times and essentially asked for time to experiment. If you have a good boss, he'll be right there with you. Don't be afraid to ask.
Force is not the answer for dealing with shy people.
It is way to easy to do "manager drive-by" and get absolutely no sense of reality from employees.
This is on both sides to get right. The manager waiting, and the employee taking the time to "look them in the eye".
i've learned that a lot of people see it as important, so i do an exercise when i walk to work, making eye contact with as many people as i can. it's helping but it's still hard for me - i feel like i'm being intrusive and slightly aggressive by making eye contact with someone.
Axiom: Hacker News can never compete with interesting work.
Theorem: The interestingness of my work is inversely related to my Hacker News participation.
Supporting data: Today I'm regression testing. I'll be here all day, folks.
Idea: Employers, monitor your logs for Hacker News. Occasional spikes probably indicate boring, but necessary tasks. Chronic use probably means your devs are bored. Bored devs probably means you better take a deep hard look at everything else.
There's an interesting gem here. No job is 100% excitement, all the time. More to the point, that kind of a job would burn you out.
The key is having a proper ratio.
This not a good use of my time, and I hate seeing that console, and I feel bad for being on HN when I could be productive.
Unit tests would ensure stupidity was not a possibility, and regressions could be tracked. Too late for that, unfortunately.
So I watch.
Part of the problem, though, is tools. A lot of things are built for resource use minimization. That made sense 20 years ago, but now I have 8 GB of RAM and 4 fast cores on my desktop, and most of that capacity just sits idle. As far as I'm concerned, if I'm typing and the compiler isn't already running then it's missing an opportunity.
(2) if you're thinking "how can they be bored when everything is so busy and there's so much to do?" maybe you are one of those over-managing bosses that doesn't delegate enough and, surprise, ends up running around being busy while everyone else is bored and lacking responsibilities. [i considered posting this anon, but it's not aimed at my current employers and, if you know me, you'd know i'd have said it to their face if it were...]
You could download large binaries for only so long to cover your tracks, so I just ended up running a constant SSH session to a Lynx browser, so casual passersby would think I was working.
I quit about 6 months later for many other very good reasons, boredom being a huge one. A couple of months earlier I had asked if I could transfer to a new role (from developer to admin), which was flatly denied. When I announced I was leaving, one of the three senior management came up to me and said that in the last management meeting he had said I was bored and that they needed to find something more for me to do. Apparently he was shouted down (metaphorically).
The last I heard of the company was that as a result of my departure, they would no longer hire graduates with A grades. They would look for B or C grades from now on. I can't imagine a worse lesson to learn, but there you go.
Speaking of your actual point (that the employee was overqualified), I think the company that considers A students overqualified for work for which it prefers to hire B and C students is going down a dangerous path. A,B,C here are not the qualification levels but performance levels.
More specifically: I was the only full-time developer on a database which processed welfare payments for a smallish country, to the tune of hundreds of USD a year. This, I think, is not really the sort of system you would call trivial, nor one that the government would want a B or C grade student as the only full-time member on.
The company wanted someone that would essentially keep the lights on, on a legacy system that was woefully inadequate. One particular clanger was a PL/SQL file which was 5000 lines long, and didn't have a single function in it. It had minimal comments, which were frequently wrong. No-one really knew how it worked. There was no automated testing at all (they'd never heard of unit tests).
What the job should have been was thinking of how to provide value to the customer, trying to improve the system and perform code health updates. What they wanted me to do was do as little as possible to satisfy a work order from the government. This thinking was endemic in the company. One job asked another team to add an email reporting service. It worked on their internal Exchange servers, but they weren't able to figure out why emails weren't arriving at the government offices. Finally someone figured out that the emails didn't conform to SMTP at all. The people implementing this didn't know what SMTP was. The team leader/middle-manager in charge responded "They asked us to write an email sending function. We did. They didn't specify that they wanted SMTP, so they'll have to file another work order."
I have many more like this.
While I sympathize with the rest of the story, I think you place too much weight on one's ability to jump through hoops to get grades.
(Disclaimer: My marks were pretty bad, but I was also busy writing games/AIs, and getting into trouble for improving my school's systems.)
This reminds me of a Feynman story. After he had found and demonstrated a security hole in a particular type of lock used by the military they "fixed" the issue by ordering everyone not to let Feynman anywhere near the locks :-)
What you're looking for isn't the absolute value of, e.g., HN participation, it's the first or second derivative.
I don't know if historical karma values are readily available, it would be interesting to plot the rate of change over time.
I'll be handing in my notice as soon as possible.
According to rescuetime, I've been spending a LOT of time lately on HN and links to articles.
It kind of crept up on me and I didn't realize just how bored I've been at work lately. Definitely time to figure out why and how best to return to a happy-nonbored state. (Quitting isn't really a viable option right now)
Thus, I should be looking for a job that has nothing but boring work. :)
Now my job title actually says "developer" and I'm kept busy. But I kind of miss all the sandbox time I had. I knocked out so many projecteuler.net problems.
> Axiom: Hacker News can never compete with interesting work.
I disagree[1] with your second axiom. HN, in limited quantities[2], counts as professional development, I would say. That means that limited HN usage is necessary, which certainly helps it "compete".
If I were interviewing someone for a programming job, and I learned that they never read HN or SO or Proggit or /. or anything like that, then I would have some serious reservations about them.
-----------------
[1] Okay, being a mathematician, I know that an axiom simply is; one doesn't agree or disagree with it. But this does mean that your theorem has limited applications.
[2] HN in large quantities, on the other hand ....
If work is boring then HN reading is the must to compensate in professional development.
I say this as someone who sat on the Internet and read websites about programming all through college. Yes, it was useful - but nowhere near as useful as the time I spent actually programming.
Yours truly, CiteSeer & Google Scholar
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.
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.
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.
Imo, if you are managing a team of people, you're a manager whether or not you have total hiring / firing power.
is there something about their ability in this regard you don't trust? then, why are they a project manager? the success or failure of the project could impact the jobs of all of the members of the project, and potentially everyone in the company. why will you trust this responsibility to them, but not the ability to fire individual members of their team?
.
Where I am right now, we report instead to technical managers, and are allotted to project managers' projects based on scheduling availability, project importance, and a number of other factors.
With due respect, I think your notion of how interpersonal relationships work in this sort of situation is rather flawed.
however, how i should answer to my boss is in the form of "why was this late". if my management wants to question decisions i make, they can have my job.
you could argue "well, micromanagement is just being proactive". you know what? if you don't trust me, fire me and replace me with someone you trust to get the job done.
Nothing is more demoralizing that being a manager, but having little to no control over your team and being blamed for the failures. I'm amazed how many business people I come across that ignore or simply don't realize that you can only hold people accountable for things that they have the power to change.
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.
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.
If you've grown bored and decided that you aren't going to attempt to communicate that in any way to your employer, or do anything to change that boredom, you've already decided that you are on your way out, even if you haven't admitted to yourself.
It's not always about being bored. Sometimes its about being satisfied with the solution. And in my opinion, both are equally problematic.
Sometimes boredom is a result of giving up the fight.
I walked in told my managers, "Hey, I liked the beginning when I was challenged. Now I'm not. I want to find something new that does challenge me." They asked me what I would find challenging, I told them. They asked me to give them a few weeks before I actually left so they could try to find me something, and they did. I never had to leave and I got what I asked for, challenging and thought provoking work; they got what they wanted, not loosing a worker. It was a win-win.
I can honestly say that attempting to quit my job was one of the best decisions I've made in years.
If anybody did anything that psychotic with me, I'd quit and head for saner pastures ASAP.
A couple of engineers gave notice in the last week complaining about boredom. They ended up convincing one to stay(salary+ & better projects) but I feel their pain.
I think what happens in a start-up is that once the company reaches a certain size, the 'hard-part' is already done. The type of engineer that gets attracted to working at a start-up is usually one that likes to be in over their head a bit and trying to solve hard problems. Once that 'problem' is basically solved unless they move on to other things(platforms/frameworks/languages/etc), they're inevitably going to get bored, complain, hate their life and then quit.
I'm forwarding this article to management here, hopefully they'll get the hint.
At this point I pushed harder for my internal transfer. I later found out this line manager was "let go". (He'd basically taken all the interesting work for himself, the whole team productivity was bad when I moved.).
I definitely got bored. But unlike most of you, I had the choice of being bored. Once I realized this I made every effort I could to work on interesting projects. First, I had to start spending about half of my time researching the industry before I would even know what needed to be done. I was then able to identify what was wrong with our systems here and exactly how to improve them. Given lots of time to play around on projects and little supervision, some people might have wasted their time or just did the bare minimum, but I identified areas that could be greatly improved, then replaced/refactored projects as necessary. I took on new projects to address problems I had wanted to fix for a long time regularly.
Being the only programmer here, I didn't get to all of them (I was not working full time). The website was a mess of outsourced crap and it didn't even use objects - I avoided working on it in favor of other projects as much as possible. Back in 2009 I made a prototype replacement website in my favorite language, earlier this year I started work on two code libraries. I'm currently refactoring the website to use a new code library I created, which is going very smoothly. I also spent countless hours (though I logged everything I did) happily working towards PCI DSS compliance, coming from a background with no security expertise. I came up and completed many more projects like these while I've been here. When I was bored it was because I wasn't working on something interesting.
Those are the days where I can work until close and be completely happy. Well, until someone tells me it's time to leave.
He was a talented engineer himself and a good friend. We ended up working together again at another company. A few months after he arrived, I had a slump and the cycle repeated itself. This time we had long meetings where he accused me of being cynical and questioned my dedication; I defended it ("I'm here making much less than I was before, aren't I?"), which was exhausting in itself. I thought the problem was all on my side, so I didn't put up much of a fight when he told me I'd be writing integration tests full-time--no more "real" coding--until I proved whatever he thought needed proving. I forced myself to ignore any side projects I had going. He called me in again later to complain that the tests weren't coming along quickly enough and that they "read like sketch comedy routines". (They did, actually. I was bored, and the tests were full of things like, e.g., Eve getting unfriended by Alice but not Bob and, wounded, trying to spy on Alice. It did tehnically test our access controls!)
Because I was convinced it was my problem, I stuck around long enough to get fired this time. I'm lucky enough right now to have very interesting work (at a big company, of all places), but this article has given me an opportunity to reconsider what happened at the old job in a different light.
(No, I'm not just trying to fill out the matrix here. ;)
It's important not to take management too personally. Just because this guy was horrible at understanding motivation doesn't mean he was a bad person or a bad friend, just that he was a really lousy boss. Lots of people don't understand how to motivate others. Lots of people don't consciously understand how to motivate themselves, in fact.
It's probably a good idea not to put up with this forever, but it doesn't mean you can't be friends. I have many friends whom I would never work for. Most of us do, I'm sure.
I've had one job in my adult life go completely sour. I was there for about 3 months and never really found a way to fit in culturally. My aspirations exceeded my role, and I was probably pretty difficult to deal with I imagine.
After I left the company, I thought that my boss would have a lot of animosity towards me. He didn't. Turns out, he knew I was struggling and while he wanted to keep me (I was productive at the very least), he didn't hold any ill-feelings towards me leaving.
As a boss now, I always try to keep that in mind. I inevitably develop personal relationships with every employee I've had. Even when that doesn't work out, I always support them however I can.
If cannot figure it out - find another job.
I'm increasingly picky about who I'll work for (as a direct report), missed this one.
All the more pity as it is/was a great company with a great and respected product.
I've also had very good management (recognized my skills, focused on them, steered me away from the boring crap mostly, Got What I Needed To Do The Job[tm] (permissions, software, hardware, people, information, consultants). And when the shit hit the fan with the company and all contractors were cut, didn't raise my stress levels by drawing out the drama -- it was a clean, fast, surgical cut (there had been FT/Perm cuts before, and most of the executive suite left a month or so later). One of the best bosses I've had, and he /wasn't/ overtly technical.
I developed and maintained an ASP.NET application for a long time and eventually became bored. My boss tried to make things interesting by giving me small new application / feature to solve a problem but having to continue using ASP.NET made my gnash my teeth.
I would have preferring having to figure out some new language/platform where the discovery process would have been rewarding and satisfying.
So give them not only new ends to pursue, but also new means.