Slashdot Mirror


Ask Slashdot: What Makes a Good Work Environment For Developers and IT?

An anonymous reader writes: I've been unexpectedly placed in charge of our small technology department at work. We have three dedicated developers, two dedicated IT people, and one 'devops' guy who does some of both. It's the first team I've managed, and I'd like to do a good job of it, so I ask you: what makes a good work environment? I have my own likes and dislikes, of course, and I'm sure everyone can appreciate things like getting credit for their work and always having the break room fridge stocked. But I'd like to hear about the other things, big and small, that make it more fun (or at least less un-fun) to come into work every day. This can be anything — methods of personal communication, HR policies (for example, how can reviews be not-terrible?), amenities at the office, computer hardware/software, etc. I also wouldn't mind advice on how to represent my team when dealing with other departments.

53 of 261 comments (clear)

  1. bah by Anonymous Coward · · Score: 5, Insightful

    Bah.

    I don't get people.

    I don't want free drinks. Video games to play at work. A ping pong table. Any of that.

    All of that, just EXTENDS the work day. You're not going to go in, play ping-pong for 4 hours, and then work 4 -- and get paid for 8. Instead, the expectation will be a longer work day.

    In reality, all of these silly perks are just non-cash compensation for long work days.

    You know what? Keep the free drinks, the catered lunch, the free this and that. Keep the ping-pong table, the toys.

    JUST GIVE ME MONEY. Give me MORE money, and keep all of that!

    Keep my hours SHORTER, so I can go out and PLAY WITH PEOPLE I WANT TO PLAY WITH. While people at work MAY be fun, when *I CHOOSE* who to play with, *I KNOW I WILL HAVE FUN*.

    1. Re:bah by Alorelith · · Score: 3, Insightful

      Amen (although I will take paid lunches from time to time).

    2. Re:bah by phantomfive · · Score: 2

      I like catered lunches though. They save me money, and they save me time.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:bah by garyisabusyguy · · Score: 5, Insightful

      Space-wise
      Keep the traffic flow out of the developer work area
      Have a meeting room or open space between the dev and ops area, have a big screen tv and speaker that can be attached to laptop. Put in way too many network connections, power plugs, etc... you will need them even if you have a wifi because... just because
      If the devs cannot be in an isolated area, then give them high-walled cubes with sliding doors

      Work-wise
      Limit the number of meetings that devs have to attend, implement an agile method, follow daily stand up religiously and use that to get the info that you will need to attend all other meetings where you represent the team
      Look into tools like jira, sharepoint, etc, but use manual methods first to prove it is helpful before spending a ton of money on something that you will be stuck with
      This will be a marathon, sure they use the term sprint, but if you keep everybody running day and night they will leave

      CYA-wise
      Do not forget to cross train people, you cannot put yourself in the position to be entirely dependent on any one person, you will fail
      Find a way to document what you do, maybe not full on itsm crazy-train, but know how to find out what goes where when you need it, three ring binders have their place
      Test, just don't be a qa-centric d-bag about it. IT does not live for QA, but, performing proper test will save your ass more than not

      Don't forget to play, if everybody plays WOW, then be prepared to banter about leveling up and grinding, if people like FPS, then be willing to host shootouts in off hours... hell maybe you can get them to enjoy golfing or spending time at the gym, these will improve their overall health and productivity

      --
      Wherever You Go, There You Are
    4. Re:bah by quantaman · · Score: 4, Informative

      Bah.

      I don't get people.

      I don't want free drinks. Video games to play at work. A ping pong table. Any of that.

      All of that, just EXTENDS the work day. You're not going to go in, play ping-pong for 4 hours, and then work 4 -- and get paid for 8. Instead, the expectation will be a longer work day.

      In reality, all of these silly perks are just non-cash compensation for long work days.

      You know what? Keep the free drinks, the catered lunch, the free this and that. Keep the ping-pong table, the toys.

      JUST GIVE ME MONEY. Give me MORE money, and keep all of that!

      Keep my hours SHORTER, so I can go out and PLAY WITH PEOPLE I WANT TO PLAY WITH. While people at work MAY be fun, when *I CHOOSE* who to play with, *I KNOW I WILL HAVE FUN*.

      I really disagree with this. I'm going to spend about half my waking life at the office, I sure as hell want it to be an interesting place.

      I don't know about other people but for me productivity is 90% motivation, if I whittled away half the day but worked with complete focus for the remaining half I would be a fantastically productive employee.

      So for that I would say to keep things fun and focused, tasks should be small with well defined goals, even if you make some busy work it won't matter because the workers will be that much better. There's nothing worse than being given a giant task with no clear purpose or metric by which to try it. Include a couple paid coffee breaks. People can't work effectively for 4 hours straight, a couple glances at /. aren't the solution and developers sure as hell won't waste personal time recharging for a couple minutes at the office. Give them a pair of coffee breaks, encourage them get away from their desks, the increased productivity will more than make up for the lost time.

      Make some sort of intermittent fun events at the office, food events or games of some kind, don't make it a corporate spirit thing, just a thing for people to have fun. It breaks up the monotony for the people who participate, if nothing else it makes the office a more engaging social environment and gives people an opportunity to interact.

      It doesn't work for everyone, in general the older the employee the stronger their non-work commitments and the less they'll be interested if office socialization, but if you can make the office environment more engaging you'll improve productivity and quality of life for everyone involved.

      A final thought might be to try pair programming. It hasn't really caught on because programmers tend to be fairly introverted and computers are very personal spaces. But the published studies suggest it can be very effective for both productivity and employee satisfaction, you improve knowledge sharing since its a lot easier to ask a question when you're already talking and you kill a lot of time wasting since it's a lot harder to zone out when interacting with someone.

      --
      I stole this Sig
    5. Re:bah by Anonymous Coward · · Score: 2, Funny

      I need to say that just because you don't want those perks doesn't mean that the rest of us don't want those perks, too. We do want them. Maybe they don't bring value to you, but they bring great value to the rest of us.

      I am what you would probably call a "hipster". I'm a Millennial, and when I was growing up my parents and teachers told me I could be anything I wanted to be. Do you know what I wanted to be more than anything else? I wanted to be a computer programmer. I wanted to be like Linus. I wanted to be like Eric S. Raymond. I wanted to be like John Randolph. I knew I could never be like Dennis Ritchie, but I would have been happy just to have had the chance to shake his hand and thank him for giving us C. I didn't even dare to dream of ever being just like DHH or _why or Zed Shaw, because those men were so marvelous that I could never hope to be even 1/100th as great as them.

      I was told that the sky wasn't even the limit. I was told that if I wanted to become a god, I could become one. If I worked hard and did my part, great things would happen. So do you know what I did? I bought books about Ruby on Rails. I read them from front to back. I could recite to you ever single page. I knew every method call. I knew Active Record. I became one with Active Record! I learned HTML, CSS, LESS, Sass, JavaScript, CoffeeScript, and every other important technology. I didn't learn SQL but I did learn NoSQL. Web apps became my passion. I lived and breathed for web apps.

      I never went to college. I didn't need to. I knew RoR. I knew HTML. With those powers I could do whatever I wanted. So I got a job. I worked on websites. I faced the deadlines head on. I took on every challenge I could possibly face. Web apps became more than my life. They became everything I was. Having never went to college, I never got a girlfriend, and so I never got married. I'd spend my evenings at the local Ruby on Rails meetup, hooking up with my fellow Rubyist men. When you're part of a community where women are shunned, you engage in sexual encounters with your fellow Rubyist men, even if you yourself aren't gay. Ruby becomes your life. Men become your companions.

      I loved it at first. It was everything I dreamed of. Web apps were my passion, and being able to work on my passion 18 or even 20 hours a day made me as happy as you could ever imagine. But the years went by, and I realized that I wanted more in my life. I wanted a woman. But being a Rubyist through and through, I knew that was damn near impossible. I had only ever had experience with men, so I knew no woman would want me. I still had web apps, though. They were still my purpose. But I came to enjoy the perks of work more than ever. Ping pong is what keeps me going these days. Watching other people bring their dogs to work makes my day. Sitting in the open office space with maybe thirty or forty other web devs at the same table drives my creative juices. There's nothing like a table full of men programming in Ruby to really make one feel one's own inherent self value.

      I don't expect you to understand where people like me come from, but please try to understand that we love these perks. Ping pong means a lot to us. Maybe you don't like smacking a small white ball with a paddle, but we do. We like working in an open office plan because it brings us the same companionship at work that we find at the Ruby on Rails meetup in the evenings. These perks make us whole. That's why we love them so much.

    6. Re:bah by tompaulco · · Score: 2

      Well, yes, but if they STOP offering those things, they don't raise your salary. Where I worked most recently they used to pay for lunch almost every day. Then they said they were not longer providing that, and sure enough , they no longer provided it. However, the salaries remained the same.

      --
      If you are not allowed to question your government then the government has answered your question.
    7. Re:bah by fuzzyfuzzyfungus · · Score: 4, Insightful

      There's no such thing as a free lunch; but there are areas where comparative advantage, economies of scale, and convenience all play a role.

      Do I actually think that the office coffee supply isn't coming, in some small way, out of my paycheck? No, certainly not. Do I think that the cup of coffee I am able to have because of it is fresher than something that came from home in a thermos, cheaper than something from the local coffee place, and more convenient than having to pick it up from the local coffee place? Yes, that I do.

      It is true that the 'free' stuff continuum increasingly becomes mediocre non-monetary compensation picked out for you by the company in order to keep you in the office as you get more extreme; but for certain logistical support functions the fact that it is on site and cheaper in bulk can compensate for this. It also depends on location: some office parks and corporate campuses would have basically zero supply of food, coffee, or anything that isn't banal landscaping and generic buildings for a 15+ minute drive in any direction unless they had some sort of cafeteria facility built in(not necessarily free; but even the ones you pay in tend to be there because the companies that rent the space want that amenity available, not because a plucky restaurant just decided to start up). If the workplace is in a denser urban area, the local coffee place may still be more expensive than the office drip pot; but you'll at least have options if you want to get lunch or something.

    8. Re:bah by fuzzyfuzzyfungus · · Score: 5, Insightful

      Under 'Space-wise', I'd add "don't be penny-wise-pound-foolish when equipping people". Yes, not all requests are reasonable(you need a color-calibrated monitor that covers at least 99% of aRGB to write code, why?); but most reasonable requests are pretty damn cheap compared to somebody you'd trust to write your code or operate your IT systems. You will not improve happiness or productivity; and (when productivity is taken into account) probably won't even save money by denying people extra monitors, that comfy ergonomic keyboard, etc. Even non-technical generic office function types are often less well equipped than would make sense(yes, 1280x1024 is what Dell was selling in 2007, and that monitor does still work. Do you want to think about the percentage of your accountant's salary that is, in fact, buying 'scrolling horizontally' rather than 'accounting'?); but people writing code or looking a a big pile of configuration and status interfaces generally need the space.

    9. Re:bah by garyisabusyguy · · Score: 2

      Good point, a few years ago we jumped past the baseline desktop to a desktop replacement laptop that could support two high res monitors along with having the laptop screen up and on

      This allowed for a vertical text screen, a browsing screen and a 'this is what the app looks like' screen being used simultaneously
      The laptop, extra monitors, docking station and rig to hold the monitors more than paid for themselves

      --
      Wherever You Go, There You Are
    10. Re:bah by uncqual · · Score: 3, Informative

      Amen. Pay me well. Give me an office with a door so I can concentrate on the details of whatever I'm going to foist on our customers (who, in the end, pay me). Provide up-to-date technology tools. Cut out bureaucracy.

      Skip the ping-pong table and the pinball machine. If practical, have a credible onsite cafeteria as a timesaver, but no need to make it free.

      --
      Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
    11. Re:bah by Culture20 · · Score: 3, Insightful

      Give me an office with a door, and coworkers who understand that a closed door means "do not disturb unless it's an emergency". I can't count the number of times that someone has distracted me from thought experiments just to ask my progress on the task that I'm thinking about. Almost every developer or IT person would benefit from an office with a door, no matter how small or how far underground.

    12. Re: bah by Relyx · · Score: 2

      I think that was an elaborate joke. I think...

    13. Re:bah by phantomfive · · Score: 3, Funny

      No problem. Next time you get a job, be sure to negotiate a higher salary because they won't be providing you with lunch. Let me know how that goes.

      --
      "First they came for the slanderers and i said nothing."
    14. Re:bah by tchuladdiass · · Score: 5, Insightful

      I like the free soda, because it acts like a canary in a coal mine. As soon as they take away the free soda machine, I know that the place is about to go under, and it is time to start sending out resumes.

    15. Re:bah by Anonymous Coward · · Score: 3, Interesting

      The FIRST thing any development team should do is work out a way to have all management between them and the actual corporate direction-setters FIRED.

      Here's how it should work:

      (0) Get rid of intermediate managers. With prejudice. They should get road rash when they hit the parking lot or you did it wrong.
      (1) Corporate provides a new spec and a development window, for instance, 6 months.. If the devs agree, we're off. Otherwise, see (1)
      (2) If corporate changes the spec at any time, the development window must be completely renegotiated. See (1)
      (3) If the devs hit the window with a product of acceptable quality, bonus time. Then, new project, and see (1)
      (4) If the devs don't hit the mark, or their work product is shite, the devs are fired, new devs hired, and see (1)

      In this way, we get rid of management, who suck across the board and at best deserve to work at McDonald's cleaning bathrooms, and the developers are winnowed out from the "developers" and now we have tech that works. Instead of, for instance, the original ACA website, the first 9 versions of windows (I'm counting the NT and smallish-device variants), and so on.

      Don't mod this as a joke. It's not a joke. I'm serious.

    16. Re:bah by JMJimmy · · Score: 3, Interesting

      Classic business theory suggests you should have 3 levels. People doing the work, the people taking care of the day to day management/drama, the decision makers. Communication will flow through a system like that but the moment you add a 4th level it all goes to hell.

    17. Re:bah by Cederic · · Score: 2

      Because maybe the cost of the lunch isn't its value. Maybe shared food is an important team building component and teams do more than individuals.

    18. Re:bah by Cederic · · Score: 2

      Because of many reasons.

      My brain isn't always-on. Sometimes I stare at the screen and can't concentrate. At such times it's nice to be able to go and do something else.

      Something like table football gives me a way to chat with colleagues, find out what they're doing, share the work I'm on, exchange ideas, solve problems, chat about non-work things, build relationships.

      When I am heads-down working on stuff, letting my less focussed colleagues go elsewhere to chat, relax, refresh their brains means they aren't distracting me.

      When everybody in the room is happier in the office, everybody and the company benefits.

      Some people have the mentality that they get to work, they do four hours, stop for lunch, do another four hours and go home. I think they're fucking weird and I prefer not to employ them.

      I'd rather have people that see work as part of their lives, that get to the office, engage with the people around them, get a few hours productive work done then go home happy and relaxed.

    19. Re:bah by JaredOfEuropa · · Score: 2

      A common mistake when scaling up is to think that these 3 activities must necessarily exist as levels in a rigid hierarchy, and especially that strategy and management are part of the same work stream. Imagine a department having a management team (handling the day-to-day stuff) and a strategy team, working side by side and reporting to the department head. The strategy team will have some senior "worker bees" in it as well as some managers, but the head of that team (*not* the department head) has a seat in the division strategy team one level up (and so on). I've seen this structure work, sort of, but the problem is to make managers accept this model. Many managers at all levels demanded involvement in strategy, even though it is not their job, and they are often not very good at it, and if they can according to the hierarchy, they will overrule their strategists.

      The problem in general is that what we see as "management" is actually several very, very different jobs: business administration, strategy, people management, etc. Managers who do even an adequate job at all of them are rather rare. Yet somehow we haven't yet figured out how to subdivide this work... or maybe managers resist because it makes their jobs a lot less glamorous and a great deal more monotonous, if they are merely career managers, business administrators, strategists or process architects. Well, compartimentalizing of jobs has been ruthlessly applied across almost all other jobs in large corporations. Now it's their turn.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
  2. Work space by anonymous_wombat · · Score: 2

    People should be able to choose their personal work space.
    Most people would probably like an office with a door, but it people want something else, each person should be able to choose for themselves.

  3. Do not involve other departments or operations by Billly+Gates · · Score: 4, Funny

    Do not tell IT anything and then blame them and throw them under the bus when it doesn't get done. Give a wonderful Window at 3pm on a Friday for somehting that needs to be ready by Morning. Also having IT management do 15% layoffs each quarter do wonders for morale too

    Never invite them to meetings as they are a cost center. Create a culture of constant reminders of this and you will obtain the best and brightest talent

  4. Offices. by jcr · · Score: 5, Insightful

    Open plan is bullshit. Headphones and earbuds aren't an adequate substitute for walls.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
    1. Re:Offices. by phantomfive · · Score: 3, Insightful

      Yeah, I never thought I would see the day where I wished I had a cubicle.

      --
      "First they came for the slanderers and i said nothing."
    2. Re:Offices. by jcr · · Score: 2

      I find the improved productivity of easily asking questions

      So, you apparently don't care about reducing the productivity of those around you by interrupting them.

      its a hell of a lot more fun to interact with coworkers than stare at the monitor unblinking.

      I'm sure you have lots of fun in your unproductive environment. Personally, I enjoy getting my work done.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    3. Re:Offices. by rrohbeck · · Score: 3, Funny

      Dude, have you never heard of synergy? All that noise around you is nothing but synergy and it'll improve your productivity !!1!

  5. Make sure they know what they're supposed to do by mveloso · · Score: 2

    Make sure that everyone knows what they're supposed to do, what's expected, and when it's due. It's really not that hard, except that apparently it's really hard.

    1. Re:Make sure they know what they're supposed to do by ShanghaiBill · · Score: 4, Insightful

      Make sure that everyone knows what they're supposed to do, what's expected, and when it's due. It's really not that hard, except that apparently it's really hard.

      It is really hard. Software is very difficult to schedule. I was once give six weeks to complete a complicated task, but when I started reading the code, I realized I could quickly tweak it to do what was required, and I was done in two hours. Then my boss asked for a very simple change, and gave me two hours. It took six weeks.

  6. Let people choose their own by Anubis+IV · · Score: 4, Insightful

    One of the smartest things the company I work for does is let people choose how they want to work, so long as it doesn't interfere with others. Lights off? Lights on? Headphones? Door closed? Door open? Window? No window? Within reason, it's our choice, and that means that we can tailor the environment to whatever works best for us. The end result is that we're not only happier, we're also more productive. Some people work better with ambient noise, others can't stand any distractions at all. Letting each choose their own is the only way to make it work for everyone.

    Likewise, as you manage people, understand that they are each individuals. Understand what makes each of them tick. Understand that what works for one will not work for another. Learn them and then meet each of them where they are, rather than asking them to meet you where you are. Again, you'll get better productivity out of them if you understand their strengths and then tailor the tasks to those strengths, rather than expecting them to fill a role they're not good at.

  7. Filter the work area by chaffed · · Score: 4, Insightful

    I'm in a similar situation as you, OP.

    Managing distractions is the key thing I am working on.

    I manage a team consisting of a systems engineer, one help desk person and a bank operations clerk that depends heavily on the technology group.

    We are unfortunately not back office, we are very accessible to the general bank staff. This has its blessings but far more detractors in my opinion. There's an expectation by the rest of the bank staff that my people are accessible at any time for walk up questions. This is far from the case, we all have our projects and work queues.

    So what I have been doing to deflecting these walk ups and ad-hoc requests as much as possible. I find these distractions to be the biggest hindrance to productivity and employee happiness for my group. My people just want to keep things running and solve business problems. They do not want to help people download photos of Mr. Sniffles to their "hard drive".

    Long story short, consider the distractions whether it be operational, logistical or even political. If you can insulate and protect your people from the minutia that is the modern workplace, I think you will find them productive and happy. Your people should feel like they completed something each day they leave. Also leave at good hours and be able to leave the office behind on the weekends.

    --
    What could possibly go wrong?
  8. The best manager I've worked under by Anonymous Coward · · Score: 5, Interesting

    ... was an older man who started by making it clear that his job was to stand between us developers and the management, and to shield us from all the shit that was raining down from above. He was also technically competent and understood what we were doing, that helped a lot. But most impressive was his integrity. He always gave credit to the guys who did the good work, and was always willing to take the blame when things didn't work well.

    1. Re:The best manager I've worked under by Anonymous Coward · · Score: 2, Interesting

      Counter these good managers, with one I had.

      Came in, saw that I used a solid box to raise my monitor a foot -- and instantly decried that it was unsafe, and that I needed to remove it.

      When I asked for something to replace it, apparently buying a $10 part at Office Depot was absurd, and that all employees should have "identical workspaces" and that "no one was special".

      Meanwhile, due to my size (height), there was no way to use the keyboard, on the desk, without constantly staring down at the monitor, a foot lower than my eyes. Yeah -- that's awesome.

      And I'm sure we've all seen managers like that. Kudos to the ones listed above, whom I'm sure wouldn't have had a fit over a simple sturdy box holding a monitor at a comfortable level.

      And of course, this work place had a high turnover rate.

  9. Minimize distractions by GWBasic · · Score: 4, Insightful

    Try to minimize distractions. Make sure you don't interrupt your employees constantly for trivial matters.

    You might not have a lot of control over your layout, but also try to avoid placing people in situations where other people will distract them. For example, keep the coffee pot in a physically separate room, so chit-chat doesn't interfere with people trying to concentrate.

    Sometimes you might need to enforce quiet hours.

  10. Trust. by ranelen · · Score: 5, Insightful

    The most important thing - do not micromanage. Trust your employees.

    To be perfectly honest, you want to be in a position where the only thing you're doing is making sure they don't get overworked and aren't doing projects that don't make sense. All you need for that is a simple repeating team meeting where you talk about what you've been doing and whats coming up.

    If you have a problem employee, deal with /that/ employee. Don't fuck the whole team because of one jackass.

    In short, treat them like fucking professionals.

    --
    --jcbender
  11. Review often. Review quickly. by khasim · · Score: 2

    Make sure that everyone knows what they're supposed to do, what's expected, and when it's due. It's really not that hard, except that apparently it's really hard.

    The problem is that the day-to-day emergencies get in the way of the 11-month-projects.

    But the day-to-day emergencies are soon forgotten and the 11-month-projects are what you are judged on.

    Most people here are probably familiar with the "annual performance review" and how much they hate it. So drop it.

    Instead, replace it with a LOT of shorter, more frequent reviews. Weekly if possible. Every 4 weeks at the very latest. Lasting between 10 and 15 minutes. Then the annual review for HR is simply a roll-up of 52 weekly reviews.

    This helps because EVERYONE knows what the situations are AT ALL TIMES.

    There will be problems and the sooner you've identified them and resolved them (or mitigated them) the better.

  12. Some things... by tnk1 · · Score: 4, Insightful

    Try to listen more than you talk.

    Be decisive. Don't micromanage, but there are some times where you have to make a decision. That's now your job. If you ever want to get things done, you need to decide things after an appropriate amount of time and then see it through.

    You're not always going to be right, but you can't let that paralyze you. Better to be wrong and learn from it, than to do nothing when something needs to be done. Which is not to say that you don't think about it first.

    Get goals from your boss. You don't have to make all the decisions. That's what your boss gets paid to do too.

    Think about the business. If you're a middle IT manager, you're probably still at least a little technical. That's fine. What you aren't is a pure technician/admin/dev anymore. You need to start thinking about what makes sense for your team and your place in the company as a whole. Hint: retaining your staff is as important from a business angle as cutting costs, but you should think about both.

    You're probably a supervisor now. That means you should take evaluating your team seriously. Reviews aren't there so you can give them all 3s (or 5s), they are there so your team knows how they are doing. That's *important*. Most people want to know how to make you happy so they can get raises. The others... need to know when they are screwing up. If you aren't spending real time and thought on giving good feedback, you're a shitty manager and you should resign immediately.

    Be willing to do anything that you expect your team to do, including stay late or up early. However, again, you're not there to do the same things as the people on your team. Stay late and coordinate if that is needed. If not, go home and get some sleep so you aren't crabby the next day. Or so you can cover for the guy who was up all night.

    Your team should be able to do their job without your assistance unless they are in a really bad spot. You are important because you will be the contact between your boss and your team. You will get the team the resources they need to get their job done. If they need Dev support, you contact the Dev manager to make sure they know about the need. If they need more network cables, you get the network cables.

    Overcommunicate. You make sure that your boss and higher ups are not harassing your team for statuses. You provide the statuses. You manage up, as well as down.

    If you are hiding in your cube coding or something all day, you're not doing your job. Walk around a bit and see what is going on and if anyone needs something.

    You may not be their buddy, but you don't have to be aloof. Find out about the people on your team and what's generally going on with their lives.

    When people leave your team... thank them for their work and congratulate them on their new opportunity. Even if they were an asshole.

  13. Noise levels are an issue by msobkow · · Score: 2

    Noise levels have been an issue at many places I worked, forcing me to use noise cancelling headphones and to play music whenever I was trying to get any actual coding done. And it's not just noise -- it's interruptions from people sneaking up behind you and tapping you on the shoulder when you're obviously busy.

    As a result, even cube-land is vastly preferrable to the "open office" that some work environments provide. An "open office" just lets management see whether everyone is working at a glance -- it provides zero benefits to the people who are actually trying to get the work done.

    I'm not advocating closed-door offices, though -- those destroy the team environment, and turn everyone into isolationists.

    But damnit, man, don't insult your people by expecting them to put up with hearing everyone else's phone conversations and cursing-at-the-computer at full volume because there are no dividers in place to reduce visible distractions and dampen noise levels!

    --
    I do not fail; I succeed at finding out what does not work.
    1. Re:Noise levels are an issue by FrozenGeek · · Score: 2

      In my current situation, we have all three of the developers, myself included, open plan in a single room with a real door. This works reasonably well. The people with whom we interact most are within very easy reach. Other folks are isolated from us. Don't know how well this would work with, say, six or seven developers. But a handful of guys working on the same project - not bad. Bonus: being able to close the door is good when we get a bit raucous or when we want to discuss things privately.

      --
      linquendum tondere
  14. Involve your staff in technology decisions by Tridus · · Score: 2

    The absolute worst thing that can happen is when some clueless manager gets a powerpoint sales pitch, then comes in and says "we're doing everything in now!"

    Inevitably, the sales pitch is either grossly exaggerated or outright lies, the "solution" costs a fortune, it's not flexible, anytime you have to customize something (and you will if your business does anything worth doing) it costs a fortune and requires an army of consultants, and you're just going to annoy staff into submission with both inferior and more expensive tools.

    I've dealt with this. They come in and promise it can do the moon. Then you ask said manager if it can do any specific thing that we're actually doing right now. They stammer and have no idea, but they're sure it must be able to, because the salesman said it could do anything. In a couple of years when they realize it actually can't without five times more effort than what you had before, said manager will of course never admit their mistake.

    If you're going to be making those decisions, involve your staff. They know what you actually need, since they spend every day dealing with it.

    Also - walls. Walls are good. Open plan offices are productivity destroying monstrosities. The biggest problem developers have is distractions, and open concept offices are designed entirely to create more distractions. If two people need to talk about something, the entire office doesn't want to know about it.

    --
    -- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
  15. One Word: Offices by wonkavader · · Score: 3, Interesting

    Read Tom DeMarco on this -- I think the book is "Managing Programming People". In order to be productive, people need quiet and unmolested time. This means offices.

    Also read "Slack" by DeMarco. In order to be happy, they need PROGRESS. And in order to get progress, they need time to solve the problems which come up which are not directly related to the deliverables. If you give them slack, you get less deliverables in the first part of any project, and way more by then end. You also have programmers not quitting.

    Take a weekend and read everything DeMarco wrote.

  16. You're asking the wrong people... by novalis112 · · Score: 3, Insightful

    I get it, you want a broad scope of opinions, but don't forget to ask the six people you're managing. We can't tell you what will make them happy.

  17. #1 Productivity Boost: No Distractions by Press2ToContinue · · Score: 2

    A clean quiet workarea with no visual or auditory distractions.

    All I want to do is code all day long.

    All you want me to do is code all day long.

    Then, you bombard me with people walking by, talking around me, interupting me, IM'ing me, it never ends...

    And I get NOTHING done... do you get it?

    No, you never will. You manage by interupting me...

    --
    Sent from my ENIAC
  18. Re:Really? by WillKemp · · Score: 3, Insightful

    The first place i would go would be to my staff. There's only a few of them, just ask them what they want from a manager - that'd be a fucking first!

  19. Quite simple by sehryan · · Score: 4, Insightful

    Don't hire assholes. If you have assholes on your team, find a way to get rid of them quickly, and replace them with people who are not assholes.

    I don't really care - and neither should you - if the person is the most technically amazing person that has ever graced the Earth. If they are an asshole, it will sow resentment, make your team less effective, and make your job harder in the long run.

    Not sure if you have assholes? Start weekly 1-on-1s with each team member. These are good practice in general, to help find and solve problems before they become major issues. But you will also be able to pick out the assholes pretty quickly.

    You may think I am being silly, but I am not. If you think back to any unpleasant experience you have ever had at work, I am willing to put money on the fact that it was caused by someone who was an asshole.

    Ridding your team - and hopefully, your entire organization - of these types of people will result in a group of people who are willing to do anything for you or each other.

    --
    The world moves for love. It kneels before it in awe.
    1. Re:Quite simple by russotto · · Score: 2

      You know what you get if you don't hire any assholes? Badly designed software that's broken. Because the "nice" people won't object to really stupid ideas put forth by enthusiastic idiots, and they won't get on the case of the people writing shitty code until they fix it. You need assholes, just as the Roman conquering heros needed someone whispering in their ear "memento mori".

    2. Re:Quite simple by perlith · · Score: 2

      You know what you get if you don't hire any assholes? Badly designed software that's broken

      No - you need an experienced team with more than one person who is willing to play devil's advocate. That's called constructive criticism and produces higher quality code in the long-term. If you need something done short-term and don't care about the long-term consequences, yes, that asshole may be what you need.

      Pro-tip: In a global team with several hundred people working on a software project - assholes aren't tolerated. We can/will replace you with somebody else.

    3. Re:Quite simple by Alomex · · Score: 3, Insightful

      Let's review what assholes do:

      1) go around gratuitously insulting people
      2) fail to recognize other people's contributions
      3) have an aggrandized view of themselves
      4) have a confrontational attitude to most things
      5) do not beat about the bush when they disagree with something

      If is perfectly possible to do #5) without doing 1-4. That's the difference between a programmer who is a bit blunt in the service of the truth and an asshole.

  20. Joel on Software already answered this by Anonymous Coward · · Score: 2, Interesting

    It all boils down to the important thing is removing the distractions. It takes something like 15 uninterruppted minutes to get in the zone where everything just starts to flow and constant interruptions screw that up.

    Here is a handful of his blog postings on the subject, you should just read his entire archive, its all his opinion and view points but its pretty good stuff.

    http://www.joelonsoftware.com/articles/fog0000000022.html

    http://www.joelonsoftware.com/articles/BionicOffice.html

    http://www.joelonsoftware.com/articles/fog0000000070.html

    http://www.joelonsoftware.com/articles/FieldGuidetoDevelopers.html

  21. A boss that actually cares! by MindPrison · · Score: 3, Insightful

    ...Even if he just has to pretend that he/she cares, I'd take that in a heartbeat any day. For example, I have worked many places, and one of the best places I've ever worked...was at Lego in Denmark (Their graphics department), the boss in there constantly wanted to know how I was, if I needed a break, if he could bring me some coffee or anything, and he didn't give up before I actually gave him a proper answer. My colleagues where playful and we often fooled around during the day, not wasting work at all...because of this we usually worked 3 times as fast because we felt so free that the work became inspiring to do. That's how I want my workplace to be. Makes me want to come in to work every morning, can't wait to do my job. Sadly, not a single workplace I've ever been to after that...has even come close to that work environment.

    --
    What this world is coming to - is for you and me to decide.
  22. actually there is such a thing as a free lunch by AmericanBlarney · · Score: 2

    I keep seeing all sorts of posts talking about how work perks aren't really free, but no one is accounting for a couple important realities. Number one, if that money were not spent on lunches, it would almost certainly not go to your paycheck, it would go into an executive bonus or shareholder dividend. Companies tend to set pay based on market rates, so if you're getting the market rate and a lot of great perks, chances are you're getting the best deal you're going to get, and the perks are effectively free to you. Secondly, companies have to pay various taxes on all the money they pay as salaries. Those payroll taxes do not apply to free lunches and ping pong tables. So there is some "free" money that gives the company the ability to spend more on perks than they could if they paid it out n cash.

  23. upgrade budget by denbesten · · Score: 2

    Give some sort of budget for workspaces. I may want a bigger screen, while my neighbor may prefer more ram and the other guy may prefer to keep his PC for an extra year so he can have both. A little flexibilty to design what works for ME goes a long way towards keeping me happy. Just be sure to keep it somewhat balanced so that the people not on the favorite team don't feel disenfranchised.

  24. peopleware by chizor · · Score: 2

    go read "peopleware" by demarco and lister. this classic addresses what makes a productive workplace in creative technical work. indispensable.

    --
    ... !
  25. Re:My way or the highway by techfilz · · Score: 2

    You sound more like Stalin surrounded by Yes people than a real manager. Ruling by fear is not leadership. Jesus Christ Man - glad I don't work for you. I would be in the isolation chamber by now.