Joe Drumgoole's life as a great software developer NPC... and other things I learned recording his DevJourney

This week, I published Joe Drumgoole's #DevJourney story on my eponym Podcast: Software developer's Journey. Among many other things, here are my main personal takeaways:

Joe first got introduced to programming by his mathematics teacher in high school, and that's how he enrolled in a college CS degree in the early 80s

In his first job in a tech-loving company, Joe wrote a whole bunch of "fantastic but useless" software. They was no focus, they were simply building way too many things in parallel. In hindsight, it is clear to Joe that the product-focus and customer-value focus were missing, but back then, this was an unknown-unknown to him.

While working at Deck, Joe worked on a concurrent of Linux (DeckStation). That's where he held his first training. There he learned how to pack his trainings with exercises to manage time... as well as arrive early to setup the training room.

Joe worked on the Kerberos integration for the Macintosh. At the end of his time at Deck, he was looking forward to go to Stanford and work on it there... before an emergency meeting happened and Core Engineering got "rationalized". The demise of Deck came with the realization that great technology isn't enough, you have to market and sell it as well...

In the 90s, Joe worked on Medline, a (book/paper) library integration software... which got rationalized by... the Internet.

Somehow, Joe has something against C++: "I hate that language with a vengeance, it's a terrible programming language, a terrible chimeric monster of C". He learned Python before, but had to go through C++ first to appreciate the beauty of Python.

By working with many stellar people, Joe learned that his superpower could be to support fantastic programmers, search great programmers and help them grow.

"You don't need a college degree to be a great programmer" he said, "if you've got the chops and can show me you can build software, you have a chance in my teams"

Joe was often responsible for rolling out systems, and always concentrated on building a proper installer. This saved his day regularly, helping to troubleshoot installation problems.

I loved how Joe, describing his first management role, point blank said: "there, I learned how to manage people... because I was terrible at it". And then: "I learned to be patient with the staff, people are doing their best, they want to succeed, but most of all they want their software to be used".

Joe's secret to getting rich. "Bring integrity, intelligence and hard work. Then find a great company with great product, that is high growth and then STAY THERE for 10 years. Then you can see your job have an impact... and that IS success."

Advice:

If you want to be a great NPC, study, put in the time, learn something in depth, show that you can go deep.

Quotes:

Talking about a stellar programmer he worked with: "I like to think of myself as a NPC in the computer industry, I'm the guy at the back of the tavern watching the real players walk through"

"If we make 1000 guesses, one of them will be right. I guessed the internet would become fantastic!"

"I can't say how fantastic programmers do things, but neither can they"

"Everybody should go around the world, once in their life"

"My biggest failure in life, is when I think about an idea that is 10 years too soon for its execution"

"The key to lead a great engineering team is to get out of their way", that and "everybody works to build the whole product".

"One of the biggest mistakes of my career: thinking that when you have seen a running software company, you can run one"

"Retrieve all your savings and put them on fire. If it causes you tremendous pain, under no circumstances should you start a software company".

"If you're explaining what you are doing to your customers, you are losing"