Twenty nine years ago, I started my first and, up till now, only job, at Bell Labs in Holmdel, NJ (the lobby of which is pictured above). Bell Labs was a magical place in those days, sort of like a cross between a corporate think tank and a Grateful Dead concert.

There were really smart people everywhere, all sorts of clubs and activities and seminars and colloquia (I once got to see Steve Jobs, then CEO of NeXT, give a scintillating talk to a small audience, before he was bigger than God). The best part was that everyone dressed in jeans and t-shirts (and even shorts in the Summer). That was a big deal for me because I’ve always hated the idea of having to wear a tie to work every day. Bell Labs was a place where no one cared how you looked or how you dressed – you were judged only by your ideas and your attitude.

For someone interested in computer science, this a was fascinating time and place. In the basement, behind heavily fortified walls, were four huge, multi-million dollar IBM mainframes, all of which were kept busy around the clock by computationally demanding scientists and engineers. One of my first assignments was to write system programs for those mainframes in something called Basic Assembly Language, a low level programming language for IBM mainframes. Our developer tools were laughably primitive by today’s standards, but programming at that low level was a great learning experience. Plus I managed to crash one of those expensive mainframes all by myself. But it left me feeling convinced there had to be a better way to develop software.

During this era, some Bell Labs researchers (principally Dennis Ritchie and Ken Thompson) invented something so innovative and so revolutionary that it forever changed how people used computers. Unix and C were an epiphany for me: this was how operating systems and programming languages were meant to be. Forty years after it was invented, C is one of the two most widely used programming languages and Unix continues to influence generations of operating systems. Before long I got a chance to develop software in C on Unix systems and there was no going back for me.

Several years later, I was working at an R&D office in Columbus, OH, which was co-located with a giant factory and I noticed that every day around 4pm thousands of factory workers would line up like cattle by the exit gate, waiting for the clock to strike the top of the hour so they could punch out and leave work at the earliest possible moment. At the time, I was captivated by a software project. Though I was paid for a nominal forty hour work week, at the end of the day I couldn’t tear myself away from the office and I regularly worked nights and weekends, just because I wanted to. So when I saw all those workers who couldn’t wait to leave their job at the end of the day, I realized how lucky I was to have a job I loved so much that I didn’t want to go home.

Over the years, I’ve been fortunate to have worked with many smart and interesting and kind people and that experience has taught me a great lesson. If I were asked to give one piece of advice to a young person just starting out, it would be this: Always try to surround yourself with greatness, because great people will challenge you and inspire you to be like them.

Two days ago, the following window popped up on my laptop, reminding me it was my last working day at Bell Labs/Lucent/ALU:

At the moment, I was immersed in some code, still trying to write the best software I could, right down to my last hour (I actually worked overtime on my last official day :). Next month I start a new job with Google in Seattle. For me, it feels like coming home, returning to a place frequented by brilliant, unconventional and interesting people, a place where you can dress any way you like, and a place where people are judged not by how they look but by the quality of their ideas. I can’t wait. And, thankfully, I still won’t have to wear a tie.