Interview: Looking Back on 4+ Decades in the Software Industry

/ January 12, 2021 in 

In December we said farewell to Joel Goldberg, our first retiree in the 16-year history of BTI360. Last week we shared Joel’s lessons from 45 years of making software. Today we share an interview exploring Joel’s more than four decades in the software industry.


Let’s start at the beginning. What did you study in school?

I started as a math major at UMBC with no thought of working with computers. A chess friend pushed me to take Intro to Computer Programming, and I reluctantly enrolled.

After struggling through the first half of this poorly taught Fortran class, it clicked and I was hooked. UMBC was too small to offer a CS major at the time. I took the three computer classes they offered, and then transferred to University of Michigan.

At that time there were three big players in mainframe computing: IBM, Univac, and Burrows. Michigan was an IBM school, so I learned IBM mainframe assembler, data structures, computer theory, and operating systems. Operating systems were tough. We wrote in IBM assembler adding paging and virtual memory to a fixed memory operating system.

What was your first job out of school? What kind of technology were you using back then?

I started my career working for the Detroit area school districts. COBOL was the lingua franca in 1975, although PL/1 and IBM assembler were occasionally used where I worked. Everything was batch processing, key punch cards, card readers, and flat files (which were mostly on tape because disk storage was so expensive). Online systems and databases had yet to hit the mainstream.

At my first job, I mainly supported batch COBOL applications for the school districts. We used Job Control Language (JCL)—a rather confusing “language” in its own right—to direct what programs to run, what files to read and write, and where to print the reams of output. We carried these JCL decks (to print, compile, and run) in our shirt pockets and always had rubber bands around our wrists.

The term “killing trees” was not an exaggeration! Computers didn’t have monitors. A single compile could generate 10 or more printed pages of 14″x11″ green bar paper, whereupon you’d find a typo in your program, re-punch a card, stick it in the deck and run it again. If the program compiled but blew up, you’d get a single error code and reams of hexadecimal core dump to decipher as you looked for your logic error.

How did your early experiences shape your approach to programming?

My very first assignment was to modify a complex statistical test scoring program in PL/1. The author, a PhD in statistics, fancied himself a programming wizard as measured by . . . brevity. Seriously!

This genius used one character variable names (a, b, c, etc..) or two if absolutely necessary (aa, ab, ac). He nested loops three-deep on one line. In a word, his code was undecipherable.

As I untangled his code, I vowed to myself I would never do that to anybody. I realized that we always write for the next person who will read our code. Code should be as clear and understandable as I can make it. This was before any standards or formalized methodologies existed. Today we call this idea “clean code” and it’s baked into the culture of BTI360.

Can you summarize the changes you’ve seen over 4+ decades in this field?

The technical changes are too vast to adequately describe: from punch cards and a “cutting edge” 16 MB IBM mainframe to Object-Oriented Programming, big data, and the internet of things. So many tools that we take for granted, like relational databases, did not exist when I started.

Corporate culture was also very different in my early career. Cigarette, cigar, and pipe smoking was rampant until the late 80s. I’d sit in smoke-filled meetings and come out wheezing, reeking of tobacco. Also, the dress was different. I was required to wear a conservative suit, tie, and leather shoes until around 2000 when business casual became popular (my employer waited until after IBM relaxed their dress code).

Maybe more surprising is how my own perspective shifted over four decades. Initially, I was attracted to programming because of all the cool stuff you could do with technology. But as I think back on my career, I realize that my focus gradually shifted to the high-powered teams and great relationships you could build around technology.

Tell us about your experience working with W. Edwards Deming.

Sure, for those who don’t know, Deming was an engineer turned management consultant. He went to Japan and had an enormous impact on their manufacturing industry. Many credit him with sparking the miraculous Japanese post-war economic recovery in the 1950s.

I encountered Deming when I was working at GM. He was brought in to consult with the division I was working in. I attended meetings with Deming and somewhere I have a grainy, out-of-focus photo of us together.

Deming was ahead of his time. He had a lot of ideas that were quite provocative to American automakers in those days. Some of his best ideas for GM were around improving the systems in which their employees worked—creating an environment for success. Management was so obsessed with individual performance, that they could miss systemic factors that were holding everyone back.

Of course, Deming’s influence continues to this day. You see his ideas reflected in agile methodologies as well as in books like Drive by Daniel Pink.

You worked for Ross Perot as well?

Photo by Allan Warren (cropped) licensed under the Creative Commons Attribution 3.0 Unported license.

Yes. In 1984 GM acquired Ross Perot’s software company, EDS. All of GM’s IT folks either transitioned to EDS or quit. Although Perot is best known nationally for his quirky presidential bid and debate performances, he was very effective in the contexts where I encountered him.

Perot had been the top-selling salesman at IBM. He wanted them to get into software services, and when they didn’t he founded EDS to fill the need himself. EDS grew to be a multi-billion dollar company. Perot had a folksy, charming manner. I can still picture him sitting on a table in the front of a meeting room, rather than using the podium.

Perot was known for being loyal to his people. The most famous example is when he sent a team of civilians to Iran to free two wrongfully imprisoned EDS employees who had been working in Tehran. Perot oversaw the mission personally from Turkey. It’s a wild story that was documented in a best-selling book, On Wings of Eagles. I met one of the EDS employees who was rescued.

What’s next for you in retirement?

Plans?? I thought retirement was the time in my life I didn’t need to follow any plans! I certainly have a lot of interests and activities to keep me busy. I’ll continue to stay active with biking, running and swimming and do the occasional triathlon. I’ve always been intrigued by riding a unicycle. I plan to learn. I’d like also to get back into woodworking and photography.

My biggest near-term project is my retirement puppy, Cosmo, a little Havanese. I’m currently learning to be a dog owner and train a puppy. Eventually, I would like to train and certify him as a therapy dog and take him to comfort kids and the elderly in hospitals and long-term care facilities.

Thanks so much for sharing these reflections with us, Joel. We’ll miss you around here, but we wish you the best in this next stage of your life!

 


Like What You Hear? Work Here!

Are you a software engineer, interested in joining a software company that invests in its teammates and promotes a strong engineering culture? Then you’re in the right place! Check out our current Career Opportunities. We’re always looking for like-minded engineers to join the BTI360 family.


Related Posts:

Previous

What I’ve Learned in 45 Years in the Software Industry

Close Form

Enjoy our Blog?

Then stay up-to-date with our latest posts delivered right to your inbox.

  • This field is for validation purposes and should be left unchanged.

Or catch us on social media

Stay in Touch

Whether we’re honing our craft, hanging out with our team, or volunteering in the community, we invite you to keep tabs on us.

  • This field is for validation purposes and should be left unchanged.