Engineering Ardor
“Science is the study of what is. Engineering builds what will be.” — Theodore von Karman

Archive for July, 2006

Skating at Work

Saturday, July 15th, 2006

Years ago, a few friends introduced me to a new use of the word “skating” to mean shirking one’s work responsibilities. One is skating when at work, seemingly productive, and deliberately accomplishing little or nothing. Note the difference from other forms of work avoidance, such as absenteeism. One of the best executed examples of skating was a guy helping clean a building. He spent an entire week with a bucket of soapy water and a sponge sitting and looking out a window. When someone came by, he wiped the sponge over the window a few times. When left alone, he went back to looking out the window.

I just left a job where I worked in a department of about fifty people. Some of them were the best with whom I’ve ever worked. Others were a questionable use of perfectly good space, light, and breathable air. Among the latter, I observed repeated and common threads that begin to form a pattern language of skating. I catalog a couple of them here not to encourage their use, but to suggest ways to detect and counter them.

Please keep in mind that the goal is to drive toward getting the work done, not to assign blame. I don’t care who shot John; I just want to make sure we don’t shoot him again.
(more…)

Job Listings and Past Experience

Sunday, July 9th, 2006

I started this blog now because I believe I’ll have more free time to devote to hobbies. I’ve just switched jobs. As I looked at my options, I read many listings for software engineers. The emphasis these listings placed on experience in a particular programming language, tool, or framework was disappointing.

Requiring that a programmer must have experience in one particular language or tool is like insisting that a waiter must have experience waiting tables at a seafood restaurant. Who cares if his experience was at a steakhouse instead? The essential skills, knowledge of how restaurants operate, and ability to deal with difficult customers are the same. If he’s thrown off because the plates have steamed crustacean on them instead of grilled cow, he’s no use to me anyway.

I’ve heard the counter-argument. “But steak and lobster have such different centers of gravity, so the plates balance differently. And it’ll cost us a lot to teach him the particular gotchas of this kind of food, like not letting the lobsters catch his fingers with their claws!” The idea here is that every language and tool has unique quirks, and that a developer must have experience with those quirks or they’ll get mired in a productivity sapping tar pit of small mistakes. There may be some truth to this argument in the first few days on the job, but not over the medium and long term.

I’m not dismissing the value of experience as a whole. The right kind of knowledge and experience are valuable. More experience working as a developer is better than less. I’m now a far better developer than I was five years ago. I’ll be better still in another decade. Domain knowledge and experience, too, are more than surface deep. Picking up a thorough understanding of a problem domain takes time, and in the meantime the less experienced programmer may do some amount of well-intentioned harm. Don’t expect someone with a background in developing UML modeling tools to produce a good design for a real-time, embedded signal processing system. Those distinctions make for better hiring criteria than years using a language or tool.
(more…)

On Blogging

Sunday, July 9th, 2006

When I first became familiar with putting up personal web pages, I thought “I’ll never do that.” Such is the power of the word “never” that shortly thereafter I had a few small pages. The “Infrequently Asked Questions” title stuck to those pages because it seemed doubtful that anyone else would get any use out of them. I haven’t updated them in years, but they remain online because I still get an email every few weeks thanking me for them.

When I first became familiar with blogging, I thought “I’ll never do that.” Such is the power of the word “never” that… here we are.

There are a number of thought provoking and useful blogs online. There are also legions of bloggers writing diaries without the good taste to hide them in their sock drawers. That latter category doesn’t hold much appeal for me. I’m going to impose a few ground rules here that, were I king of the forest, I would write into the law of the land.

  1. I’ll only update this blog when I think I can add something useful to others.
  2. I’ll only add entries when I think I’ve written them without spraining the English language too badly.
  3. If that means the blog is infrequently updated or abandoned altogether, so be it.