16

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.

siamii
  • 1,330
  • 11
  • 23
  • 4
    You need to activate the Cone of Silence: http://www.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 05 '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 05 '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 05 '12 at 17:48
  • 4
    Based on your update: Hate to be flippant but... http://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 05 '12 at 18:01
  • 2
    It happened to me during studies. The project was about developing a video game. At the ends of the project, mine had a graphical interface, multiplayer networking and IA, and I demonstrated it mlauching 2 IA on 2 different computer making them play one against another. Most of of others projects barely worked in a terminal. This made my point for that project. If you are that much productive, results will speak for themselves at the end. – deadalnix Mar 05 '12 at 18:09
  • @AlBiglan Thank you, I have a noise cancelling headphone, but I use ear plugs now. – siamii Mar 05 '12 at 20:00
  • @deadalnix Management doesn't seem to be worried about productivity. Last year 7/8 student projects failed. – siamii Mar 05 '12 at 20:00
  • @HLGEM You have a point. I don't immediately reply to my team members, but rather wait a until I finish my task or take a break, unless it's urgent – siamii Mar 05 '12 at 20: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 06 '12 at 13:09
  • This question is being discussed on [meta](http://meta.programmers.stackexchange.com/questions/3260/why-is-this-question-open) – yannis Mar 07 '12 at 02:51
  • 1
    99% is insane. Drop all your ideas about productivity, consider this solely as an exercise in surviving a difficult form of _managerial dementia_. This is a useful exercise. Key things you need to study for future real work are: 1. how to recognize this kind of problem, preferably beforehand and 2) if you fall into it again - how to survive it, **while looking for a better job** As for _better job_, in my experience programming was comfortable when I could work undistracted half or more time. If memory serves I tried pushing it down to about 30% - it wasn't OK but it felt tolerable at least... – gnat Mar 07 '12 at 06:48
  • ...80% face-to-face seem to be about where "death zone" starts. Not that I tried it, but my friend _manager_ once mentioned he needs to be alone at least 20% time to remain productive. Taking into account that this comes from the guy whose job is communication (and who _likes_ that job), I think this sets a pretty _thick red line_ for us programmers who depend so much on being able to work without distractions (see eg ["DON'T WAKE UP THE PROGRAMMER!"](http://alexthunder.livejournal.com/309815.html)). – gnat Mar 07 '12 at 06:49
  • @gnat I stopped doing any 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 you and your 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 you. – siamii Mar 07 '12 at 12:59
  • @gnat 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. – siamii Mar 07 '12 at 13:05
  • @mark trapp: This question seems like it is part of the software development process. When I interned at a company, I was in this same situation. My huge project was to create software which would automatically connect to hardware and read/write data to it. At the end of the internship, all interns had to show what they accomplished. I felt quite embarrassed that I couldn't demo my project (it requires a complex setup) while all the other interns had many pictures (because they worked on machinery). Software, because of it's lack of tangibility, can be hard to show: "Here's what I did." – Jake Berger Mar 08 '12 at 18:46

10 Answers10

32

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.

17

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.

Karl Bielefeldt
  • 146,727
  • 38
  • 279
  • 479
  • 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 05 '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 05 '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. –  Mar 05 '12 at 17:53
  • 5
    I'm not sure being fired of such a place is a bad thing. – deadalnix Mar 05 '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 05 '12 at 20:05
8

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).

JonnyBoats
  • 1,783
  • 13
  • 11
  • 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. – Jesse Black Mar 05 '12 at 15:08
  • Take a look at http://programmers.stackexchange.com/questions/47197/are-there-any-famous-one-man-army-programmers – JonnyBoats Mar 05 '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 05 '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 05 '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. –  Mar 05 '12 at 17:48
  • 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. It is very rare that I need to ask my team anything that cannot wait at least 3 hours until they check their IM, email, or message board. – siamii Mar 06 '12 at 03:03
  • *"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.**"* then you are **not a team member** and your instructor/supervisor is **correct in their assessment of you**. You think you know better than everyone else, this isn't not a good attitude to enter into the software development career with. Disagreeing and discussing the issue is one thing, collaboration, dis-regarding with no communication is a real personality problem! –  Mar 06 '12 at 12:31
6

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.

ZJR
  • 6,301
  • 28
  • 36
5

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.

Thomas Owens
  • 79,623
  • 18
  • 192
  • 283
  • yeah, **proving** your superior **wrong** works out so well in most cases ... win a battle, lose the war ... –  Mar 05 '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](http://www.amazon.com/Difficult-Conversations-Discuss-What-Matters/dp/0143118447/ref=dp_ob_title_bk) or using Principled Negotiation techniques tends to work wonders. – Thomas Owens Mar 05 '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 06 '12 at 00: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](http://en.wikipedia.org/wiki/Cognitive_dissonance#The_Free-Choice_Paradigm), 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. –  Mar 06 '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 06 '12 at 17:08
  • @bizso09 Not trusting the education and experiences of your team, especially with regards to your current conditions, is a fatal mistake on any project. I agree with another of other commenters on various posts - it sounds like you are the problem, not your team nor the policies of your university. If this is how you expect the workplace to be, I don't think you'd last very long at many companies. – Thomas Owens Mar 06 '12 at 17:19
3

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.

Megan Walker
  • 2,016
  • 2
  • 14
  • 11
  • 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 08 '12 at 12:45
3

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.

jmq
  • 6,048
  • 5
  • 28
  • 39
  • +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 06 '12 at 05: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!. –  Mar 06 '12 at 13:40
1

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.

Karthik Sreenivasan
  • 1,025
  • 2
  • 10
  • 22
0

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.

Ian
  • 5,462
  • 22
  • 26
0

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.