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.

My university has a module for software development with a real client. Some of my team members work in the computer lab all the time, which is an extremely noisy environment with lots of interruptions and distractions. There are about 30 people always talking. People always go on Facebook, YouTube, or tell jokes to each other in addition to doing "work". Some of my team members work 3 hours every day in this environment.

I attend our weekly team meetings and use our online project management system extensively. I address all emails and have a chat client on busy, but I do get messages. I use online resources a lot when solving my problems. However, outside the team meeting and pair programming sessions, I do most of my work in a quiet environment where I can focus and concentrate and I block out all external as well as internal interruptions. I focus on my task 100%. I find that I'm about 10 times more productive this way than in the lab and I can get a lot of work done.

The problem is that our tutors or "management" don't see me doing work in the lab. Thus, I do not appear to be working to them. Thus they think I do no team work. How can I convince them that I do team work because I have lots of communication with my team, but at the same time I like to work on my own? I would like to prove that, just because I work alone a lot and don't necessarily do all of my work in the lab, I'm still a productive member of the team.


UPDATE Management told me that the problem was that I spend working in a team 60% of my time, and I work alone 40% of the time. They told me I should spend 99% of my time working with my team face to face in the lab, aka office.


Some relevant comments of some answers, that some might miss:

"Problem is I don't really need to ask my team anything, because I rather google it myself. And I trust Google a lot more than my supervisor or team members for some reason. Hence I often disagree with them. I'm not doing team work, because essentially I'm doing "web" work."

" I trust information that I find online (i.e. SE) more than my supervisor's or team mates' expertise."


UPDATE 2 I stopped doing any serious work at home, I just stay in the lab now and have fun with my team while also do some work occasionally. As the accepted answer shows, this isn't about me being productive but rather fulfilling my managers' and team mates' expectations. If I and my manager have different beliefs about how to do software development, it's the manager's that counts because they have the power to fail/fire me. In my opinion face to face meetings aren't as effective as online conversations, and working in a noisy lab isn't as productive as working in a quite environment. I think team mates shouldn't be able to interrupt me any time they want, while I'm in the middle of a task. I think one needs at least 50% of the time to do productive work alone and 50% of the time to synchronize with the team. Anyway, this is just my opinion, and that doesn't count in this case.

share|improve this question

closed as off topic by Mark Trapp, Walter, Yannis Rizos Mar 7 '12 at 2:41

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

4  
You need to activate the Cone of Silence: youtube.com/watch?v=g1eUIK9CihA I made a screen shot of this into a poster and put it in my cubicle at one noisy workplace. Didn't help. –  jfrankcarr Mar 5 '12 at 13:27
3  
You can get a lot of work done by yourself in a quiet working environment but no matter how you slice or dice it, that's not teamwork by any description. If the task is to do the work as a team, you are doing it wrong. –  Joris Timmermans Mar 5 '12 at 14:50
3  
You may not realize this but team members may also have complained that you aren't available. YOu don't work as a team memeber with your IM on busy when you aren't physically located together. You may, in fact, be holding up their progress when you ignore them. And as someone who has done hiring, I certainly wouldn't be interested in hiring a lone cowboy like you. I need people who can work with others not people who think they must have perfect conditions to work and who think their needs are more important than the team's. You truly need an attitude adjustment. –  HLGEM Mar 5 '12 at 17:48
4  
Based on your update: Hate to be flippant but... bit.ly/9mYHgw (link to Bose noise cancelling headset) If this is mgmt's attitude, you may well be looking to fight a non-winning battle. –  Al Biglan Mar 5 '12 at 18:01
5  
@bizso09 To become a good programmer, its always better to work alone. But to become a great programmer, you need to interact with others and get things done even if you can do it in quicker time. Great programmers communicate to convey thoughts not just messages. –  Ubermensch Mar 6 '12 at 13:09
show 10 more comments

10 Answers

up vote 31 down vote accepted

What people perceive is more important than the truth.

In the real world, perception is reality. If they perceive you as something because of your behavior, that is what you represent and it is very hard to change this perception by trying to argue with the person. What they perceive is more important to them than reality, because it is a belief system to them at that point, and beliefs are pretty concrete and hard to change.

They have an idea of what they want you to be doing, feel lucky someone told you and didn't just kick you to the curb with no explanation. That is what happens on the outside, you just get let go for some amorphous reason, it is easier and cleaner for most people to deal with.

Remember, this involves someone forming a belief system about you, this is tricky territory!

For good or bad, you will have to do what this person believes you should be doing! Nothing else will be effective, and trying to prove them wrong is a no-win situation for you.

At many places, old school managers like to see "butts in chairs". Senior members that have proven themselves, don't have to worry about this as much, but that takes years to get to that point of trust with some people. This is changing very very slowly.

