It’s interesting to think of
the experiences I have had in various venues.
I have worked in tiny home-based robotics firm where I did everything
from drafting (yes, with a paper and pencil) to light machining; station
assembly work; structural design programming and even accounts payable. Afterwards I worked in a government job within a national lab, then
a job at an educational institution; and later a commercial sector job. Every time, I was paid, I was not paid to
program, but to solve problems.
Problems, puzzles actually,
take many forms….
Often an employer wants a
programmer to program a solution around the problem “make it go away” But without understanding the underlying
cause, the problem will only resurface in strange and creative ways. Solving problems is a combination of
listening, organizing, analyzing, asking questions, trying something, asking
more questions and refining the problem model and crafting a solution both
procedural and programmatic and most importantly monitoring the results.
Programming for programming’s sake is easily obtained elsewhere and for a lot less money. Solving problems is a specialized analytical
exercise that involves people skills; hardware knowledge; past experiences; new
methods; trial and error. To excel at
problem solving requires good business relationships as well as strong technical
relationships and knowledge. Programming
is an important tool, but only part of a problem solvers toolkit.