Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

After graduating from college I was hired as a junior programmer a little over a year ago. I quickly noticed that I was degrees of magnitude faster than all the other programmers; this seems to be because I simply don't waste time "in general". The majority of other people however seem to enjoy staring at the ceiling, browsing YouTube, Facebook, and random websites, and in general doing in a day the work I usually do in an hour. I'm 100% sure they would be able to do that work in an hour too if they focused.

I've been quickly promoted to senior developer and more recently to team leader and now I replaced a lot of those people with new hires (still a couple to go). The situation is now more acceptable, but still I think it could be much better.

I can't help but notice though, that everyone seems to behave like this is "normal". All my bosses aren't concerned about this and they too seem to work little to nothing. I always have a very hard time finding them, they arrive much later than they are supposed to and leave early. Obviously there is nothing I can do in this case since they're above me, but is this is the "norm" in all companies, or did I simply end up in a very bad one (this is my first work experience)?

Also, will I "become like them" in a few years?

share

locked by Yannis Rizos Mar 13 '12 at 20:14

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

83  
After a year working there you were promoted to a senior developer and a team lead? –  Jon Jun 6 '11 at 15:20
25  
People are lazy if they are allowed to be. Get used to it. –  Bernard Jun 6 '11 at 15:21
72  
Lazyness is one of the three prime virtues of good programmers. –  back2dos Jun 6 '11 at 17:44
60  
How do you know your co-workers and bosses aren't just more efficient than you are, then again, maybe they got prematurely promoted to their level as well. Remember effort isn't part of Accomplishment. For only "a little over a year" of experience, you sure are "100% sure" of a lot of things ... –  Jarrod Roberson Jun 6 '11 at 17:53
90  
I met a guy who claimed to be orders of magnitude faster than the average programmer. He was a heavy copy-and-paster. He was extremely fast at creating unmaintainable code. –  Kyralessa Jun 6 '11 at 23:02
show 10 more comments

25 Answers

up vote 152 down vote accepted

One possible explanation is that the management has planted this "culture" with their own example. Employees often inherit the attitude from the above.

One other (and the most likely) explanation is that people are not motivated. Perhaps there is no reward for doing the job better therefore there is no need to bother. Only one concern here, is that the talented ones would normally move elsewhere seeing the work culture. Perhaps they have and you're left with the sediment? To that point there is an interesting read: The Wetware Crisis: the Dead Sea effect: Bruce F. Webster

share
40  
I worked a summer job in college in a non-union factory like this. They paid about a quarter the hourly rate people would get in a similar union shop - and were satisfied with about a quarter the productivity. I simply refused to do anything other than work hard, and over the course of the summer, made them a ten-year supply of the parts I was working on. At one point, a co-worker took me aside and asked me to slack off because I was making people look bad. There's a note in my personnel file there that I'm an instant re-hire, so if software ever goes totally south, I can grind collets. :-) –  Bob Murphy Jun 6 '11 at 16:29
10  
+1, because although i don't know about the management having planted this culture, it certainly couldn't grow without their inattention. An incompetent gardener needn't plant weeds; it's enough not to take a hoe to them. –  Tom Anderson Jun 6 '11 at 18:58
38  
This is relevant: "It's a problem of motivation, all right? Now if I work my @$$ off and Initech ships a few extra units, I don't see another dime, so where's the motivation?" - Peter Gibbons, Office Space –  David Murdoch Jun 6 '11 at 19:20
10  
I think this is a good answer, and it's very possible that this is indeed the case, but, user27112, I'd really figure out if this is indeed the case, or you just picked this because it is the answer that is closest to your prejudice. –  GolezTrol Jun 6 '11 at 21:57
3  
"They paid about a quarter the hourly rate people would get in a similar union shop - and were satisfied with about a quarter the productivity." Strange, because usually union shops are extremely unproductive because there's no incentive to be productive. Your job is safe for eternity, your pay goes up whether you do anything or not, etc. etc. –  jwenting Jun 7 '11 at 9:06
show 3 more comments

How do you deduce they are not working?

