Money Man: Cracking the Code

My Dad, an economics and business major, taught me the Law of Supply and Demand before I could talk. It was no surprise, then, when he laid down another law — return on investment — some years later. He agreed I could be a music and English major if I wanted “no ability to make a living,” but I had to have a skill. Computer programming was new, and he correctly saw it as The Future. So, I braved the engineering school for comp sci, watching my grades slump over four courses from A, to B, to C, and to a mercy D. I didn’t stick around for the next one. Dad gave up.

I did develop skills, however. We used a keypunch — specialized typewriter – to punch (obviously) holes in rectangular cards. These corresponded to computer language code. Then, you put all your cards in a box at the computer center and the IBM 360/370 mainframe technicians ran them through overnight. You picked up the printout of the results the next day. Debugging was running these card decks over and over, correcting minute errors through repeated keypunching, one card at a time. It was laborious and always prolonged because computer time was precious, and some losers would move their card boxes to jump the queue.

Plus, the cards were far from robust, somewhere between paper and playing cards. One bent card could ruin your whole batch, and back to the end of the line for you! You definitely didn’t want a rubber band malfunction either. If you had, say, a thousand cards in your program, and they flew all over the floor, the game would not be 52 pickup but rather 1,000. It only took one malfunction to learn to run a Magic marker (before Sharpie) diagonally along the top of your card deck to help you find their order again. We’re talking abacus-level sophistication here.

But while it seems primitive (because it was), nothing has changed fundamentally in the 40 years since we programmed in FORTRAN, COBOL (“common business oriented language”), and PL/1. Yes, you can do in a millisecond what it took weeks to do, and no more keypunching cards or waiting at the computer center, but coding (“programming” in our age) — the process of writing instructions line by line — is the same. The languages are just eye-poppingly more sophisticated and powerful now.

An app on your phone is still many lines of computing language that magically make things happen. Languages have more exotic names — Java (still number one), Ruby on Rails, Python, Flutter — but they are still all about telling a computer what to do. Much of the former repetitive and duplicative work has been made routine, so that software engineers can work on the truly interesting and cutting-edge problems.

The frontier is now artificial intelligence and machine learning, where a computer no longer simply spits back what you tell it to do (no more, no less), but learns to do more on its own. According to Wikipedia: “Machine learning is the scientific study of algorithms and statistical models that computer systems use to perform a specific task without using explicit instructions, relying on patterns and inference instead. It is seen as a subset of artificial intelligence.” You know, how ads somehow pop up after you’ve searched for something related, except a gazillion times more amazing.

And yet, you can still get a job as a COBOL programmer. My older brother paid more attention to my Dad than I did. He actually completed a music major but then trained in COBOL at a bank in New York. He managed to spend the rest of his working life as a COBOL analyst, which Dilbert cartoons lampooned as a dinosaur around the office.

My brother retired when they had to lay someone off in his department, because they were all young guys with families (yes, sadly all guys) and he was ready to go. COBOL was already old school in the 1970s, and young people (however few) are learning it in the age of artificial intelligence? It’s simply not cost effective for a bank to rewrite its COBOL check processing programs from 40-50 years ago in zippier new lingo. Crazy!

I’ve now become (sigh) one of those people who looks back and can’t believe all the changes. Yet if I were my Dad today, I’d probably say the same thing he told me: play the piano and read Shakespeare if you want, but definitely, positively, and absolutely learn to code.

Tom Jacobs is a partner with Huckleberry Capital Management, a boutique investment advisory firm serving clients in 25 states and 3 foreign countries from offices in Marfa, TX, Silicon Valley, CA, and Asheville, NC. You may contact him at 432-386-0488 and [email protected].