5 tips for the overworked software developer

Software developer job is interesting because it lets you merge different peculiarities of human knowledge. It’s an activity requiring a formal mathematical accuracy, though it allows creativity to have its role in finding problem solutions. When math and creativity breed, the outcome can be fantastic, or terrible sometimes. Sooner or later every developer learns about (or finds out for herself) the existence of a “law” that could seem like a math rule, but is in reality the paradigm of empiricism. As counterweight of the well-known 80-20 rule (Pareto principle) we find the infamous 90-90 rule.

“The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.”
Tom Cargill, Bell Labs

Basically your project is likely to be late. Maybe it’s this permanent awareness of time scarcity that leads me to constantly search for tricks to optimize my job and make the day less stressful. Below there’s a small list of 5 tips on things I use daily in Windows, and I think they can be useful even for those who are not developers but work using a PC every day .

1. Use Mosaico.

Ok this one is fairly easy :) I’m a software developer and the author of Mosaico (download it here) and optimizing time at work was the inspiration for creating it. Ever since I started to use it I feel I’m using my time better. Mosaico remembers up to 8 different windows layouts (snapshots) on your desktop, and you can easily switch from one to another in a click. This is how I use it. The basic concept is to create various “theme layouts”. I.e. development layout, file management layout, reading layout, and so on. You can save time avoiding the repeated search of the “right” window to use, and just leaving application running in background.

5 tips for the overworked software developer. Mosaico can remember up to 8 different windows layouts

2. Use ClipX.

This small utility (download here) is something essential for the “CTRL+C, CTRL+V” software developer maniac. It’s an advanced clipboard history manager. It can save the latest 25 entries (or a custom amount) instead of only the last one. If you have to copy lines of text disseminated throughout a file, just do the copies altogether and then do all the paste operations. No need to go back and forth through files. ClipX also remembers files and images and supports external plugins. Among them, there’s one that saves the clipboard content to disk, making it available at the next Windows restart. Price is unbeatable: it’s free (you can make a donation).
5 tips for the overworked software developer. ClipX is an advanced clipboard manager

3. Use Unlocker.

It happens often while developing that you terminate a process and some file handles are left “hanging”. Those files can’t be renamed/deleted/moved for a while. The problem is that their handle is “locked” and any action is inaccessible until something “unlocks” it. This also happens in other situations, for example using an USB key. You can force the “unlock” using Unlocker (download here) . It’s a simple and powerful utility that activates when the error message is displayed. It shows all the processes blocking that file and you can unlock them all by pressing a button. It saves us from blindly searching the blocking process. It’s free but you can consider making a donation to the software developer.
5 tips for the overworked software developer. Unlocker.

4. Open command window here.

If you need to use the command line very often it’s useful to know that pressing SHIFT+MOUSEDX on any folder in File Explorer an additional option will appear. The “Open command window here” menu entry opens a command prompt already set on that folder. It’s also possible to enable permanently this option, with no need to press SHIFT.
5 tips for the overworked software developer. Open command window here.

5. Two-rows taskbar.

Windows taskbar is nice to look at, but it seems to take up too much space. To better take advantage of it, it’s possible to organize its tabs on two rows. Just right click on it and select “Properties” and then “Use small icons” and “Ok”. Then right click on it again and deselect “Lock the taskbar”. Drag the upper edge to create an additional row of tabs. Select “Lock the taskbar” again and you’ll have a taskbar with roughly the same size than the default one, but with many more tabs. This avoids searching for tabs when they are grouped.
5 tips for the overworked software developer. 2-rows taskbar

Not only for the software developer

These are only some of the things one can do to streamline his work and better invest his time. Everyone, even without realizing it, develops and uses his own optimizations. In my opinion it’s important to invest 5 minutes searching for a better way to do something, rather than idly repeat the same stressful routines. These are my 5 essential best practices, I hope they can be useful for you too.

Top 5 things that really matter in a new PC

When it comes to buy a new PC, the ample range of configurations, dealers, and prices can challenge the most geek among us. For those who have few technical knowledge or no time to keep up with the rapid evolution of technologies, it’s hard to make a choice. The feeling of having wasted money will inevitably arise a couple of hours after the purchase. What can be done there? Selecting the cheapest components around will prove to be a short-sighted choice (i.e. PC is already obsolete at the time of purchase). Buying only the most expensive components to have a time-proof computer is not an option for 99% of us. The trick is to focus our budget on those components which offer the most cost-effective alternative, based on the user experience we are going to have.