As a junior I typed all day, hacking away at my code, with just 20 minutes for lunch. The more "senior" I got, the less time I spent typing and the more time I spent thinking.

If I "stare at the ceiling" and my producer walks into the room, she starts to smile, because she knows in half an hour I will have solved a problem that the "juniors" have been trying and failing at for the last few weeks.

As a developer

  • I don't get paid to type
  • I don't get paid to write code

I do get paid to solve problems.

And solving problems works far better if I think before I do.

Over the last few years I have seen this tendency to just hack down the first thing that comes to mind and then tweak and debug it until it seems to be doing what you want.

(Usually ignoring all the corner cases until they hit you later.)

I still remember the mainframe days, where you wrote your code, submitted it and waited for an hour or two until you got the first output. Guess what, you just didn't forget a semicolon or a bracket back then.

Do not judge until you have the experience to do so.

Please come back in five years and add a comment about what you learned.

share
51  
The reason I know is that stuff simply doesn't get done. We have a bug tracking system and everything goes through that so it's very easy to see/check (and now this is part of my job). I also find your post mildly insulting as you are basically saying that I don't know what I'm talking about... –  user27112 Jun 6 '11 at 17:22
148  
this is the most experienced answer so far ! My opinion is, becoming senior developer and team lead in less than a year, sounds like the work isn't very challenging or complicated to begin with and your co-workers aren't high-level developers either, maybe they went from junior to senior level prematurely as well, you might be bright, but you definitely lack experience if you find Andreas answer insulting, it is because you don't have the experience to understand why he has the best answer so far. –  Jarrod Roberson Jun 6 '11 at 17:24
12  
+1: Said what I was thinking. I stare a lot because all the stuff I could bang out without thinking I wrote years ago, and just import as needed. –  Satanicpuppy Jun 6 '11 at 18:06
23  
-1, because i don't think this is the OP's problem. I think the OP's problem is that he works with people who either can't do their job, or just can't be bothered to, and whose bosses tolerate it. There are a huge number of people in our industry who are basically nothing but oxygen thieves, so many that it is tolerated as a norm, and it sounds like he's trapped in a bubble of them. Andreas, if you've never worked with people like that, count yourself lucky - most of us have. –  Tom Anderson Jun 6 '11 at 18:57
20  
+1, throughout all of the original question and the OP's comment here, I didn't see one ounce of measurement whether the work done was done "right" or if they are sure they won't be fixing or redoing all that work later. Too many developers think they've done "the most work" because they closed the most bugs in their bug tracking system. –  NickC Jun 6 '11 at 19:45
show 4 more comments

I feel like I am staring into a mirror of me from seven years ago...I will share with you my experience.

I was in a position like yours. Within a year I was senior level at the company I was at and I seemed to be churning out code twice as fast as everyone there. This went on for another couple of years before I got bored.

I then went on to a much, much larger company where I need to work harder. However, at this much, much larger company I too seem to have long stretches where I'm not "doing anything" as well. What I am really doing during this time period is mulling over a problem that is probably 3 times as hard as the hardest problem I've solved at my previous place of employment.

What I would say if I were you is that you should move on to a company with harder problems to solve. The one you are at is not challenging enough for you it appears.

share
11  
very insightful about the level of difficulty and complexity at different companies. –  Jarrod Roberson Jun 6 '11 at 17:28
add comment

Most people are content with their pay check and do just enough to not get fired.

share
70  
As it should be. Work to live, not live to work. –  Wayne M Jun 6 '11 at 17:31
12  
Until you're at a company with minimally low expectations and you're constantly slipping on schedule because of these employees. I'm not asking people to work more than 40 hours, I don't. But be productive during those 40 –  PSU_Kardi Jun 6 '11 at 18:03
39  
people work just enough not to get fired, much as most companies pay them just enough for them not to quit. Both sides attempt to minimize effort. –  GrandmasterB Jun 6 '11 at 18:38
14  
@GrandmasterB: Sounds to me like a saying from the communist GDR: "They pretend to pay us and we pretend to work." Not something to emulate and take pride in. –  starblue Jun 6 '11 at 19:14
30  
@Starblue: But he's right. I've learned (the hard way) that unless you are personally vested in the company, it's not worth the effort to go "above and beyond" doing what you have to to do a decent job; I'm not saying slack off and don't do anything, but there's no reason to do more than you have to. It's a fool's errand to spend your life making somebody else's dreams come true. –  Wayne M Jun 6 '11 at 19:34
show 14 more comments

