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.

21 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 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
    3. 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.

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

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

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

  2. 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."
  3. 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.

  4. Really? by Anonymous Coward · · Score: 0, Insightful

    I've seen quite a few "Ask Slashdot" questions that I felt were not legitimate questions. This is certainly one of them. I don't know if Slashdot/Dice is doing some kind of survey/research here, or perhaps getting kickbacks from someone else. Regardless, I just don't buy that this is a legitimate question. The entire premise just seems bizarre, and it matches so many other such Ask Slashdot questions in it's delivery: I'm blah, blah and I have been put into this blah, blah situation and I feel out of place and wonder what other people think about blah, blah and what I see is [topical generalities] and I think other people see these same things. What does everyone else think about blah, blah and should I do the same, because sometimes I think I should, but other times I think I shouldn't. What do you think?

    Sorry, but I don't buy it. Blah, blah.

    (How ironic I would post this as AC. ...just like the original question!)

    1. 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!

  5. 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?
  6. 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.

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

  8. 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
  9. 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.

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

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

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