If you’re reading this post you are probably wondering why I’m posting about my desk. Well, the short answer is that every programmer should love their desk, and I really like mine. Programmers spend way too much time at their desks, and if their desks aren’t designed properly they can end up with some pretty serious medical conditions (I’m losing count of how many programmers I know who have carpal tunnel symptoms). Also, since I’m an engineer by training, I frequently redesign my desk, and with each new design I learn something new about functional desks (notice the use of the word “functional” and not pretty or aesthetic)
For me, a desk should meet a few simple criteria:
- It should fit your anatomic characteristics. This means the desk should be highly adjustable. My current desk has a fully adjustable keyboard tray (I’m partial to the Knape & Vogt SD series), and an adjustable height surface (I use motorized electric telescoping legs made by ConSet (see tablelegsonline.com ConSet type 501-15 or IKEA’s Bekant). Also, having adjustable shelving allows you to custom tailor your shelving height to your specific needs. I keep an AV receiver and laptop docking station on my desk shelving (see image below), and it has been really nice to set the shelving height according to these items (i.e. no wasted space). It’s also nice to be able to change the shelving height from time to time as the desk is re-purposed for other roles/uses.
- The desk should be mobile. I’m a big fan of LAN desks (see Kendall Howard’s site if you don’t know what a LAN desk is), but because my desk holds a lot of electronics, I’m constantly tweaking component connections and changing configurations. A desk which is hard to move limits your ability to access its components, and thus limits its configuration possibilities. I’ve made my desk mobile by placing it on casters. This same principal is used in operating rooms, and enables a single operating room to serve as a theater for countless different surgical procedures.
- A desk should be modular. If you’ve worked on a large coding project you appreciate the principals of encapsulation and modularity. A desk should be no different. Just because a desk has a computer on it doesn’t mean it shouldn’t also be a good drafting station, or soldering station, or reading surface, etc. My desk is made up of discrete units that are only loosely coupled. For instance, the desk surface/base can be completely separated from the monitor/shelving sections of my desk. This enables the surface to be used for countless other purposes, many of which require the desk to be completely separate from the shelving.
- A desk should take advantage of room height and provide lots of storage/shelving so that your work surface is as big as possible. Clutter is the enemy of any desk, and any desk should encourage organization. This was always an issue for my earlier desk designs. From these earlier designs I learned that adding height to a desk often leads to instabilities, and most shelving arrangements can’t handle the weight of dense electronics. I’ve addressed this issue by using steel wire-shelving. This idea was also taken from operating rooms (ORs). In an OR most of the instruments and medical devices are extremely heavy, and wire shelving handles these devices with ease. Additionally, wire shelving doesn’t collect dust easily, and provides ample air flow for the cooling of electronics. I’m also partial to a particular brand of wire shelving (precisionTools.com /omega) that adds extra reinforcement to their shelving units, sells online, and charges less then most retail stores.
- A good desk shouldn’t break the bank. Since I’ve been a student for so long (you’ve got to love medical school), I’ve been poor, and I’m still poor. The desk I built cost about $940 with all the attachments (see completed pic below for more info), or about $710 for the base desk. If you can do without the telescoping base the desk is only about $360.
If you’re interested in building something similar my sketchup CAD drawings can be downloaded using this link: DukeDeskSketchup. Of note: I’m posting my drawings under a creative commons license (See bottom of post)
The completed desk is pictured below:
I’ve also pulled the desk apart and raised the surface to show how one might use the desk standing up (i.e. similar to the geekdesk.com). Of note: Con-Set is the same manufacturer used for the GeekDesk’s table base.
Duke Desk by Ellis B. Johns is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License