Since I started programming a few years ago, and selected data compression as my little hobby and obsession, I nonetheless remained a part-time, amateur, programmer.
My then real-life job was Telecommunication Project Manager, later morphed into Marketing Product Manager. It may sound foreign to programming, but not really : within every new product, every innovation see the contribution of multiple programming teams sharing temporarily some common objectives.
I therefore started programming with a good excuse : I was convinced that it helped me understand and communicate with programming teams, hence making me a better product manager. And, from what I can look at today, I would say it worked reasonably well. But let's be fair, the real objective was to entertain my brain, sure enough because I simply liked programming, and compression.
But as you can guess, with just a few evenings and week-end to save, progresses have been slow. Even more so since LZ4 became a "production-ready" source code, requiring a lot of maintenance and care, hence taking a sizable share of available time, and limiting further "research" activity.
That couldn't last. With a baby soon to come, it became clear that I would either have to stop, by starvation of free time, or eventually make programming my full-time activity.
I was lucky enough to receive a few propositions from several companies at this exact moment, while I was pondering my choices for the future. This acted for me as signal, a perfect opportunity to change course.
Starting June 1st, I'll become a full time employee at Facebook, Infrastructure division. On short term, it may translate into some reduced freedom to communicate around, but over the long term, it's the better choice to continue working in my field of choice, data compression.
I've selected Facebook for several reasons, not least because they are very keen to authorize my work in data compression to continue in Open Source mode. That's a great plus for them.
Of course, I guess you are also aware this team has developed an impressive set of tool, processes and mindset, to safely develop and deploy highly advanced software around the planet. So it's the kind of place where a lot of important practices can be learned. It's also an ideal crossover for my dual background in programming and telecommunication.
I'll need to ask for a few formal authorizations before being able to write again in this blog, but I'm optimistic on the outcome. And with now programming my primary activity, I should gradually find more and more time to do what I like, improving current compression algorithms and code base, and plausibly in the future, find some time to research and deliver some new ones.
Exciting times ahead...