Are you sure people "aren't working"? Software development is not the kind of job where you are typing away 8 hours a day, in fact if you are doing that I would say you're doing it wrong. In my experience (~6 years) I normally spend only 4-5 hours a day actually writing code; the rest is spent thinking of how to solve problems, maybe running some scenarios in my head, quickly typing out some pseudocode, or looking to see if the problem has been solved (i.e. searching SO or similar sites).

share
30  
I've seen this happen a lot - new programmers are given a task, and they immediately start typing away furiously. "If you're typing you're not thinking", I used to tell them. –  GrandmasterB Jun 6 '11 at 18:39
6  
Sadly, I've seen a lot of cases where that mentality is reversed. "If you're not typing, you're not working." –  Wayne M Jun 6 '11 at 19:21
1  
To be fair, I type away as soon as I can (which is often not that soon), but in comments, not in code. –  Kzqai Jun 7 '11 at 2:11
2  
A question like that would definitely be a red flag about the company, although with my answer (something to the effect of "I don't know, but wpm doesn't matter in software development") I wouldn't likely get the job anyway. –  Wayne M Jun 8 '11 at 11:05
show 2 more comments

My team lead writes slower Java code than me, he asks me for Java-related advice from time to time and his Java coding style is horrible (it's like C). It also seems like I should swap title with him. BUT! when it comes to interacting with people across diverse teams he communicated 100 times more efficient than me, he understands what people are saying better than me, his interpretations of people's comments are more insightful than mine. Also, his knowledge in AIX, database, and middleware is just far more superior than mine.

Whenever he was writing Java code, I wondered if he was doing work at all. Whenever I was configuring database I wondered if my team lead thought I was not doing work at all.

I had difficulty understanding why he was my team lead, but not anymore after working with him on several projects.

It's OK to make assumptions about people, we all do subconsciously. Just keep in mind that assumptions need to be validated. A surfing developer may be spawning multiple background threads in his head thinking the best way to tackle a problem. The other developer may take longer to finish his code because he/she spends more time on testing and structuring his code.

The point is, talk to people to find out more about them, especially if they're your team members.

share
15  
The fact that your team lead will ask questions and for help is a sign of a greate lead to me. –  Chad Jun 7 '11 at 19:20
2  
@Chad I didn't think so last year, but now I agree with you. –  Alvin Jun 7 '11 at 19:51
show 1 more comment

I'd be curious to see how you feel in another year. Will you burn yourself out? Is your pace sustainable in the face of also having an active life outside of work?

I also wonder - do you do things without proper deliberation? Surfing the internet may seem like a time-waster - and it can be! - but it also can be time to let the back part of the brain chew on a problem and find a more sophisticated solution than the obvious one.

Or maybe you're just not working on hard enough problems. You're being promoted - eventually you will rise to your level of incompetence. How will you adapt to that challenge?

Or perhaps you'll get bored at your current job, and move to one with a different culture of work. Gaming companies are notable for the intense level of focus required - and as a result they burn through employees pretty fast. In contrast, other jobs have managed to achieve comfortable profitability with a short, easy work day.

For now, enjoy your ability to maintain a high work output, and reap the rewards.

share
show 1 more comment

Good question. First of all congratulations on your hard work ethic, and your energy for building a career and doing great work - it's a very admirable trait that will take you a long way.

I think a lot of the answers here are off the mark - people are assuming that the original poster is mistaken in his interpretation of his colleagues' behaviour. This leads to lots of replies such as "Effort and Productivity Do Not Equal Effectiveness". In this case, I prefer to take him at this word, that yes his colleagues don't perform as well as he does (as evidenced through bug tracker or simple observation whatever) - let's just assume it's true. Now, how do you answer his question: is it "normal" to not work? My interpretation of what the OP is asking is: "is it normal to work less hard than he does"? Note that he says he is 100% sure they could also do the work in the time he does, if they applied themselves - so he's not claiming superior ability.

My take on this is that it actually is normal behaviour for some people to slack, as it is equally normal behaviour for others to work to the max of their abilities - there's a spectrum. To the OP, clearly you are not one of the former, you are near the latter end of the spectrum. What positions us on a particular point on the spectrum? And can people move along this spectrum? My answers to these 2 questions are: 1) motivation and 2) yes they can move (I've done it myself). JB King's answer addresses this issue of motivation. If you are now in a more senior role in the company, then you can now to some extent guide people's motivation. Whether you use a carrot or a stick is up to you - my sense is that you are more familiar with the stick (correct me if I am wrong).

