Want a Normal job?

Remotely interested in working with us? Come work with us remotely! The community is small, so we’ve put together a remote team. In fact, we use our own apps and tools to work together in VR every day! If you like what you see here and are interested in rocks, ideas, virtual reality, hand controllers, and nonstop jokes — get in touch about one of the roles below.

At Normal, we believe in making tools for everyone and, as such, value a diverse team to make that happen. We don’t discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.

2D People

WebRTC Media Server Developer

All of Normcore’s realtime servers now support webrtc! We’re expanding our support for audio, video, and the web, and are looking for engineers to help out!

We’re looking for someone who has worked directly with Google’s libwebrtc native library, SFU servers like Mediasoup, Medooze, and Jitsi, or any other native webrtc implementation.

You’ll need to have experience with Typescript or C++ and the inner workings of webrtc signaling.

Native Plugin Developer

The core of Normcore (heyooo) is entirely written from scratch in C++. Our voice chat, datastore syncing, and persistent spaces are written in C++ to ensure they’re as fast and efficient as can be.

We’re looking for a developer to contribute to our native plugin. This person will implement new features and ensure that everything works on Windows, Mac, Linux, iOS, and Android.

Native tools (especially C++) can be very unforgiving, so this person must know how to write clean, portable, and stable code. Experience with cmake, gnu make, and other build systems is a huge plus.

Network Developer

Everything we build at Normal is designed to connect people. People rock! In this role, you’ll literally be connecting people, meaning you’ll help make these experiences rock, too. Our networking stack includes a custom UDP transport layer, reliable ordered data channels, flow control, and encryption.

We’re looking for a developer to add networking features to our native plugin and backend services. We’ve spent a lot of time writing high quality network transport, serialization, audio streaming, and we have a few new features on our roadmap we’d like help with.

This person must have experience with C++ and native sockets. Bonus points if you’ve worked with custom serialization, or other networking libraries like the native chromium webrtc library ;P

Backend Developer

We’ve got a big backend and we’re proud of it! We have backend services that run our websites, Normal accounts, dashboards for normcore.io, and of course our multiplayer backend for Normcore.

We’re looking for someone to help wire up our frontend and backend services together. All of our web services are written with Typescript + Node.

You’ll need to have experience with HTML, CSS, Javascript, and Node + Typescript. Kubernetes experience is a huge plus, but not required.

Cloud + Devops Developer

All of Normcore’s services run entirely on Kubernetes. Our infrastructure spans Google Cloud, Amazon Web Services, and Digital Ocean. It’s all managed through custom Node + Typescript services. If that’s your bread and butter, let’s make a PB&J! Or toast. Or some other kind of sandwich. You’ll develop the infrastructure that supports our network of multiplayer apps and help us make sure it stays running around the clock.

We’re looking for someone who has successfully built and scaled a backend on Kubernetes + Docker. We have a few big backend features planned for Normcore 3.0 and we’re looking for help implementing these features in addition to maintaining our existing infrastructure.

You’ll need to have experience with Kubernetes + Docker, and Node + Typescript. Experience with C++ is a bonus, but not required.

3D People

Unity ECS + DOTS Developer

For large-scale applications and games, performance is key. Unity’s new DOTS + ECS architecture looks very promising, and we’ve already started working on official multiplayer support for it in Normcore.

We’re looking for a developer who has experience with Entities and the experimental Unity Physics package to help out. This new architecture is a complete departure from the way Unity applications are structured today and with it comes a lot of exciting challenges.

This person must have experience with Unity, the Burst Compiler, Unmanaged C#, Entities, and Unity Physics. Netcode experience is encouraged, but not required.

People People

We’ve filled all of our producer and copywriter roles. We’ll make sure to update this page when we’re looking again! That said, if you think it’s an ideal match, shoot us an email!

Reach out!

Whether you think you’re a good fit or not, we want to hear from you. Got impostor syndrome? Don’t think you’re the best person for the job? Nonsense! We want this to be a place for you to learn. Shoot us a message anyway. It won’t take more than a minute :)

[email protected]