The Sound of Brilliance

There are countless descriptions out there about what it means to be a software engineer. These cover the expectations of the job, the general atmosphere, and often give enough information to help fledgling software engineers decide whether this is the career for them or not. Yet they are all missing one very, very important detail:

What does being a software engineer sound like?

Yesterday, through a mishap of GTalk, we were lucky enough to trap the sounds of a software engineer in his native environment. This elusive creature has, to date, never been recorded (by me).

A deep dive into the actual focus of the recorded work shows that this particular sound byte is of the debugging nature, a virtual mating call in the software world. The recorded engineer describes the situation as, “I think I was wondering wtf was going on with my gmail window and then [working towards] making it stop doing it.” Stunning.

Check out what some established software engineers and software managers are saying about it:

Trampas Kirk calls it “Riveting!”

Paul Weil describes the recording as “[It] just sounds like scratching to me.”

Jason McDonald calls the performance “entirely realistic and plausible.”

Mark Turansky says, “Huh?”

Without further ado, I present to you, “The Sound of Brilliance” :

[audio:http://mcdonaldland.info/audio/1122892093.mp3]
You may need to turn the volume up a bit…

TortoiseSVN, be silent!

TortoiseSVN routinely scares the crap out of me. I have my headphones on, I’m in the zone, I’m checking in changes, BEEEEEEEEAAAUUUUWWWWW!

By default, when you install TortoiseSVN it is set to play sounds any time error, warning, or notice event occurs. This is pretty bad and, as I mentioned already, quite startling. For whatever reason, instead of just putting an option into the application where you can change them directly you have to go to the windows sounds dialog to shut them off:

sounds.jpg

This is along the same lines as stealing my focus. Applications should not play sounds by default unless the user wants or expects them to. For example, I’d expect a music player to make some sounds but I never expect my file repository browser to do so.

If you write applications, random and sudden sounds are generally bad and undesired. There are some exceptions, however they are rare.

Rebuttal: We're not "resources"

Recently a friend/colleague wrote a post about how we, as workers, are not “resources”. If you click over and read his post first the rest of this post will make much more sense.

The underlying point behind his post is that people are not readily interchangeable. He gave many examples of people or professions that are not easily substitutable: Derek Jeter at short stop, Steve Jobs at Apple, Brad Pitt as an actor, Michael Jordon as a shooting guard. This point I agree with wholeheartedly. People are rarely interchangeable, at least in a thought industry, but they are still resources.

If we take a look at the semantics of the terminology “resources” we see that it has many meanings, many of which can easily be tied back to employees. Let’s step through the two most relevant of these.

1. A source of supply, support, or aid, especially one that can be readily drawn upon when needed
When viewed from the perspective of a company employees serve one purpose: to supply a service that the business needs in order to operate. How many times have you been called upon by your employer to complete a task that “just came up”? If it is more than once that you fall into the “one that can be readily drawn upon as needed” category. This definition fits pretty closely with most employees in thought industries.

2. Money or any property that can be converted into money
Employees garner a wage in exchange for a service they provide. Under this arrangement a certain amount of money is invested and tied up in that employee. This is cash the business cannot spend if they wish to continue to deliver paychecks. If the employee-employer relationship is terminated then the cash that was tied up in the employee is immediately available again. To put it another way, the employee “resource” was converted to cash.

For example, let’s say an engineering team has a budget for an engineer slot of $100,000. There are three people vying for this position. John is a mediocre programmer and will work for $55,000. Peter is a very good programmer and will work for $98,000. Greg is the programming equivalent of Derek Jeter or Michael Jordon and will work for $123,000. Greg is clearly the best choice if the team wants the best possible talent, however that option is not cost effective. So the company moves to Option B, Peter, who will fit within the budget and does a very good job. The company has now purchased a resource for $98,000 per year. If this employee discontinues his employment, the company will immediately regain $98,000 per year.

In addition, sports players (e.g. Derek Jeter, Michael Jordon, etc.) are routinely traded in order to deal with financial issues. While each “resource” is valued differently according to their ability, they are still treated as an item that can be converted to cash as needed. This definition also fits with what is found in thought industries.


If I build a fence I can choose to go with the cheapest lumber, nails, and concrete. Using cheap resources will be more cost effective but will likely yield an inferior fence that will not withstand the element for long. Conversely, I can choose the best resources and may find that it is highly inefficient financially but that the fence will still be around 100 years from now. Taking a more modest approach, I can choose median resources that make the fence durable for a long time and cost effective.This is no different for people.

If the Yankees where to pencil Mark Turansky in at short stop they would have a cheap resource but may suffer in the quality of their infield. However, if they were to choose Derek Jeter they would pay considerably more for the resource but would likely recognize a considerable improvement in the quality of their team. These people are “resources” for the reasons named above, however that doesn’t necessarily mean it is prudent to treat them interchangeably.

The problem with using the word “resources” to identify employees is that it objectifies them. This is such a broad term that it could just as easily mean calculators, pencils, or laptops as it could employees. As noted in Mark’s post, Steve McConnell “ranks ‘Weak Personnel’ as the 2nd classic mistake an organization can make when trying to build software”. The word personnel here is simply a narrowing term to indicate that the resources in question are human in nature and not of the inanimate variety. I will agree with the fact that people shouldn’t be treated as resources, even though we are just that. Our particular variety of resources comes with emotions installed, which makes it harder to blindly objectify us without some emotional responses following closely.

We are all “resources”, albeit differently valued ones that come with emotions attached.