n case you haven't noticed, programmers are sort of funny people to work with. I was talking with a friend the other day and he said that some of the best or most interesting development comes from the most quirky people. The best developers I know are not typical 8-to-5 programmers. It seems that the best work comes out at the oddest hours of the day or after lots of sleep deprivation. A good friend of mine, Markus Egger, is the type of programmer I can usually count on to be up programming around 1:00am. Rick Strahl is the same way. I am one of those weird developers that enjoy working at the crack of dawn. As a matter of fact, I am writing this editorial at 5:00 am. So where am I going with this? I want to talk over some ideas on how environment has a great impact on developers.
Leave Me Alone
One item I noticed in the very earliest days of my career is that writing software takes long spans of time to think. The worst thing you can do to a developer is to interrupt them every hour of every day. I remember working in the computer labs in college and getting interrupted by other students. I really became productive when I began taking a walkman to school. When I am on a customer site, I work some time in their offices and spend an equal amount of time working in my hotel or in an office with a closed door.
Working with the Team
My biggest time of growth was when I worked with other developers. I used to work at the company that made the Juiceman Juicer. I worked on a development team that consisted of 4 other top notch developers. We used to constantly challenge each other to find the best solution to the software problems we were solving. I find that some of my best work comes from working with other developers and having them challenge the work I do. If you don't have the opportunity to work with other developers, fear not. There are other developer groups out there that you can join. Check out your local user groups, or check out Website message boards like www.universalthread.com or www.gotdotnet.com.
Keep on Rocking
I remember reading a book called Peopleware from Tom DeMarco. He talked about some of the very issues I've just discussed. I recall an area in the book that challenged whether listening to music was a distraction. From the studies they did, developers that listened to music provided good solutions to the problems, but the people that didn't listen to music were less creative. I have not found this to be true in my case. I generally like working in a nice, peaceful, quiet room listening to rock music playing at 150 decibels.
A Great Set of Tools
"I can fix it. My dad's a TV repairman and has a great set of tools," Jeff Spicoli, Fast Times at Ridgemont High.
You need a great set of tools to write software. From a previous editorial you learned that my favorite tool is a Mead notebook. Well I have a few others.
I like whiteboardsthey're great collaboration tools. I have a personal favorite when it comes to white boards. Panasonic makes a white board that you can print on thermal paper. This is very handy because as soon as you are done with your idea you can print it out, erase the board, and move on. No one has to transcribe the contents of the whiteboard. I have seen electronic versions of whiteboards, but they look like they are actually more of a pain to use than this printable white board.
Another valuable tool I use is instant messaging. Instant messaging allows you to quickly ask a question without the long lag time of e-mail. I use ICQ and Yahoo messenger. These tools are also fun to use when you are on a boring conference call or in a boring meeting.
Feed Your Developers
One of the nice things about visiting the EPS offices (the producers of this magazine, who also have a consulting division) is that on Fridays they provide a free lunch to the whole staff. The great thing is not the food but the chance for the entire company to sit around the conference table and talk. EPS is not exactly a small company any more. They have around 15-20 people in the office at any given time. Lunch for this many is probably a small expense compared to the value it adds to the team atmosphere at EPS.
Check out www.code-magazine.com. We have a new look for our Website and will be providing online articles in the very near future. Also, if you want to catch up with me you can see me at the DevTeach conference in Montreal in May. Check out www.devteach.com for more info.