Monday, 8 August 2011

Lost programming skills






Today's coders may know how to whip up a PHP script or a Drupal extension, create a mobile app for both the iPhone and Android, and run DOOM on their car's GPS (which has been done, it turns out). But there's a lot that their predecessors knew that today's programmers don't.

Some of these skills aren't likely to be needed again, any more than most of us need to know how to ride a horse or (sigh) drive a manual-transmission vehicle. But other skills and "lessons learned" may still or again prove relevant, whether developers are banging their heads against legacy systems, coding for new mobile and embedded devices... or other devices and applications we haven't yet thought of.
"I see poor understanding of the performance ranges of various components," says Bernard Hayes, PMP (PMI Project Mgmt Professional), CSM (certified Scrum Master), and CSPO (certified Scrum Product Owner). "For example, rarely is the processor the bottleneck, but so many people look to 'tight loops' to speed up performance when it's often an I/O issue. In a world in which most folks have never intuited systems operations from studying console lights (or more often now, correlating events with signal analyzers), engineers are losing a strong mental model for processor/IO & systems interactions."

Also, says Hayes, "I see people more often having difficulty in thinking through problems caused by buggy hardware, and in general, folks have minimal real understanding of the hardware issues and the implications of the downstream errors that hardware errors can cause. Instead, they tend to feel that 'the driver should deal with that.'"

"When your company builds specialty hardware, you need to be able to learn how each new thing works -- and write some hardware test routines to figure out whether it was built to spec and which bits do what!" says Suford Lewis, a hands-on developer and project leader for 35+ years and past president of the Association for Women in Computing. "Half the fun of my career was moving between technologies and these days when things change so fast, I would think that changing what you are willing to do when a company dissolves from under you would be a downright necessity."

Miles Fidelman, Principal at Protocol Technologies Group, LLC and a 36-year veteran of the networking industry, wonders, "Maybe it's a personal gripe, but as far back as 1983, I found serious software engineers who didn't understand hardware. For example, in talking about, say, a simulation algorithm:

No comments:

Post a Comment