My personal Bell Labs
Have you heard about Bell Labs? Recently, an article about it reached the Hacker News frontpage, triggering a flood of nostalgic comments. Bell Labs is, for many, a symbol of the ideal working environment for a curious mind: a place where there’s time, money and freedom to research whatever you want.
In my own case, having a curious mind drew me from a young age towards computers and lured me into the world of programming. Like many other programmers, however, I’ve had a hard time finding companies where curiosity gets as much room as I’d like.
I don’t mean to further romanticize the already mythical Bell Labs. In fact, I’m actually hesitant to believe the folks at Bell Labs lived in some kind of Valhalla. Still, the vision of a job with a research angle has always felt very appealing to me. Since the beginning of my career I’ve been pursuing that dream, even though it sometimes seemed like a moonshot.
Obtaining a Computer Science degree was a good start of the journey. Being taught how to create a programming language, for instance, was absolutely mind-blowing. If using a programming language often feels like magic, imagine how fascinating it is to be the one creating that magic! It is no wonder that I got hooked, and even ended up contributing to Rust. It provided an endless rabbit hole to dive into!
For my first job, as a full-stack developer, I chose to work at a company where curiosity was highly valued. One of the perks was that you could spend about 8 hours per week on personal projects, which I used to contribute to open source and to brush up my cryptography knowledge. We also organized a yearly hackathon full of truly whimsical ideas, with zero pressure to create anything useful, simply having fun with technology in unexpected ways. It was nerd paradise!
Looking back, I think my curious mind was not fully satisfied working as a full-stack developer. Side-projects and open source contributions provided trips to a parallel world where curiosity still reigned supreme, but most of my working hours were spent incorporating business needs into a web application. To me, the situation was unfulfilling, except when I met technical challenges that required out-of-the-box thinking.
After I left, years ago, I gradually gravitated towards projects that required programming from first principles. I’ve since been paid to implement RFCs, work on open source libraries, create a benchmarking setup for Rust’s main TLS implementation… Heck, last November I even attended an IETF meeting to discuss the viability of the QUIC protocol for Earth to Mars communication!
It looks like, somehow, I’ve finally reached the dream job where my curiosity can go wild: every project I take results in a deeper understanding of computing; I’m working together with smarter people than I ever hoped for; I’m creating technology from first principles for other programmers to build upon…
It’s not the same as Bell Labs, obviously, since my customers determine the direction of my work. I do, however, take projects that fit my interests and have a research angle, so maybe you could say I’ve created my personal version of Bell Labs.
Will I be able to keep it going for the years to come? We’ll see. In any case, I’m looking forward to writing more about the projects I get to work on, so stay tuned for future updates!