And honestly, if you are working on a team and not in a position to be communicating with them all day long, you really aren't working on a team. You are on and team and working on your own which is perceived as being a loner and cowboy, neither is a team member personality.

You can get a good set of ear plugs. Good closed back around the ear noise canceling headphones are a good investment if you like to listen to music. Personally I like to only hear the clicking of my Model M keyboard!

But you need to learn how to work in a noisy distracting environment, or change your major. In the real world, cubes are the norm, and noisy environments are prevalent.

This will be especially bad at the beginning of your career, you will be sat next to banks of copy machines, break rooms, in server rooms and next to sales and marketing people that talk about absolutely nothing all day long. Expect to work 8 - 10 hours a day in a noisy distracting environment in the real world.

It isn't about demonstrating your productivity, it is about fulfilling their expectations. And in this case they expect you to be in the lab with your team mates.

share|improve this answer
1  
+10 for Perception is reality –  Ubermensch Mar 6 '12 at 13:10
4  
I hate the phrase "perception is reality". It undersells what's going on. Perception is much more important than reality. –  Sean McMillan Mar 6 '12 at 21:02
    
@SeanMcMillan Happy Now? –  Jarrod Roberson Mar 8 '12 at 17:09
add comment

When I was graduating, apart from noisy distractions from the students there used to be online tests conducted for different batches for which we had to wait an additional 2 hours to get the lab machines. But the training to work on distracted environments payed off eventually when we started working on a live environment.

In a real environment as Jarrod Roberson pointed out, there could be marketing and sales people surrounding your development environment. If you are lucky to be placed among other development teams conference calls could be another big time distraction which can go all day long.

That said, I suggest you take your supervisor words positively as it is definitely going to prepare you for the real world where you can adapt easily.

Good luck.

share|improve this answer
add comment

This really sounds like a code monkey farm, professors want you to adapt to the "war room" environment, (aka open space environment) that so many companies nowadays, think is optimal.

