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.

6 of 261 comments (clear)

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

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

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

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

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