It is time
28 Nov 2023I joined Roblox in August 2012; eleven years and 4000 commits later, it’s time to say goodbye. Today was my last day.
Roblox was around 60 people when I joined. It was desktop-only, English-only, and predominantly US-focused (we thought it was okay to take the site down for a few hours every Wednesday night to update as most of North America would be asleep by then!). Neither DevEx nor developer forum existed (and even the word “developer” wasn’t around), the games you would play were much simpler and less polished, and the engine and tools needed a lot of work.
I spent the decade that followed rebuilding the technology with the help of amazing coworkers and making many friends along the way. Looking back, I’m proud of what we all have built together - I wrote more about my contributions in a retrospective post in 2020. The defining characteristic of engineering at Roblox to me has always been finding the best fit for the product and vision, even if it leads you down the path few have traveled before - the outcome is usually a mix of conventional and unconventional technology, and I think we’ve done well on both fronts.
In the last few years, I’ve been fortunate to be able to self-direct and dedicate my time to problems that I thought were important for the company and interesting to solve. A lot of this time was spent on various language-related projects as well as some engine-wide initiatives (although I wound that down at the end of 2022 to focus on Luau). Luau is now a nicer language with a stronger implementation, and several big efforts are underway to make it even better. I’m also happy to report that all hack week projects I’ve implemented have either been shipped as part of Roblox or are actively being worked on1.
Additionally, after a fair amount of effort, we’ve open-sourced Luau at the end of 2021; I drove this initiative personally from the start and up until very recently. This year, the games Alan Wake 2 and Warframe both switched to Luau as their internal scripting language, which has been very validating. Open-sourcing engine components is unusual for Roblox and I’m grateful that for this specific project, it could happen; with the strong team that continues to develop the language, I’m optimistic about the future - Roblox remains committed to Luau and the open-source efforts around it2.
Fast forward to today, it is difficult to recognize the company I joined all these years ago. The technology, processes, business metrics, and company size are all eons ahead of where they were back then - I can’t take credit for most of this but I’m happy to have helped. I’ve also grown significantly since then as an engineer and as a leader (unfortunately I am also 11 years older now…), and I’m very grateful for this opportunity.
The tremendous success, however, comes at a price. Roblox helped me grow alongside the company, but in recent years it became increasingly more difficult to keep up with the organizational scale while still building things. Maintaining the focus on areas I still considered critical required continuous efforts that drained the energy too much, as the company embraced new evolution directions that I was not particularly excited about. The organizational dynamics made steering decisions and projects needlessly difficult at times, and it felt like the culture I was used to was dissolving.
Ultimately I realized that the company would do just fine without me - but that for me to continue to self-improve without distractions, and to deliver impact the way I prefer to, I needed to let go.
Earlier this year, I had a chance to connect to a lot of the amazing developers on my ninth RDC, some for the ninth year in a row, some now working at Roblox, and it was just like the good old days - so much passion for the platform, so much knowledge and creativity, so excited to talk about all the new features. They truly are a cornerstone of Roblox, and I will miss them - and all of the brilliant people who remain with the company.
So, what is next for me? The answer makes me excited and terrified at the same time - I don’t know!
My decision isn’t completely rational - I don’t know what path I want to take, or what goal I want to reach. Rather, I decided the best way for me to discover the next journey is to end this one - and in doing so, create a void that will naturally give birth to something new. I plan to dedicate more time to various open-source projects in the coming months and pursue new ideas - we will see where this takes me!
I am always happy to connect and discuss interesting new ideas and opportunities - unless you’re a recruiter3. I’m also tentatively interested in consulting, to the extent it will allow me to broaden my worldview, especially if it aligns with the open-source work I am doing anyway - please don’t hesitate to reach out via e-mail in either case!
-
Improved voxel lighting doesn’t carry any code that I’ve written as part of the hack week but it was inspired by it and I’m happy it’s being implemented nonetheless! ↩
-
I do not yet know to what extent I will have the time and energy to participate as an external contributor myself; this is certainly possible, but no promises! ↩
-
Leaving one big company for another big company just to implement someone else’s idea would not make that much sense after all. If you are a founder of a tiny startup, let’s talk ;) ↩
« Efficient jagged arrays | LLM inference speed of light » |