The Ultimate Development Workstation
To a developer, their desk is like athelete’s equipment; vital to occupation. If a hockey players stick breaks because it’s quality is sub-par they could lose a game. The same goes to a developers desk, if the desk isn’t stocked with the correct equipment it could impair the developer in their work.
Here are 10 things that every developer should have at their desk.
- Pen and Paper
- Dual Monitors
- Specifications and Requirements
- Language API
- Ergonomic Keyboard and Mouse
- Really Good Chair
- Coffee (or your caffeinated choice)
- Personal Effects
I realize we live in a digital age where everything and everyone is online, but some things are better suited for a blast from the past. When you’re designing your software I find the best way to initially plan what you’re going to do is to write it down on paper.
Paper prototyping is the process of writing out your GUI on paper and showing that to your client. You can have them go through your software without giving them the illusion that you have finished it, and it also allows for easy changes to the GUI if the client doesn’t like something.
Dual monitors is key. There have been a lot of research done that show that having more than one monitor increases productivity.
I personally have a 22″ monitor and a 19″ monitor and I’ll never go back to having just one. Dual monitors gives me the chance to have all my development windows open on one monitor (the 22) and have the API or requirements up on the other.
Havinging and idea of what you’re aiming for is really important to have near your desk. If the requirements / specifications list is long, its best to keep on your computer so you can quickly search to find key concepts (and save trees of course!), but if its shorter I find it’s much easier to read on paper.
Having this on your desk allows you to make sure that you’re following what the client wants and not what you think the client wants. I’ve been saved on numerous occasions by having the requirements sitting beside me as I type.
It doesn’t matter how experienced you are as a coder, you’ll always need to have the API of the language your using around. I’ve been programming for around 6 years and I still look at the API all the time.
Albert Einstein once said “Why should I memorize something when I know where to find it?” and this applies to APIs. Why should you put obscure functions to memory when you can easily look them up.
Your health is extremely important, and staying a healthy developer should be one of your biggest goals. Since you’ll be typing away as you strive to finish your product you should invest in a good ergonomic keyboard and mouse.
Atheletes spend thousands of dollars to get the best tools for their trade and why shouldn’t you? Whats the point in hurting your wrists pecking away on a $20 keyboard when you could spend $200 and save yourself a lot of money in medical bills down the road. If you invest a small amount of money getting good tools it’ll increase your health and happiness and save you a lot in the end.
Having a good chair is essentially the same as above with the keyboard and mouse. You spend a lot of your day sitting down so why not invest in a decent chair and save your back from pain. Buying a good chair isn’t as easy as going down to your local Best Buy or your basic furniture store. As Jeff Atwood from Coding Horros puts it
In fact, after browsing chairs for the last few years of my career, I’ve come to one conclusion: you can’t expect to get a decent chair for less than $500. If you are spending less than that on seating — unless you are getting the deal of the century on dot-bomb bankruptcy auctions — you’re probably making a mistake.
Having a good caffeinated drink on hand can help you in those late night crams to get the code finished for the client. If you don’t drink coffee substitute this for your favourite drink. I realize that large doses of caffeine are bad for you and you shouldn’t drink it too much but every once and a while it’ll help you stay up that few extra hours.
If you work at a busy job, having good headphones is a must. You’ll be able to block out those pesky co-workers and they’ll help you relax against the stress of the workplace. I always listen to my music while I’m programming and headphones allow me to drone out the annoyance of people talking.
Make sure you invest in a good, comfortable pair or you won’t want to wear them for hours at a time.
You’re going to be at your desk for such a long time programming you need to make it your own. Bring a picture of your loved one and place it beside your monitor so you can look at it when you’re getting lonely. Have your favourite tennis ball on hand so you can bounce it against the wall while your taking a break.
Making your desk your own will increase your happiness and make programming that much more fun.
Keeping your desk organized is really important. Every time I let my desk get messy my efficiency goes down and I need to clean it. Having an organizer allows you to keep your desk neat and tidy and will help you with your sanity and efficiency (trust me I know from experience).
What kind of things do you have at your desk? We’d love to hear what makes your Top 10 list of things every developer should have at their desk. Feel free to comment below.