It seems like this post has been writing itself for the better part of a decade.
Back in 2010, I had used Unity for development long enough to know there was something special about it. Be it the ambitious goals of democratizing game development to company culture; everyone knew it aligned with my views.
There was only one small problem. We were a world apart, physically. After getting some notoriety in the community, I reached out to Tom Higgins about the possibility of a job; however, my locale requirement (remote work) back then presented challenges for most companies, including Unity.
I’d be lying if I didn’t say I was disappointed, but I turned it into motivation to do extraordinary things with Unity over the following years, continually drawing their attention. From working with the Mono team at Novell on what was the original MonoDevelop.Unity integration, to having projects I worked on featured in the Unity demo reels for GDC; I was always doing cool things with Unity; keeping my dream alive.
“No one makes their first jump.”
In April of 2014, Ralph Hauwert, the then lead on the scripting team, reached out about the possibility of me joining his team on an ambitious project (spoiler alert – this turned out to be IL2CPP). The team was one of the first distributed teams worldwide inside Unity, and my name was brought forward inside the company for a position. It was down to two candidates; myself and another. Rightly so, I didn’t stack up against the other for the job given their role in the development of Mono itself. It was bitter-sweet; I was incredibly happy to have even been considered for such a position but still disappointed it didn’t work out. I didn’t let this stop my enthusiasm for Unity and doubled down on my efforts to do great things with it.
If I had to choose a single project that I’ve worked on that I was most proud of, it would have to be this little gem. When Microsoft’ released the slimmed-down Visual Studio Code, I was instantly enamored by its responsiveness and ability just to let me do what I needed quickly. The problem was the workflow with Unity wasn’t quite at an acceptable level. Not a problem! I’ve done this before. I’ll make another integration!
The community that spun up around this integration, to this day, reinforces my belief in empowering developers. Having millions of developers using something you’ve created is an incredibly humbling experience. When Microsoft acquired Xamarin, they received all of the staff I had previously engaged with during the MonoDevelop.Unity lifespan. So, it was only natural that the plugin became the officially supported workflow for Unity by the Visual Studio Code team, showing up in their documentation and email blasts.
Unity 5.5 released built-in support for Visual Studio Code; a strange repeat of the past, eh? I now evangelize the use of Rider (from JetBrains), but this project taught me how much I enjoyed building tools that made the lives of my fellow developers better.
Fast forward, many years, and many projects.
Time for a change
A little over a year ago, I had left OtherSide; I was hungry for a challenge, and it was time for something new. I sent out a few feeler emails and booked a week at a cottage for some much-needed/deserved time off.
It wasn’t long before Unity bit and started down the oh so familiar path of seeing if we could make something stick. I was excited, as it was looking like the stars would align, and I would be able to join one of my favorite teams at Unity (Spotlight). During that process, the Lead Engineer on Wasteland 3 over at inXile (recently acquired by Microsoft) informed the leadership team of his intention of leaving; it threw a massive wrench in their plans. I don’t know how exactly, but my name was put forth by numerous folks inside of inXile and by folks internally at Unity and others around the industry when asked for recommendations.
Something I have always stuck with over my career is never joining a team as a lead. In my opinion, coming in without existing relationships inside a group of developers presents a significant disadvantage in the trust and respect necessary to lead. I would much rather join a team in a senior capacity and prove myself. Earning the privilege to lead a group will promote a better dynamic later on during critical moments, in my opinion. The one caveat to this stance is newly forming teams.
With inXile entering the round-robin of negotiations, it became clear that they had a pressing need and were willing to move mountains to get me there. Also, I knew in my heart; I had to help the studio push through these tough times and get to the finish line. A big plus in their favor was that this was for Wasteland 3; I love its genre. I politely let Unity know about my course of action, with a renewed promise to keep in touch.
In February 2020, I had a chance to grab a drink with one of those wonderful folks from Unity. While it was more of a social call than anything, we touched base on the possible future of transitioning to his team at Unity. Unfortunately, I wasn’t confident in our current ship date for Wasteland 3, so making any plans would have to wait. We punted the idea down the road.
A surprise twist
Some context here; it is common practice in the games industry (and in many others) to have anti-poaching policies when working with similar companies in a formalized fashion. It’s just good business.
A few former OtherSide colleagues had joined Unity shortly after the production of System Shock 3 had shuddered. I had worked a fair bit with Cisco on lighting, and we developed a great respect for each other’s skills and work ethic, so it was only natural that he would put my name into the recruitment system for a position on his team. Whatever magic this triggered, it unlocked numerous recruiters contacting me from different areas around Unity – including the one where I landed. While it isn’t the Spotlight team this time, I couldn’t be happier about where I am and what this team is creating.