Your second question is: will you "become like them". Probably not given that you are clearly quite a distance along the slacker spectrum from where they are, but the reality is that, as humans we are strongly influenced by our environments, so you won't be immune to your colleagues. So if you stay in that particular work place for long enough, you may find yourself moving along that motivation spectrum just through the sheer inertia of the place. In the opposite case, if you had, say, joined a startup chasing an IPO back in 1999, you probably would have found not enough hours in the day to get your work done, and you may have found yourself going even further along towards the other end of the spectrum (plus you may have coincidentally noticed your health deteriorating :-) ).

A few personal comments that came to mind reading the question (note these may be of little interest if you are just seeking an answer to your question):

First, my immediate reaction to your question was one of anger. When I paused to consider why, I realised in a moment of shame, that you were essentially reminding me of a younger version of myself. The reason I say shame, is that I was an arrogant son-of-a-bitch, who worked hard, thought I knew it all, and judged all my colleagues harshly for what I perceived to be their slacker attitudes. In fact I judged some of them so harshly that I never allowed myself the opportunity to get to know them as people, and to learn what they could teach me (not just technically but as humans). It was a painful journey for me to allow myself to be part of a "team", each one playing his part - some the generals and some the foot soldiers. Yes it was true that some of them were slackers, but my judgemental attitude prevented me from either understanding them or possibly even motivating them. My bad. So yes, reading your question brought up my anger, but not anger with you, but with my own earlier lack of empathy.

This lack of empathy is quite a common thing among smart technical people - while I don't think techies have more sociopath tendencies than the norm, I certainly have seen enough techies who lack social skills (either learned or through natural empathy) to know it's an issue in the tech world. For example, I wonder did you ever ask yourself what the effect of your actions were on the people who got fired? On their wives, kids, mental health? Did you even know them as people?

What was helpful for me was to focus on improving myself, leading by example, and stop JUDGING other people. It makes people like you a lot more for it, and everyone will be happier.

Finally, it's also an age thing - when I was your age (a year out of college, I guess that makes you 22?) I knew NOTHING. Ironically the younger you are, the more you think you know. One of the great gifts of aging is the realisation that you the more you know, the more there is to know, so in fact, the less you know in relative terms. This leads to a surrendering of control, to try to be less autonomous, to connect more with others so that we can share our skills for the good of everybody (in a quid pro quo manner, NOT in a communist manner LOL). It's normal healthy maturing stuff. If you're already connected to other people (in the REAL world, not in IRC) that will help with that process. It's a bit like the analogy of the more a stone gets rubbed, the more polished it becomes - it's the same with our egos.

share
add comment

My guess would be that everyone has different things that will motivate them. Dan Pink's TED Talk notes a few motivators such as Autonomy, Mastery and Purpose. Top Three Motivators For Developers (Hint: not money!) covers similar ground.

Culture may be a factor though another is what kind of work does the company do. There may be layers of bureaucracy in some places that may make things work slow and not quite be as dynamic as a start-up where there are a handful of employees and everyone is wearing several hats.

Just as a final suggestion, you may want to see if there are groups near you that have professionals in your field that may be a way to see if others have similar stories or if they work where there is a different attitude that you may want to move to that.

