programming

Proper Hardware

New monitor day!

There was a spare monitor up for grabs at class today so I grabbed it. We all come to class with just a laptop (though some more dedicated or experienced souls brought their own second monitor), so I felt like this was basically a necessity. I had forgotten how great it was to have extra space since quitting my last job.

I generally work with my text editor right in front of me and the browser window and its console to the left. I also leave my terminal just peeking out behind my text editor so I can see if new lines get logged while saving changes.

I'm used to a customized setup at my old work, and here it's just a laptop and a desk. I figured I'd write a blog about how crucial it is to have an environment that's frictionless and healthy for you to work in.

Computer:

These days it doesn't really matter what your OS of choice is, so pick whatever you like. Tools like Vagrant and Docker unify development environments for everyone on a team, so you can have a Linux production environment, Windows programmers and OSX designers (or vice-versa). If you're sticking with a laptop, get one with a SSD for at least the operating system and your main programs, if not your data too. Make sure the keys are comfy and you don't stumble on them while typing. If you have VMs, you'll need a minimum of 16gb of RAM.

Keyboard:

If you're programming, that means your primary means of interaction with your work is probably a keyboard. An ergonomic keyboard is a must. I go for split keyboards, with the Kinesis Freestyle for mac at work and an Ergodox at home. Splitting a keyboard is great because it spreads my shoulders and allows my body to rest more naturally. Eventually I'll convert to two Ergodox keyboards so my muscle memory just has to stick with one layout. Once that unification is complete I'll start using a Dvorak key layout.

Monitor:

Two monitors is a must, three is a maybe. If the second monitor is big enough (24" or more), turning it 90 degrees may work and you can have browser and console visible at the same time, though your width will have to be accounted for when doing responsive design testing. When you're at a bootcamp, this is probably too much, so a 15 inch USB monitor is a good compromise here and can be had for less than $200.

Make sure they're on risers as well. Place your monitors up so they match your field of view when you look straight ahead.

Mouse:

I find most senior programmers suggest just learning how to not use a mouse, but I find that it's too intuive to use. However the standard mouse design causes a huge amount of pain in my elbow after extended use, so I go with an ergonomic mouse as well. My personal favorite is the Evoluent Mouse (they make left-handed mouses too).

Chair:

It's strange how many used Herman Miller Aeron chairs you can find on Craigslist these days. They're pretty great though budget options exist. I don't pay too much attention to how great a chair is because of the next section...

Desk:

Ikea now makes a cheap sit/stand desk, for around $280. It's not motorized, but that option will take you up to $500 for a desk. However, I've found that switching every hour from sitting to standing really does help how I feel at the end of the day. Just make sure you have supportive shoes (keep those arches up) and an anti-fatigue pad to stand on.