Textiles

When the only tool was a needle and thread it took a lot of skill to sew something. With the invention of the sewing machine, less skill was required of the seamstress. Programming in assembler language took a lot of skill and patience. The idea of a pattern for sewing was not widely used until the late 1800’s. The first patterns only came in one size and the seamstress had to make many frustrating adjustments to get it to fit a specific person. Of course patterns today come in a wide variety of sizes and styles. Ready-made clothing did not exist until the early 1900’s.

Whenever I write or speak about programming long ago, it reminds me of hearing people talk about having to walk to school, it was up hill both ways and it was snowing. I feel like I need to start all my programming stories with, “I programmed in the snow...” I was working at Control Data Corporation in the late 1970’s in Minneapolis and it does snow a lot in the Twin Cities. This was the first time I had full screen editing and I thought full screen editing was nothing short of a miracle. Before this programmers had to use punch cards or edit their code one line at a time. It took a tremendous amount of patience like sewing by hand.

While I spent hours writing routines to perform multiple linear regression analysis and other complex numerical analysis, most of the software I wrote to perform numerical analysis can be handled by off the shelf tools like Microsoft Excel or SPSS. Nobody in his or her right mind would write a program to perform regression analysis now. Back when I programmed at Texas A&M University, it does not snow much in Texas, I was a craftsmen and I had the technical and functional skill. A physicist would tell me what they wanted and they did not have the patience to tell me how to do it because they expected me to understand numerical analysis. I was a specialist craftsman in the area of mathematical numerical analysis. I understood the business domain very well.

Industry Experience

There are several online job posting websites. I reviewed over 500 job postings for a variety of different technical disciplines including mechanical engineer, electrical engineer, chemist, and biologist. In each case, over 90 percent of the job postings required industry domain expertise. For example, a job posting for a mechanical engineer required 11-14 years of experience in production packaging of electronic equipment. Another mechanical engineering job required experience with HVAC mechanical design, another required extensive experience with injection modeling, still another required experience with nautical equipment. The same was true for chemist and nearly all chemist jobs required domain experience.

This is in sharp contrast to software development. When I examined job posting after job posting, almost none required any industry domain experience. Out of 100 job postings for software developers that I reviewed only 4 required industry domain knowledge. One could argue that it is better to be a generalist instead of a specialist, but no other industry suffers as many project failures has software development. No other industry frustrates end users like the software industry.