The new PC they want you to buy.

More often than not, surprise!, the features pushed by marketing departments have little or no impact at all on our user experience. Spending $50 more to have a 2.5GHz CPU instead of a 2.2GHz CPU is not going to make any difference, trust me. Marketing guys like to focus your attention on features that can be easily compared to each other, even if you have no clue of them. For example it is intuitive that an Intel i5 CPU is better than an Intel i3 CPU, but come on! treat yourself and buy an Intel i7! It’s like this in many many market segments. You can buy two identical cameras that differ from each other only for the number of megapixels. Similarly you can buy the same exact music player with different storage size. The reason is this: they can be easily compared to each other, by everyone, and by doing this, you have the feeling to be choosing something.

The new PC you should be buying

So, what can we focus on? My experience led me to compile a top-five chart I use when I have to build a new PC. If your goal is to have a reasonably fast computer, that will still be a good one in three years, doing what 95% of people do with a computer, then check this out.

5. A solid state drive.

Solid state drives (SSD) are still quite expensive, but if you can afford it, treat yourself and buy one. They really are visibly faster than a regular hard drive. If you don’t need huge amount of data storage this can be a very smart choice.

4. A good case/power supply.

A soundproof case, in conjunction with a silent power supply will greatly improve your user experience. And the experience of your coworkers/spouse/roommate too. It’s really worth it spending the $100 that separate a cheap solution from a soundproof one. Also be sure not to oversize the new PC power supply , you would waste energy and money.

3. Mouse and keyboard.

The physical means that allow us to interact with the computer are mouse and keyboard. It’s good to choose a good quality for them. The perfect match is, in my opinion, the Logitech Illuminated Keyboard in conjunction with the Logitech Performance Mouse MX. This ultra-flat keyboard has back illumination and short travel keys. This works unbelievably well against eyestrain and hands fatigue. There’s a wireless version, but I don’t think it’s worth it. The mouse, even though is a wireless one (usually more a gimmick than other), is probably the only mouse who gets it right when it comes to charge the battery. Simply, when the battery is low, you plug the USB recharging cable in and you can continue working (no awful docks or interruptions). Plus it uses a common AA rechargeable battery. Included in the box. Buy it.

2. Monitor.

Interacting with your hands is important, but interacting with the eyes is maybe even more important. And this applies also to your new PC other than relationships. Visual interaction is achieved by a monitor. There are few simple rules:

  • A. No glossy screens.
  • B. Search for panels with an ample viewing angle. I.e. the ones with IPS technology. There are expensive monitors that become unreadable once you move your head a bit. Avoid them.
  • C. The only thing better than a good monitor is TWO good monitors. If you can afford it, buy a multi-screen setup. Using tiling window managers like Mosaico (download here) you can get the best out of them. Screen real-estate is something you will love.
  • D. A good plus is having a monitor that can be rotated to vertical. This is the best way to surf the web, use a word processor, and many other things.

Also keep in mind that a new monitor will almost certainly outlive your new PC. So consider it an investment.

Consider using Mosaico Tiling Window Manager on your new PC

1. Ram.

Ram is probably the most cost effective thing to buy for a new PC. As rule of thumb to determine how much Ram you need, just read the best configuration offered by your preferred dealer, and double that number. If it is 8 Gb, buy 16. It is good to exaggerate with Ram. More Ram means more applications running at once (no need to close and reopen) and less swapping to disk (= faster PC). Again, you can use Mosaico to organize your running applications to get the best results. Please note: there are a lot of Ram types (different speeds, error correction etc.), buy a lot of Ram without chasing the highest clock speed.

In conclusion

As you can see there are almost no indications of specific components (market evolves too fast to keep track of them all). There are also no indications about CPU, video cards and so on. In my opinion a good mid-range video card is good enough to run most videogames in three years from now. And the last time I have seen a faster CPU making a visible difference over a slower one in everyday job, I was comparing a Pentium 90 to a Pentium II 266 and it was 1997.
Maybe this chart does not suit everyone’s needs, but I’m sure it will help a lot of people to have a different perspective about the priorities to consider when buying a new PC.