share
5  
This cartoon visualization is really nice: youtube.com/watch?v=u6XAPnuFjJc –  user1249 Jun 6 '11 at 21:28
show 1 more comment

The problem is that in some jobs you do more work and put in extra effort but get rewarded the same, but yet next time around you are expected to do just as much or even more work than before. Some people don't want to set the bar too high. You may hate me for saying this, but what's the point of working harder if you're not going to be rewarded for it?

share
add comment

I have seen people continuously working and deliver cheap quality code which is not maintainable. They just argue that it does what it is supposed to and that is more than enough.

Mediocrity knows nothing higher than itself, but talent instantly recognizes genius.

They highlight even their silly tasks as phenomenal and neglect real innovation from others (self centered).

I have also seen people who are really cool and are real innovators, doing their work in a dignified and efficient way even though you see them 'staring at ceiling' at times. Also, there is a difference between 'Worker' and 'Professional’. A professional means a lot more and he may have to spend time to think and innovate which a worker not always can understand! The impact of such innovations are much substantial than a worker ever have thought or can bring in. Probably these may be the cases in your office.

Moreover, I don't think corporates nowadays tolerate people who do 'nothing' or people who are really inefficient.

share
3  
This reminds me of the developers who dont want to do to good of job for fear that they will no longer be needed. I still say if I ever manage that I will put it on my resume with pride. –  Chad Jun 7 '11 at 19:23
2  
This is because of the Dunning-Kruger effect. Incompetent people lack the meta-cognitive skills to recognize that they are incompetent, which is why they remain incompetent. –  Mud Jun 7 '11 at 21:25
5  
@Mud , Yes it is Dunning-Kruger effect, I see. What I felt is OP has it in him. Usually whenever I encounter such people who claims they are too good and others are all bad, I turn skeptic of them. Whatever be thefact, that attitude is not really healthy. Most of these guys are real paranoiacs who dismiss the notion of cooperation and see competition and struggle everywhere. They just dont appreciate good work culture. –  Kiran Ravindranathan Jun 8 '11 at 5:55
add comment

Honestly, it's just something you have to get used to in life. There are companies and people like this in every industry. It comes down to different factors for each person and what motivates them.

Do your best to change the environment you work in, like you seem to be doing now, or try to find another place to work that doesn't tolerate slackers. I do applaud you for your work ethic, because you're definitely in the minority at your age (in my personal experience). Congrats on your success, thus far.

share
add comment

I spend a lot of time thinking about problems, but also a considerable amount of time checking my e-mail or Facebook, or writing answers on Stack Overflow. The rest of the time I am truly focused and get a real lot of work done in high quality code. In the time I am doing other things, I get some kind of rest as well, and it allows me to let sink in various options I thought of to tackle a problem.

Partially this is a matter of experience. Some developers type a lot of code and then spend a lot of time debugging and polishing the code, while others draw a mental picture, and write the code in a single run. I've had moments where I found out I was typing a couple of hundreds of lines of code in over a day, without even compiling or syntax checking. Then, when I was done, I only had to put in a few forgotten ;s to get the stuff up and running.

This is not only a matter of experience, but also the way how people work. Some colleagues are just typing code all day, while others are doing lots of (seemingly) other things and then have a great burst in which they do their work. I'm in the second group, but couldn't manage to have a day full of there bursts. The others on the other hand, will work in a more constant pace with less bursts, and won't get their work done if they'd spend 2 hours a day staring at the ceiling. Maybe you are in that first group.

Then it is true that some work harder than others. Partially because of lack of knowledge, experience or talent, or sometimes because they don't care. But you really have to look closely to both the way they work and the work they deliver. You can't just say people are not working hard because they spend more time doing other things than you.

share
show 1 more comment

It's very normal for developers — being as they are in a "knowledge profession" — not to be sat typing away frantically for the exact period of time between 9 a.m. and 5.30 p.m. Creativity must come naturally, and that often involves procrastinating/relaxing during the day; when a burst of ideas comes, that's when the fingers start to fly. It's frustrating that management — not used to such professions — do not understand this. When Facebook and YouTube get blocked, software developer productivity goes down.

