Give me those old time programmersBy Lynn Greiner
When the spacecraft Voyager 1 lifted off in September 1977, the first Star Wars movie had only been out for four months. Radio Shack had released its first personal computer and the Apple II computer was newly minted. The IBM PC was still four years away.
Voyager’s computer doesn’t even have the muscle of today’s average smartphone. Its memory is measured in bytes, not gigabytes, and its storage is 8-track tape. Remember 8-track tape?
Neither did NASA’s current crop of engineers. Yet NASA desperately wanted to collect more data as Voyager reached the edge of the solar system. It asked the team to figure out how to tweak the ancient technology to do more. The existing staff didn’t have a clue.
Suzanne R. Dodd, the Voyager project manager, said in a New York Times interview, “These younger engineers can write a lot of sloppy code, and it doesn’t matter, but here, with very limited capacity, you have to be extremely precise and have a real strategy.”
So, what did she do?
She called a 77 year old retired NASA engineer, Lawrence J. Zottarelli, who figured out a way to squeeze more performance out of the old tech.
Yup, you read it right – 77 years old. Who says age doesn’t matter? In this case, it mattered a lot. Zottarelli came from a generation that learned how to program in tight, compact code, where every byte counted. Many of today’s programmers aren’t used to that; it’s not how they were taught. They grew up in an age where memory and storage are almost infinite, CPU capacity substantial, where a lot of their software’s components are generated by the tool they’re using, and where they may not know what’s going on under the covers. They even count on the API to handle little things like error checking; I once interviewed a job applicant with a shiny new computer science degree who didn’t know what bounds checking was, or why he should care about it. Eek!
I’m nowhere near Zottarelli’s age, but I still remember programming an elderly minicomputer with a mere 32 kilobytes of memory. It’s amazing what you can do with a little bit of code and a lot of imagination. Yet today, many younger colleagues can’t conceive of how we did so much with so little.
You may not think that the old skills are still worth anything. But just because we have lots of new toys, it doesn’t mean all of the old ones have disappeared, or that the skills used to program them are obsolete. The Voyager mission would have been in big trouble without Zottarelli’s experience, and the spacecraft is not the only legacy system that keeps chugging along, doing its job very well – until something goes wrong or more functionality is necessary (there’s a great short story in the anthology “Don’t Forget Your Spacesuit, Dear” that illustrates the point: From Your Mouth to God’s Ear, by Ellen Guon). Our industry, let’s face it, is ageist, both about people and technology, and that needs to change.
And it’s not only old tech that needs the old skills. Consider mobile devices that need to do a lot in relatively little space, with minimal power. Think about embedded systems in everything from smart watches to power stations. Think about the tiny robots used in rescue operations, and on the battlefield. Think about other small devices that need long battery life, and have to be inexpensive – say, implantable insulin pumps and other medical devices. Efficient programming makes all the difference for them.
Even with our gloriously powerful tablets and laptops, well-written, compact software means longer battery life, more multi-tasking (if you’re not sucking up as many resources, there’s room for other things to run), zippier performance and better reliability. It means code that’s more maintainable, that can be passed on to team members to take care of so you can move on to interesting new problems. Good programming never goes out of style.
About the Author
Lynn Greiner is a freelance journalist specializing in information technology and business topics. She is also an IT professional, giving her real-world experience that allows her to cut through the hype and address topics that are relevant in the business world. Her articles have been published in both print and online publications, including itWorld Canada, Computer Dealer News, CIO.com, DevSource, Canadian Security, ACM netWorker, Security Matters, GlobeTechnology.com, Canadian Technology and Business, InformIT, Computing Canada, and many others. Find her @LynnGr.
Author's Website: http://itwriter.com/
- Elixir is for programmers
- New course: Math for Programmers
- Programmers’ Day Contest: Your funniest entries and our winners!
- Get Fast Access to 3500+ Code Samples
- #1 Programmers Excuse [cartoon]
- Programmers’ Day: The fake holiday that can land you free stuff
- Video: Give Your Websites a Kick with Bootstrap
- New course: TPL Async
- Watch Jolie O’Dell learn C#