Sunday, August 16, 2015

Developing from scratch...

Developing from scratch...  This article really piqued my interest.  It discusses something I've run into quite often, but hadn't thought it out as much as this author does.

A surprising (to me, at least) number of times in my career, I've run into a situation where an engineer I'm working with simply has no idea how to start attacking the problem.  Usually if I (or someone else) sketched out an approach and design, they'd be able to take it from there – but that first step was impossible for them to take.  Every time I ran into that, I was just astonished – because that first step, for me, is the part that is the most exciting and rewarding.  It's the part I like the best about engineering!

Thinking back on the occasions this has happened to me, I'm remembering an occasion when I asked an engineer who worked for me to try to figure out a way to compress the color information in an image.  He sounded very interested in the problem, and went off to go work on it.  A few days later, I stopped by his office to see how he was doing – and he had gotten exactly nowhere.  He had no idea at all how to approach the problem.  I don't mean that he had no ideas left – I mean he had had no ideas at all!  We talked about it for a while, and together came up with several approaches – and he was actively participating in the brainstorming.  Eventually we settled on an approach of mapping 24 bit RGB color space to an 8 bit RGB color space, using a technique to choose the closest point in the 8 bit space to the original point in 24 bit space.  That's a fairly obvious approach, and once we settled on it, he was able to implement it in just a couple days.  But he couldn't, somehow, take that first step himself. 

I still have no idea why some engineers can take that first step, and others can't.  I do know that those who can are in a distinct minority, and all the more valuable because of that...

No comments:

Post a Comment