When I graduated from University, about the first responsible position I was given was being design authority for two data communications products (statistical multiplexers, in case anyone remembers that far back). That meant I was in charge of the product from an Engineering point of view.
But making a product involves a couple of departments: Purchasing makes sure the parts are ordered, Receiving gets the parts as they come in, the Stock Room stores and retrieves the parts, Manufacturing builds and tests the product, and Service takes care of faulty units that come back from the field.
Whenever I got tired of dealing with the paperwork, I'd go take a walk to visit each of those departments. Manufacturing was always cool, to see components getting inserted into brand new PCBs, going through the wave solder machine then being checked on the big in-line test machine. Some final assembly, packaging, then ready for the weekly trip down to Codex in Mass. for distribution. Watching the process was fun, and talking to the people was very informative -- you could hear what was working and what wasn't, and think of ideas to make things work better.
Now that I live in the software world, what's the analog of walking around the factory floor? For me, it's to spend a morning like the one I just had, watching my web application handle a bunch of documents. I have the browser window open, of course, with a view of the main Document Status page. One xterm window shows me the grid engine queue, where documents are being processed. Another two windows show me the access and error logs for the web server, and xload shows me the server load. Finally, I'm watching a tail of ps axf so I can see the various processes that are running, even if momentarily.
One common error I've been seeing in my web application has to do with an uninitialized variable for one routine under certain conditions -- and after spending this morning watching, I'm now pretty sure I know what those conditions are: the small window of time between when the document is uploaded for processing, but has not yet had any processing done to it.
Another problem I've been seeing is a slow load time for the main status page -- and I suspect that's because of some bad DBI programming on my part, something I've been considered refactoring for some time now.
Apart from that, things look pretty copacetic: today we passed the 10,000 document mark on the system, and it continues to hum along nicely.
So, have you taken a walk around your factory floor lately? I suggest you try it soon -- you might discover some things you'd be really interested to find out.
|
---|