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
Looks like a nice setup. I’m considering the same legs.
I downloaded your SketchUp, but didn’t see the desk included in it. I was wondering about the “modesty panel” / horizontal frame piece. Was there any difficulty with boring the correct holes for the cross dowels? What did you just use a shelf for this piece?
The legs work great but if you put wheels under the legs, the desk will sit fairly high (even when it’s completely lowered). I’m a small guy, so this has been a minor inconvenience. I do use an adjustable keyboard tray, so it still works great. The modesty panel wasn’t hard to construct. I used a piece of 1″x 10″ oak and drilled the appropriate holes. The table legs come with instructions on how to do this, but if you have a drill press you can do a better job than me. I ended up using an electric drill, and it works fine, but isn’t perfect.
The sketchup drawing has layers built into it. I may have turned the desk layer off. I’ll work at fixing this and re-upload.
Thanks for the info. I don’t have access to woodworking equipment, so I will have to use a hand drill as well. I suspect that I’ll have to purchase the correct size metric bits. Glad to hear that it’s pretty straight forward.
I’m a bit concerned about the height range myself. Would like to see it go both a bit lower and a bit higher, but I suspect that adding wheels and using a keyboard arm will help.
I’ve updated the sketchup file link. It now links to a zip file containing all of my drawings (desk included) including the conset HW drawings I made. Let me know if anything is unclear.
Thanks for the updated file.
I’m making my final decisions now. ConSet has a number of different frames; I like the 501-15 because you can vary the width between the legs by choosing the appropriately sized panel.
Buy, the 501-27 has a bit more range and the 501-17 seems nice too. However, problem with both of those might be in fitting a keyboard arm track due to a metal cross bar that sits flush to the table top.
Typo: Buy –> But