The Right Tool for the Job – Part 2

Continuing the series (The Right Tool for the Job – Part 1), for this post I will focus on hardware (or the lack thereof) that software engineers need to perform their job efficiently.

Fast hardware is at the core of helping a software engineer in being efficient. It affects how fast they can code, compile, test and more. For example, it currently takes me 20+ minutes to build all of the projects that make up the product I work on where I currently work. This takes up almost all of the processing power of my CPU. All I can really do during the build is research things on the web or respond to email. Heaven forbid someone broke the build, and then I would have to do it all over again! It boggles my mind why the newest, fastest machines are not given to engineers, graphic artists and others who really need the power and let theirs be passed on others in the company. Instead most companies just replace computers on a rollover schedule. Wait… why are we using five year older computers (see Part 1)? I wonder how long our rollover cycle is.

Along with the latest fastest processor and as many cores as possible on a desktop machine, it’s also very important to have as much memory as possible. Currently 8+GB should be a minimum even though I see 2GB standard where I work. The more memory equals the more programs that can be run concurrently without seeing performance issues.

Software engineers should also be given two large monitors. Minimum should be around 22 inches if not larger. Again, more screen real-estate means the more they can work on at the same time. More modern programming tools such as Microsoft Visual Studio 2010 supports dual monitors. I actually see some of our more junior programmers here working with a single monitor around 18 inches.

I also recommend two hard drives on the computer. One (C drive) for the OS and programs and a second (D drive) for code, scripts and anything else you want to quickly backup. I have for years used a program called Second Copy to make continuous backups to a network drive or an external drive. Second Copy has saved me on many occasions and would never spin up a development machine without out.  In addition, if the development team uses virtual machines for development (I will write a post on this soon) then the second drive should be the largest fastest drive you can find within a reasonable cost.

Again, the cost of providing developers the best, fastest computers is little compared to the time lost by not doing so. The $6,500 per year, per developer cost that I have estimated (explained in Part 1) that the company loses to its bottom line could buy two or more high-end computers! Unfortunately, I see this happen at many companies due to Excel happy management that cannot see the real long term cost.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.