As a developer, I have often thought and tried to optimize the way I work in order to get more done in the same amount of time. And I think I have succeeded quite well in increasing my productivity. Below is a list of actions I took – some may look naive or ridiculous to you, but we are all individuals:
- Upgrade to a powerful laptop or desktop. Recently I built myself a new desktop computer in order to ascend to a totally different performance range. I was in the lull that ‘processor speed no longer means that much’, so I neglecting bought the fast(est) laptop and thought I should be fine with a nice quality laptop with a lot of memory plus an SSD. But as the projects grow, and complexity increases, I saw my new Lenovo T450S with 20 GB ram and SSD constantly having a high processor utilization rate. Compilation took a lot of time, and the responsiveness of the applications was not that great. After upgrading to a fast desktop with i5 6600K, significantly faster SSD and memory, the difference was breathtaking. What caused constant 10-15 pauses in my development work (like building or reloading components), was gone. So was the temptation to do ‘other things’ while waiting for the computer to respond (and consequently diverting attention away from work.)
- Purchasing an optimal chair and desk. With the help of an L-shaped desk where I place my displays on, and a comfortable chair, a lot of the back pain has vanished, thus allowing me to concentrate on work fully.
- Working remotely. No need for chit chat with colleagues, most meetings nowadays can be attended with Skype for Business or Webex. At least, in international projects.
- One Keyboard only. Whether I work at home, in the office, or on the laptop – I have the same keyboard layout. I bought myself a Lenovo Thinkpad Compact USB Keyboard that I attach to my home computer or at work to another laptop. If I work on the plane I use a laptop that has the exactly same keyboard layout as the external keyboard. With the help of having one keyboard only I save time on mistyping, finding the correct keys, leaving me well concentrated on the current task. You might think this is a small thing, but it helps amazingly to type faster and let your thoughts go from something as trivial as typing.
- Moving away from Hyper-V or Virtual Machines in general. I try to utilize databases or applications in the cloud which saves me some time from re-adjusting, debugging and problem solving my virtual machines. I know it’s not always possible, but having worked this way for over a year now, I seldom power on my VM’s, and I save considerable time.
- Lowering the quality. On some matters that seemed very important to me, like making very few spelling errors, or producing high quality text, I have given up (as you see in this blog, this is btw something I just write quickly between work.) So when an email comes in, I respond it quickly but I give up on details. I no longer provide nice graphical illustrations as I used to do – unless the matter is important. Saves time.
- Respond to emails right away. My clients and co-workers like my way of replying to an email very quickly. It gives the impression of a highly engaged and committed developer. I also don’t need to ‘take out time’ to process the mails, but I can do it quickly while developing. As I answer quickly, I also get quick replies so I don’t need to wait for a client’s answer on a blocker for a very long time.
- A very good headset that you can use both to answer calls on Skype (f. B.) or WebEx. You may consider redirecting your ‘real’ phone calls to Skype, too. No need to hold that phone in your hand anymore. I do this when working from home mostly. I recommend a headset that is good enough for listening to music – with background noise filtering and a separate microphone. It costs, but it’s worth it.
- Override the crowded Wifi. If your office has a slow wifi or the wifi has ‘issues’ all the time, I recommend using your phone as a mobile hotspot – provided you have a good data plan. Mine is based on a fast 4G connection, and it’s more ‘consistent’ and faster than the office network. No more ‘waiting for this to upload’ or waiting for a web site to respond.