Time for another philosophical rumination on the value of what we do...

In my day job, I work for a test lab group that supports an in-house chip fab. Being a US national lab, that fab gets all kinds of trick projects thrown at it from MEMS mixed with high-speed CMOS to stackable laser multichips. As such, no two lots in a row run the same processes. Sometimes, no two wafers in a row are the same!

This means that controlling the yield is an almost insurmountable problem, because the keys to yield improvement are consistency and measurement feedback. Our situation is completely different than, say, Intel's plant up in Rio Rancho, where an entire fab line will build one chip and one chip only for years.

I have started doing work for the fab's people directly, and a week's work gave me a complete web/mysql app that made 15000+ files of measurement data available either as a table or a spreadsheet. The Fab's manager was utterly blown away, and effusive in his praise. Now, you and I know that Perl, Apache, and MySQL really make this no great shakes (I use Embperl as my templating/integration system). I had to calm this manager down, and explain to him that this work was really no more than hammering nails is to a journeyman carpenter. He laughed, and said that what I'd done in a week was going to save his process engineers several hours every single day, just for this one tester. Needless to say, my next task is to adapt this same little system to half a dozen other fab process test machines, and the time savings will be multiplied because they are just as critical.

The next thing we did was to talk about building a data warehouse to house all the data from all the process stations with a few interns to help me with the grunt coding. He kept looking at me like he was trying to see if I'd get nervous, but I was just smiling as I led him through the concepts involved in building layers of meta-tables in the database to describe varying dataset structures in a generalized way. I must say, he looked like he couldn't decide whether he'd won the lottery or ascended to his personal heaven.

Finally, after I'd answered all his questions and was sitting there waiting for him to say something more, he couldn't. He was wrestling with disbelief and hope, and nothing came out.

I nodded with a smile. "Okay, so now we're hammering together some trusses to keep your fab dry when it rains." :D

Replies are listed 'Best First'.
Re: Just hammering nails...
by chester (Hermit) on Oct 12, 2005 at 14:42 UTC
    The manager was right to be impressed. I am impressed by anyone who is skilled at a craft. Programmer, carpenter, cook, whatever. If a mechanic put together a car engine in front of me from spare parts, I'd be blown away, even if it's all in a day's work for him. Even if he does other things that require far more skill, but which aren't obvious to me as someone who is an idiot when it comes to cars.

    The less skilled you are something, the more impressive it is when you see someone who is skilled at it "do their thing". Given the average person's knowledge of the inner workings of computers, I'm not surprised when I impress people on a regular basis. That putting together a spreadsheet or website is impressive to most people says more about those people than it says about the coder, in a sense.

      I think my main point was that we should look for the most basic things we can do that will help the most people do their jobs better. As cees said, most people don't even know where to start in using their computers effectively. I do have twenty-five years of programming under my belt, twenty-three of them for pay or in business, and I know I'm still learning more every day. I see the amount of learning and wisdom that's still ahead of me, and that makes me embarrassed when somebody is as effusive as he was.

      It is all too easy to seek out the most intricate and esoteric challenge to spend our time on, but I find that my time spent identifying the biggest hole to fill is the best time I spend. I can admire the raw brilliance of somebody who digs into the internals of Perl to seek out a new way to use it, but then I go back to my desk and I look for a new place to stick my simple webifier that will make this day a productive success.
        I don't disagree. (-: If I hadn't used up my votes by reading a lot today, I'd vote it up. I am writing documentation and take any excuse. :-)

        But I still think you miss a point.

        The complex work (*) is important. It is making tools for the tool users (i.e. us). It is a meta level higher. It is in the end needed for the "simple" stuff.

        (*) I was going to write "like super complex music mostly interesting to musicians", but I quite like that music without having much musical talent. :-)

      I agree with your first point. I think that we can forget just what skill is involved in crafts and trades, including our own. Have you ever tried to build a brick wall? It's really hard! To do it well anyway. But getting back to nails - the skill and experience involved in wacking in nail after nail, in just the right place involves much more physical dexterity than I will ever have. It amazes me! As do chefs and their hypersonic chopping skills!

