← Back to context

Comment by tyleo

3 years ago

I work for Rec Room. While we make a game, millions of kids are using it and "accidentally" learning engineering skills while they think they are making games :)

We have a principal role open on the team right now but may be able to accommodate others. We essentially make a programming language and the gameplay elements on top. The principal role is on the language side but we could potentially make more roles on the gameplay side. Email me (tyler@recroom.com) if you are interested. I've attached a description of the role below.

---- ROLE DESCRIPTION ----

Principal Software Engineer - Programming Language Architecture

Rec Room is a fun and welcoming community where people from all walks of life come together to play, chat, hang out, learn, build, and explore millions of experiences. Circuits is our-in game programming language that brings these experiences to life: it is a game for building games. Children and adults alike use Circuits as a fun and educational programming tool or a pleasant and productive way to unwind after work hours. By using Circuits, many creators learn programming for the first time and gain lifelong skills used for hobbies, college decisions, or even work opportunities.

As a principal software engineer focusing on programming language architecture, you will own key-components of Circuits and work with a team of world-class engineers to build gameplay, compilers, and interpreters. To move the needle on what's possible: you must work with designers to balance modern language capabilities with a focus on usability for all creators, novice or advanced. Join Rec Room and help improve the lives of millions in our community by picking up programming for the first time or building and sharing with friends.

We are looking for:

Proficient in multiple programming languages: Our client code is written in C#, but an understanding of type-safe, functional, and scripting languages is necessary to drive technical discussions. C, C++, Rust, JavaScript, TypeScript, and Lisp are great examples.

Experienced with full-stack programming language development*: Circuits is a key differentiator for Rec Room. It includes a VM, type system, compiler, runtime environment, debugger, and IDE that work across PC, phones, VR and all major consoles. An understanding of language development is necessary to ensure that Circuits retains usability and high-performance while working across existing and future platforms.

Experienced with video game development: 5+ years experience building games on any platform with complex behavior and live updates. Circuits is built, compiled and executed within the game. So an understanding of the performance requirements, design considerations, and execution model of games ensures that Circuits is a cohesive part of the overall game-play experience.

Comfortable working in a fast-paced, autonomous, and ambiguous environment: At Rec Room we bias towards action.

Rather than meticulous planning with an avalanche of meetings we build things when in doubt. As a top engineer you will execute with a high degree of trust and autonomy to cut through our most challenging technical puzzles.

Lifelong learners: Our top engineers across the company keep up with cutting edge articles, papers, and books. As a member of this group you will be expected to learn, improve and help others improve.

*You don't have to match all of the skills above to apply!*

Bonus points:

Experienced with writing unit tests: Circuits is the most heavily tested component of the Rec Room codebase. All major language features are covered with tests such that developers have immediate feedback when they introduce an error.

Experienced with multiplayer networking: Rec Room is an online-only game with a peer-to-peer networking model. Significant architectural thought is allocated to keeping networking simple across the organization. Circuits itself must keep its data structures consistent across all clients in an experience while it is being actively edited to ensure creators run the same thing.

Familiar with data-oriented design: Foundational components of the Rec Room codebase use a data-oriented design. This provides performance benefits out of the gate with future benefits anticipated by taking advantage of Unity's Data-Oriented Technology Stack.

Familiar with type system implementations: Type systems make it easier to write error-free code but have an intrusive nature. An understanding of type systems is necessary to balance correctness with the impact on developer experience. A contributor to an open source language: Whether you have a toy language for personal use or you own the Rust language server, we love to see real world experience.

Company info to know:

Rec Room offers generous medical, dental, and vision plans that cover you, your spouse/domestic partner, and children. We also support your retirement benefits with a company match. Rec room values work-life balance and provides unlimited paid time off. We work hard to ensure Rec Room is a fun and friendly place for people from all walks of life.

Rec Room provides equal employment opportunities to all employees and applicants for employment and prohibits discrimination and harassment of any type without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state or local laws.