By the time you'll leave college the optimal formula will be different, again.
(maybe they'll settle for some form of remote work, finally)

By the time I enrolled, everybody though cubicles where the best of the best.

Then, as college kids joined the workforce, "the industry" changed his mind, college kids kind of had developed a taste for computer labs where source control was done by screaming "I'm editing this file now!" and similar antics.

Real version control used to suck, (i.e. CVS, a little SVN) there was no facebook to distract, and no smartphones to circumvent LAN restrictions, so... it kinda worked.

"War rooms" where modeled after those college kids.

Those rooms didn't age up very well, though.
"War rooms" today end up being of two kinds:

  • noise farms, where everybody is doing whatever he likes, (and mufflers, ear plugs or headphones are the only way around it)

  • awkward silent panopticons, where nobody is doing anything of his liking, everybody checks on everybody, and everybody feels more and more miserable, every minute that passes.

So, instead of telling you how to work, they should observe how you get the work done and then write papers about it, so that "the industry" may learn from it.

But then again, my guess is you're in a code monkey farm, they are building computer scientists for "the industry", the way "the industry" wants them, and you're gonna run into trouble if you stand too much for your (sane) work habits.

Cope with what they're requesting, drag around the weight of your unproductive team members (poor souls, they would probably perform better in a more focused environment) and let the overall code quality degrade: you're in that class to prove that teamwork, done in the way your professor is evangelizing, doesn't work very well.

share|improve this answer
add comment

I would use data to demonstrate the point, and show the differences in productivity. I would stay at the lab/office and annotate every distraction (non-project related) and log its duration and date-time, as well as the project related activities (duration and date-time) and output produced that day(s) (Number of Classes, Number of Methods, Lines of Code and/or Function Points). Then, I'd do the "lone wolf" and log the same data.
Then show the results comparison to you boss/teacher, and then analyze the data with him, and let him come to the logical conclusion.

share|improve this answer
add comment

Boze noise cancelling headphones (if you have the cash). I use these. They don't get rid of everything but they help. I used them with pandora and classical music when I write code (stay away from non instrumental music or you will have a tendency to sing along and it becomes a distraction in your own mind).

This will allow you to sit in the lab and remove distractions.

Also, Jarrod Roberson's "perception" post was spot on too. If they want to see you in the lab, then you need to be in the lab. It doesn't matter if the boss/instructor is wrong, they are still the boss. The perception is more important in this case than the reality. Of course you have the choice to do it your own way, but then you'll have to take responsibility for the consequences of your decision; there are no moral victories.

share|improve this answer
    
+1 Using Bose headsets are the way to go and from the day I started using them, there was no turning back. –  Karthik Sreenivasan Mar 6 '12 at 5:19
    
+1 for instrumental music, anything with perceivable words is a distraction to your sub-conscious and your mind processing the language in the background takes up cycles just like anything running in the background on a computer would!. –  Jarrod Roberson Mar 6 '12 at 13:40
add comment

The first thing that I'd recommend is having your team get involved. If you truly are being productive and contributing positively to the team, the people you are working with should be more than willing to say this to the appropriate people at the right time. They would be best suited to speak to your strengths, weaknesses, and measure your contributions in terms of its value to the project. This is why, in all of my experiences, colleagues and teammates provide assessments and evaluations of each other to management (or, at university, the professor) for consideration - these are the people who know you best.

If you need more concrete data, you should have plenty of it, since you are using email and a project management tool. Hopefully, you should also be using a version control system. You can show how long it takes you to respond to emails (and IMs if you are logging IMs) related to the project. You can show check-ins and merges from version control, with diffs to show what you have contributed. You can show the tasks that you have completed (and depending on how your PM tool is set up, time tracking).

Another avenue would be to discuss the lab environment with the people who manage/operate it. If it's truly supposed to be a work environment and people are distracting you from working, it's not meeting its purpose. This might be something that needs to be addressed to ensure that people have a productive environment. You can't expect a silent team space, since teams will have conversations. But I don't think it's too much to ask to have a space that's dedicated to work-related discussions at a reasonable volume.


Given your more recent edit, I don't think there's much you can do.

At my job, I spend about 8 to 10 hours/week in a team environment. Yes, we need to coordinate activities and resource utilization and plan tasks and so on. But the other 32 (and usually more like 35+) hours/week are me working on my assignments solo. However, I am available (as in have email notifications on, IM client on, at or near my desk to answer my phone or check for messages) far more frequently.

In order to maximize team communication and productivity, many companies have the notion of "core hours". These are hours that everyone on the team not on vacation or some other scheduled/approved leave is expected to be available. This applies equally to people with virtual presence as well as actually in the office. Where I work now, core hours are 6 hours a day (I think 5 hours on Friday), and different teams make slight modifications to core hours.

The "99%" asked for by management is probably a little extreme. However, being readily available 75% of the time, and answering emails, calls, and IMs during occassions when you aren't with the group physically, is not out of the question at all. Even if you don't think these are urgent, your lack of a response could be blocking someone else.

share|improve this answer
    
yeah, proving your superior wrong works out so well in most cases ... win a battle, lose the war ... –  Jarrod Roberson Mar 5 '12 at 20:18
2  
@JarrodRoberson I've never had a problem ever going to a superior with information that they were wrong. Perhaps its corporate culture where I've worked. It's all about presentation - dealing with Difficult Conversations or using Principled Negotiation techniques tends to work wonders. –  Thomas Owens Mar 5 '12 at 20:46
    
@JarrodRoberson I trust information that I find online (i.e. SE) more than my supervisor's or team mates' expertise. Should I disagree with them in that case? –  siamii Mar 6 '12 at 0:02
    
@bizso09 "I trust information that I find online (i.e. SE) more than my supervisor's expertise." then the problem is with you, you are looking for validation of your opinion from people you don't know, anything else is cognitive dissidence, you believe you should have things your way, pretty much everyone is telling you the opposite, but you still are looking for confirmation that you are correct. Good Luck with that. –  Jarrod Roberson Mar 6 '12 at 12:23
    
@JarrodRoberson By trusting online information more, I was referring to the fact, that what comes up in Google for a particular problem has been checked by more people than what my team member's can think up on spot. Therefore, online formation is likely to be higher quality. –  siamii Mar 6 '12 at 17:08
show 1 more comment

This is a common problem in the workplace. It isn't sensible or productive, but it sates a desire in certain management types.

First things first, if not spending time in the lab is going to cost you grades, spend time in the lab. This is not the time to fight for the rights and wrongs of the situation, just suck it up, get the grades, get the hell out of there.

In the workplace, it can be a sign of problems, but sometimes it is just senior management wanting everyone to feel that everyone else is pulling their weight. In organisations where you have high profile teams who work long hours it is common for management to start asking for better time keeping of other teams when profits are down and so on. Again, it's generally best just to suck it up if it's a short duration thing, or move on, but there's no real middle ground.

share|improve this answer
add comment

It strikes me that what your Univ is trying to teach is perhaps different from how you are understanding the assignment.

It is a well proven fact that most programmers are more productive when working without interruption. In fact if you are concentrating on a hard conceptual problem and the phone rings (even if you don't answer it) it can take you a half hour to get your concentration back.

It is also a well known fact that many, if not most, programming shops do not offer an environment that permits that level of concentration. In fact many are more like sweat shops.

If what they are trying to teach you is how to work with teams in "real world" conditions that you are likely to experience on the job, then what they are doing is appropriate. If on the other hand their goal is to teach you how to be productive they fail miserably.

I don't know if it is fair to compare programming with writing, but certainly both involve creative thinking and concentration. Many great authors write their books in a sequestered place free of interruptions. In fact many are recluses or eccentrics yet produce highly prized literature.

There is a class of writers however who traditionally are forced to work in nosy conditions like your lab and they are reporters and war correspondents. In journalism school one of the standard "labs" was a room full of typewriters where students are given an assignment and called upon to produce an article under timed conditions of just a few minutes. A writer who can't produce under tight deadlines and nosy conditions probably should not be a war correspondent on the front lines.

Finally understand that some of the best software is written by individuals rather than teams. As they say, "a camel is a horse designed by committee".

My recommendation is to sit down with your professor and ask him what he is attempting to achieve by having a lab that is loud and where people joke around? If it is to simulate a typical work environment then you need to be prepared for that or else try to focus on finding an employer with a much better work environment. They do exist, consider Microsoft where everyone gets a private office (or at least they used to).

share|improve this answer
1  
That's interesting. I'd like to read an article about "some of the best software is written by individuals rather than teams" if you can share any links. –  Maudicus Mar 5 '12 at 15:08
    
Take a look at programmers.stackexchange.com/questions/47197/… –  JonnyBoats Mar 5 '12 at 16:17
    
In Microsoft, Google they all have quite private working space in addition to team meeting. My tutor's idea is that I should work all my time in the lab, and never work on my own. –  siamii Mar 5 '12 at 17:32
3  
@bizso09, yes those two companies provide nice space to work in, I'd bet more than 90% of the companies out there do not. Get used to working in noise, it is the norm. Plus you will have to do what your boss requests whether you agree with it or not. As it stands right now the tutor is the boss. He may have some influence with hiring officals (you do want to have references don't you?) so his opinion is important to you. Suck it up and go to the lab. –  HLGEM Mar 5 '12 at 17:43
1  
MS and Google are 2 out of tens of thousands or more of companies, and 2 you probably will never work at, and they aren't the magic castles you are making them out to be. Listen to your tutor, they are trying to prepare you for the real world. –  Jarrod Roberson Mar 5 '12 at 17:48
show 2 more comments

Putting yourself in a position of needing to prove your productivity usually results in getting fired. Like it or not, part of your chosen profession involves interacting with your colleagues during work hours, even outside of meetings. Bring in some headphones to drown out distractions with music.

share|improve this answer
3  
Putting yourself in a position of needing to prove your productivity usually results in getting fired. Accurate time tracking, regular status reports (including daily stand-ups), metrics about status of feature implementation and defect closure, and so on are all about demonstrating productivity. All are commonplace for every engineer every place I've ever worked, yet no one routinely gets fired. –  Thomas Owens Mar 5 '12 at 15:29
11  
There aren't routine firings because those metrics and processes are primarily used for tracking project and product status, not individual productivity. If you ever have to refer to them to prove your productivity, that means you are failing to meet some productivity criteria not measured by reports. Fair or not, things like how often you're at your desk when your boss walks by usually factor more heavily into his impression of your productivity than metrics. –  Karl Bielefeldt Mar 5 '12 at 17:34
8  
Karl is right, perception is reality, having to disprove someones perception with reports is a recipe for failure! Because now you have confronted a superior and if you prove your case, now you have proved their belief as wrong, this doesn't win you anything, you just lost a more sensitive battle instead. –  Jarrod Roberson Mar 5 '12 at 17:53
5  
I'm not sure being fired of such a place is a bad thing. –  deadalnix Mar 5 '12 at 18:48
1  
how often you're at your desk when your boss walks by usually factor more heavily into his impression of your productivity than metrics That is exactly what happened. I was not in the lab many times, but working from home. Only time spent working in front of the manager's eye is what counts. :*( –  siamii Mar 5 '12 at 20:05
add comment

It seems to me, that in this situation, all the external references won't be a major help, instead what I would do is take records from your project management system showing everything you have contributed. If the system can produce a chart of your activity for a time span, even better and take that too.

Also, take along the minutes from your weekly face-to-face meetings showing you have taken part and contributed in those meetings.

In addition the chat logs from your chat client where the chats are related to the work, showing you answering the questions of your team, even when you aren't physically in the lab.

If the rest of your team recognise your effort, ask if you can take one of them along (ask first though), if not try getting them to send you a statement outlining the major contributions, from their point of view, that you have helped with.

All the external references won't help you if you can't show that you have been contributing to the team, and that the team recognise that contribution.

share|improve this answer
    
I collected all the logs, me communicating with the team, and showed it to my managers. They said they know I work hard, but I do not do team work. Although I have countless evidence of team work, it doesn't count because apparently some of my team members bad mouthed about me to the managers. I had arguments with two team members before and manager marked me down based on their words. –  siamii Mar 8 '12 at 12:45
add comment

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