Re: Just hammering nails...
by nicholasrperez (Monk) on Oct 12, 2005 at 21:07 UTC
    I have to say that it is very warming to hear of a fellow trenches coder making inroads with programming to improve efficiency.

    I came into this PCB design and manufacturing company simply as a planner to work the pick-and-place machines, and ended up coding simple solutions that saved countless hours of time. Now that I am doing circuit bord design, I am applying those same skills to this side of the company to streamline processes, remove human repetitive tasks with automation, and improve quality.

    It is amazing how hard niche market companies work to account for the complete lack of tools to do their most onerous of tasks. And they never even think "maybe we should get ourselves a consultant and see if we can automate any of this." Usually it is someone like you or someone like me that comes in and hammers some nails in to solve the simple problems and show them that the computers are supposed to work for /you/ and not the other way around.

    Anyhow, this was a great write up and lets me know that I am not alone in the world.
Re: Just hammering nails...
by GrandFather (Saint) on Oct 12, 2005 at 22:24 UTC

    In a similar vein, but on a much smaller scale - I impressed my father who is maintaining a web site recently when they were moving the site to a different server provider. The basic tool that the new provider provided for uploading files to the site required that the files be loaded one at a time through a web page. They suggested an ftp application to do the job of uploading about 2000 files, but the application was slow and only managed to transfer about 1 in 3 of the files (due to timeouts!).

    I wipped up a simple Net::FTP/Tk app in about 3 hours to do the job and saved the day. Plenty of brownie points for that effort!


    Perl is Huffman encoded by design.
Re: Just hammering nails...
by jkva (Chaplain) on Oct 12, 2005 at 14:07 UTC
    Wow. Well written. I do not have much to add, but I really liked to read it.
    Good luck with your other projects, hammer those nails :)

    -- Detonite
      Well, actually, I do have a bit more food for thought. In a lot of ways, the things we consider challenging don't make a blip on management's radar or on the bottom line that The Important PeopleTM look at. I spent several months on a parsing project that saved another group from having to invest in fancy workstations that would have cost $100K a year, each, and another few months when I first got here building a specialized-environment launcher in shell script that is spreading rapidly throughout the whole lab as THE way to run eCAD tools, but neither of those apps has even been acknowledged.

      What gets recognition are these simple little 'gluey' things that help people get their jobs done faster and more easily. The more basic the improvement, the more people it helps and the better things run. These silly little webifiers and spreadsheet dumpers aren't much from our perspective, but they sure do help things work better, and that's the real value in what we do.

        It is the simple things that are often the most useful. One of the accounting staff where I used to work used to spend about 2 hours each day manually comparing two data dumps (one from the accounting system and one from the bank) to make sure all the transactions matched up. They would print out both reports and use a ruler to match up lines.

        It took me about 2 hours to write a little webapp where the two files could be uploaded, and it would spit out a report of all the ambiguities in about a second.

        It amazes me that every worker these days has a computer on their desk, but the majority still don't have a clue what computers are really good at. They are used for writing memos and playing solitaire!

          [...] but neither of those apps has even been acknowledged.

        Hmm .. I would recommend you document those cool tools so that you can remind your boss at Performance Evaluation time how useful Perl is, and how skilled you are at using it. You should add those to the living document that is your resume, as well.

        Alex / talexb / Toronto

        "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

Re: Just hammering nails...
by revdiablo (Prior) on Oct 12, 2005 at 14:22 UTC

    I, too, enjoyed your post. There was only one thing, at the very end, that really stood out at me:

    so now we're hammering together some trusses to keep your fab dry when it rains

    I'm sorry to nitpick, but this just didn't make sense to me. In my mind, the primary purpose of a truss is structural. I guess they can keep rain out in an indirect way (by supporting the roof), but it just seems a bit off. Even still, ++ for the post! :-)

    Update: Please keep in mind, I wasn't trying to detract from the point at all. As I said, I enjoyed and I agree with this Meditation. I just thought the phrase "keep the rain out" didn't quite fit. No harm intended.

      Moral: have dwildesnl build your applications and website, not your house ;)
      In my mind, the primary purpose of a truss is structural. I guess they can keep rain out in an indirect way (by supporting the roof), but it just seems a bit off.
      I think that's exactly the point. From what the OP was describing, he was helping the engineers do their actual work with a little structural support.

      thor

      Feel the white light, the light within
      Be your own disciple, fan the sparks of will
      For all of us waiting, your kingdom will come

      Well, that was actually what I said to him, so if I'd written something different it would no longer have been a true story.
Re: Just hammering nails...
by artist (Parson) on Oct 13, 2005 at 16:35 UTC
    Very interesting piece, indeed. Besides your work, it also shows what an expert can do, be it in any field. True talent is to find experts and afford them to do your work. They are just hammering the nails on their part, which they enjoy, and you get benefit beyond your vision.
    --Artist