Yesterday, during the First Annual TAG Cyber Security Conference held at Caroline’s on Broadway in New York City, I had the great honor of interviewing one of the amazing luminaries in our field of computing science, Brian Kernighan. During the discussion, those of us in the room were treated to the captivating story of Brian’s career journey from Bell Labs, where he helped invent many of the advances we take for granted today, including the C Programming Language, to his current position at Princeton University, where he educates the next generation of computer scientists. Here are some takeaways from the interview, which included expert on-stage assistance from my good friends, Melanie Ensign of Uber and Jose Dominguez of TD Ameritrade:
The People in Your Work Environment Matter
If there was one statement Brian repeated multiple times during the discussion, it was that “he felt so lucky” to have joined the technical community at Bell Labs in the late 1960’s. Starting with an internship, and then culminating in a full-time position as a research scientist, Brian became an important part of a unique work environment that produced innovations such as Unix and C. But when asked about the environmental factors that could have prompted such contributions, Brian immediately began to talk about the people who were there at the time. He talked with great fondness about now-famous scientists such as Dennis Ritchie, Ken Thompson, and Doug McIlroy – all of whom contributed in a manner that was sometimes quirky, but always delightful. It became obvious, while listening to Brian, that perhaps work environments should be rated more on the quality of the staff than on the number of free meals and Ping-Pong tables in the lobby.
The Programming Languages You Use Matter
Most people immediately connect Brian’s name to the book we all – and I mean, all – started with as programmers: The C Programming Language, written with Dennis Ritchie. But Brian is also an expert on the history of programming languages, starting with the “hundreds of languages,” he explained were present forty years ago, and continuing with the plethora of options we have today. He discussed the tradeoffs between using powerful languages like C, where you can certainly “shoot your foot off” if you are not careful, and more constrained languages like Go, where certain elements of structure are predetermined for the programmer. But in all of his commentary, which included some lively questions from the crowd, it was obvious that the art of selecting the right programming language for the task is something we must never take for granted – because will matter to the quality of your code.
The Young People You Help Matter
Brian spends much of his time these days instructing students at Princeton. And like many of the grand masters such as Richard Feynman, Brian enjoys spending time with undergraduates. Referring to the class he is now teaching on how the Internet works in the context of security and privacy, he described his student mix as “a delight.” Everyone present, including me, immediately wished to be about eighteen years old again, taking that class with Brian. A great lesson for everyone was the example of this great scientist, a man with probably as many options as one could imagine, spending his time helping undergraduates. It was truly inspiring to hear him talk about the joy of teaching. Perhaps each of us should take Brian’s cue and make a personal decision to try to help the next generation of youngsters become better computer scientists, which in turn will give us a much improved society.
I offer my sincere thanks to Brian for supporting the First Annual TAG Cyber Security Conference with such wonderful commentary, stories, and advice! In a time when it’s tough to find real heroes in our society, it’s refreshing to know that Brian stands as a shining example of what it means to be a great computer scientist, researcher, and teacher.