Tips for Technologists is a series aimed at teaching you to engage with technology in best way possible. You can see all the Tips for Technologists articles here.
By Nick Ruffilo
Tip Level of Difficulty: Basic
Pictured above is my desk setup. It is in a 70 square-foot home office. Everything in my office has a purpose and my hope is to give some tips on setting up your desk to be the best technologist you can be. To give a bit of background, I have been a developer for nearly 20 years. The past 5 years I have been a hands-on technology manager who has had to do project management, application architecture, and coding. I’ve catered my tools around doing those jobs as best and efficiently as possible.
- Two 3×2-foot magnetic white boards. They fit perfectly on to my desk or the armrests of my chair so I can sketch/brainstorm/take notes quickly.
- 24-inch iMac + second 21-inch monitor. Despite the amazing screen real estate of a 24-inch monitor, having a second monitor is a must for productivity and developers.
- Devices for testing. Easily accessible I have an iPad, Kindle Fire and Nook HD within arms reach. Beyond their use for testing, it is often important to simply hold and stare at the devices you are developing for (or that your customers will be using).
- Microsoft Natural Keyboard. Yes, I have a Microsoft keyboard with a Mac. They play very nicely. I chose this keyboard because it has the ergonomic split (most dislike that, but, it really helps with becoming a touch typist and feels extremely comfortable). It also has built-in next/previous buttons for music — which I always have going — volume controls, and programmable buttons to launch applications.
- Razer DeathAdder Mouse. While it may sound intimidating, it is really just the cheapest of the high-quality mice. It feels great in your hand and will work on nearly any surface. It does have programmable buttons if you like that sort of thing, but I do not.
- USB Hub. The USB ports on the Mac are behind the monitor, and can be annoying to get to. I’m often using USB devices (external hard drives, iPad, Kindle, etc.) and the hub simply gives me access plug the devices in without having to turn my computer around. Small time saver.
- High quality adjustable chair. You spend most of your day sitting in your chair — make it good and comfortable (and preferably one that enables you to have good posture).
- Pictures. Not really shown in the photo above, but I have pictures of my family and things hanging up on the walls of things I enjoy. A good working environment reminds you why you’re working so hard.
- Google Chrome. I use all three major browsers (supported on Mac) for different reasons. Beyond testing, each browser maintains it’s own session, which allows me to be logged in to multiple accounts on the same site at once (Gmail for example). This lets me separate things like work email and personal email, and separate my desktops logically.
- Safari. I use Safari for testing purposes.
- TweetDeck. For those of you who follow me (@NickRuffilo), you know that I love Twitter. I work from home, so for me, Twitter is like office-chatter.
- iMail. I actually am not a fan of iMail, but my work email’s web interface is horrid, so iMail was the quickest alternative. There are tons of e-mail clients out there, so feel free to find your own. iMail works, and isn’t terrible, it just sort of is.
- PhpStorm. I will have a later posting on what IDE (integrated development environment) is right for you, but PhpStorm was one that had GitHub integration — which I needed.
- Skype. It is free, and I use it to stay in touch with co-workers. When working remotely, it is key to remain in contact with your co-workers.
- TextWrangler. A free text editor that is fast, lightweight, and has pretty good integration with FTP and servers.
- Adobe Photoshop. There are a few free image editors out there, but, if you (or your company) can afford photoshop, it can make light of many tasks.
- ImageMagick. This is the most useful image translation tool I’ve ever used. It is command line only, but will quickly convert, compress, crop, resize, recolor nearly any image you can dig up. Also can work on multiple files at once.
- PHP. I believe PHP now comes pre-installed on Mac OS, but if not (or on Windows), the installation is very simple. As a scripting language it is easy to learn and very powerful. Newer coders tend to gravitate towards Python or Ruby. I will cover this topic more in a later post.
- Basecamp. Basecamp is a freemium task management software that is very simple, which is why I use it. I use it for my personal to-do list. Free version is perfect for a small business, personal use. The paid version isn’t much, but is better when you have many projects going on at once.
- GitHub. GitHub is a service for hosting your Git project. It is a collaborative code repository.
- Dropbox. While it has its flaws, I find it the easiest way to share files between multiple computers that are not on the same network. I do have a local home server for sharing files between computers on my network.
- Misc. I have nearly 40 other applications installed that are either highly specialized, or redundant of a better tool. I won’t list them all, but it is worth noting that I have the Microsoft Office Suite installed, but prefer to use Google Docs. Above are just the software that I get the most value out of.
What tools have you found most useful? Do you have any odd or unique items on your desk that help you get your job done?