Having said that, it sounds like your business is made up of exceptionally lazy people. If people are really sitting doing nothing "all day", on a regular basis, then something is wrong.

share
show 2 more comments

Pair programming helps

If you're sure that developers waste lots of their time I suggest you start practising pair programming because it tends to make people focus on the problem at hand and since there's one more pair of eyes on their screen they tend to close sites like facebook, twitter etc and focus on code.

share
add comment

It takes all kinds.

There is some truth to the prior answers. Corporate culture has a way of wearing people down, and most developers in their tenth year don't approach their jobs with the same gusto as those in their first.

It's also true that more senior development jobs require less coding and more thinking, so a senior developer may not be typing furiously, but still accomplishing a lot.

Ideally, a team will have a mix of energetic junior developers to provide some energy and some senior developers to supply some wisdom, and both can learn from each other.

share
add comment

I think that may be you are not judging well enough the quality of work made by the people working with you.

Different people have different ways to get focused, and have also different goals to achieve with their own work. I think that if it's really true that what you get done in one hour equals the work made by them in a whole day (something I am a bit doubtful about), it's because their work plans are extremely different than yours. May be you are working at a higher speed and intensity that what is really healthy for a person (you are just in the beginning of the working era of your own life).

I've worked in many companies, even before I graduated from school. So, I've seen many scenarios and met many different kinds of coworkers and people in general, and in some moments I felt I was quicker and more efficient, and some other times I felt much the opposite, and what was the real difference was the type of company and what is a consequence of that: the kind of work and projects a company often get involved into. May be you are working in a wrong place, or it should be the right place with different bosses...

A last idea: remember that effectiveness is something very hard to evaluate, it doesn't involve only how many lines of code you produced, or how many projects you lead after they got complete. The happiness of the people working there is something extremely important, and good companies realize that before their workers get mad or end up with stress or any of other illness related to much intense work and activities.

share
show 1 more comment

Programmers are often treated like dumb coders that code and don't understand anything about management. So often they feel no obligation to work hard. Also after some time they figure out that management isn't a bunch of geniuses- at least when it comes to figuring out how much does it actually take to do something. So... there you go. Sorry for a short answer, but it doesn't mean that it is not true.

share
add comment

I was advised not to work too fast as I would end up having people expect the same from me all the time. And if I end up in a situation where I am facing a block, I shall be pressurized by the people for solutions - This sounds logical to me.

However, to get people who actually do this to perform better, their managers must incentivize performance.

share
add comment

Many good points here. As many have said, either you are not challenged enough at your current place of employment, and/or the the culture there does not promote high productivity. You have less than two years of actual work experience -- and that at one company, so you need more experience in order to figure this one out for yourself. What you will get here will mostly be opinions based on others' experiences. Either way, I think you really need to start looking for a new job, since you are not very happy with the current situation. You may indeed be smarter/more efficient than your peers, but it is more likely that the company's culture is not aligned with your work ethics. I assure you, once you land a job that is both challenging/rewarding, you will find yourself thinking more and coding less, and appreciate the slack time to get your mind off "thinking hard" all the time. There is nothing wrong in my opinion with starring at the ceiling/browsing the web (in moderation of course), so long as you get your work done well and on time. If "slacking" is not your thing, maybe spend the down time coaching others. You will find this just as rewarding as completing your own work.

Also, keep in mind work/life balance. I know many who work very hard and are high producers at their respective companies, but do not spend enough time outside of work. You do not want to find yourself in 2,3 years wishing you had time to travel here, experience this or that, or do other things you simply won't have the time for because you are spending a lot of time at work and now have responsibilities you feel take priority over anything else in your life.

To answer your question, no, this is not the norm everywhere, this is dependent on the organization's culture and your personal values, and I'm sure you will come to this conclusion as the years go by.

share
1  
"If "slacking" is not your thing, maybe spend the down time coaching others." - that would interfere with them "browsing youtube/facebook/random websites". Can't have that. Ah wait, it's a good test to check their priorities - learn something useful on the job or slacking instead. :) –  user8685 Jun 7 '11 at 16:01
add comment

