Workstations and Workflows (Part 1)
I'm occasionally asked by others what program(s) I use for web development. While there's a short answer and a long answer to that question, what I say depends largely on who's asking the question. If it's a person who's interested in learning to program or who is already involved in IT in one way or another but has not yet taken the website development plunge, I'll tell them about my current development software of choice, Coda. I also explain a bit about how I landed on that one and what I used in the past. However, I've found that recently, when people ask that question they're less concerned with what I use and are more curious about how I use it. I.e., they want to know about my workflow and not just about the program.
Before you can get down to work -- regardless of what software tools you use -- you have to make sure that your workstation is set up to maximize your productivity. This is not as simple as saying, "buy these four hardware components and you'll be all set." A workstation is a personal thing, and setting yourself up correctly requires a bit of trial and error. I started development using a Windows PC and a good-sized monitor, but quickly found out that my workflow was limited by my available screen real estate. Jumping up to two monitors improved things dramatically, and I continued to work in that manner for several years.
Eventually I started to feel limited even with two monitors; plus, I had them set up so that the bezels of both monitors was directly in front of me -- not the best for prolonged use when my head was always looking somewhere other than straight ahead. So I added a third monitor (along with a new Windows desktop PC) and set up my displays so that I had one in front of me and one on either side of the primary monitor. I would use the primary for coding and design, the screen on my right for any database interactions (Microsoft SQL Server Enterprise Manager and/or a phpMyAdmin window in Chrome), and the one on the left for my active project in a browser (Firefox) and my email client (Outlook.)
At the start of the current year I decided to make the switch to Mac. My current PC was getting slow and I had talked with several developers who said that my workflow would improve dramatically when using Mac OSX. Given that I frequently work from home and travel, I picked out the latest MacBook Pro and outfitted it with enough RAM to get the job done. Fortunately, the laptop could still hook up to two of my three external monitors (the laptop's own screen became the third) and I arranged my workspaces in a way similar to how I had them set up under Windows.
As you can see in the photos, I went from the highly regarded Microsoft Natural Keyboard to Apple's Bluetooth one. Why the switch? Because the Apple keyboard is extremely portable -- so much so that I can drop it in a pocket in my laptop bag and take it, along with my Apple touchpad, to and from work with me so that I can keep my workstation the same wherever I am. And that touchpad is probably the most important part of my workstation/workflow relationship. Why would someone elect to use one when there is a very successful industry built around compact laptop mice that exists solely because most people hate their laptop's touchpad? I'll cover the workflow part of things in the next part of this article.
As for the other key parts of my workstation, from left-to-right I've got a standard desk VoIP phone (because I do still need to talk to people from time to time), my giant cup of water (trying to cut down on my soda intake), my Bluetooth headphones which help keep my desk wire- and clutter-free, and my USB 3.0 external hard drive which stores my virtual machines (more on that in the next article also.)
All the Bits and Bobs
By way of a recap, here is a list of all the hardware that I use daily:
- 15" MacBook Pro (late 2013) - 16GB RAM, 256GB SSD
- 2x Dell 24" 1080p LCD monitors, 1 using HDMI and 1 using Thunderbolt-to-DVI adapter
- Elago Laptop Stand
- Seagate 1TB USB 3.0 Hard Drive
- Apple Wireless Keyboard
- Apple Magic Trackpad
- An ancient HP LaserJet 1300 printer, which I don't use too often
- Sony MDR10RBT Bluetooth Headphones