The simple answer to this is that our culture pays people for working a 40 hour (or X hour) week. This is a terrible idea. People should be paid on a task basis. A project should be properly assessed and scoped. People are always motivated to work towards an objective. Paying people by the hour/day is paying them to sit there, which offers no motivation.

share
2  
Other problems with task-based pay is that everybody wants to do the "easy" tasks (that is, those that promise most pay for least amount of work), there is no incentive to do a good job on a task (you just need to do it well enough to convince someone it is "done"), and people are discouraged from working together for overall benefit of the organization. People should not be paid by-task or by-hour; they should be paid based upon their overall value to the organization that is paying them. Unfortunately, that is hard to quantify. –  Kristopher Johnson Jun 9 '11 at 13:45
show 1 more comment

The reason they're not doing any work is because they're waiting for their code to compile!

Seriously though the management literature I've seen indicates that the amount of productive time (ignoring toilet breaks, coffee breaks, nose picking, surfing etc.) people spend at work is actually surprisingly low. To the extent that the average is something like 50% and if someone's doing above 60% it's an achievement, and that's just actual productive time spent. If you've also got meetings to attend and other office stuff your actual time spent coding can get quite low which is a fact often forgotten by PMs and other management types when arranging work plans.

Secondly high levels of effort are just not sustainable over the long term. To avoid burnout people should be operating at an average of around 60% of peak capacity. Higher levels of activity are of course possible and required but there need to be corresponding periods of lower activity to recuperate. The concept of going to work every day and giving 110%, as some people seem to like to proclaim they do, never happens and those that try it are just heading for an early visit to the mortician.

share
add comment

At one place I worked there was a guy who, it was rumoured, did absolutely no work at all (there was some evidence to back this up). So I set up a work study; for a whole month I planned to walk past his desk every hour on the half hour and give him a point if he had an IDE open. A week in he had zero points and I was forced to abandon the project because I found it too depressing.

share
6  
Guess you got a lot of work in while you were doing this study. –  Marcelo Jun 7 '11 at 17:40
2  
You guessed right. –  user23157 Jun 7 '11 at 20:43
show 2 more comments

You are very lucky. At my former employer, I was the most productive programmer, everyone else was playing video games, and guess what happened to me? First, I was shunned. Then they tried to make as much noise as possible around me. Then I had to find a new job.

All because I program quickly and well.

It almost makes me want to go to China and teach programming. Younger programmers in the West don't want to program. It's too hard. They are mostly incompetent and complacent. Not all... but most.

share
add comment

If you watched me closely you might conclude I am lazy and shiftless. I do stare at the ceiling a lot, yes. I sometimes leave the worksite for an hour or so during the regular workday and go take care of personal business -- or just joyride. But is it me, or is it the job?

As to not getting any "work" accomplished, I find I am incredibly frustrated at not being given much meaningful work to do. I mostly maintain several existing web-based systems, and while there could be much to do, improving them, updating them, adding new functionality, and so on, because our QA testing shop is so understaffed and overworked (obviously on other projects, not mine), I can't do a blessed thing. I've proposed a number of medium-impact, low-risk enhancements/fixes to a couple of my systems, but have been told over and over again that we don't have "resources" to QA test them, so I can't develop them. Meanwhile I sit on my butt and cruise Wikipedia, StackOverflow, and play around with technologies that we are just not going to implement here (such as MVC, Silverlight etc), waiting for something to go wrong with my systems so I can fix them. It has occurred to me more than once that I should quietly and deliberately break something so I can go in and fix it -- thus keeping management aware that I actually have a function.

I could be actually doing something creative and useful, and I've actually built some useful apps on the side, and got chewed out for my initiative. I still do it, but I have to take pains to keep it a secret. And I can't put it into production, obviously enough.

It's a pleasant place to work, all in all, and my job is fairly secure, but I am getting bored and frustrated. I am six years from retirement and while a bit superannuated, I remain close to the cutting edge technologically and plan to code until I die. And I've killed another twenty minutes of my life (and my employer's time!) adding this answer to the question above; and it doesn't matter.

share
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.