Update, 2/23/21: we are no longer accepting applications – thanks to the tons of people who have contacted us! We are in the process of going through resumes, code samples, and interviews now.
We’re looking to add a senior developer to the Laminar Research team in the coming weeks.
As an X-Plane developer, you would work on both our desktop and mobile simulators, and you’d have quite a bit of latitude to work on the projects you find most interesting. At various points, you might find yourself doing things like:
- UI development
- Low-level performance optimization
- Improvements to the X-Plane SDK used by third parties
- Rendering engine work
- Platform-specific OS integrations
(We don’t expect you to come into the role with deep knowledge of all those things. We like to hire “T-shaped developers,” people with deep knowledge in one or two areas, who can be flexible and pick up new stuff in other areas as the need arises.)
Why Work for Laminar Research?
As a member of our team, you would:
- Work on stuff that matters. Real pilots fly safer because of training in X-Plane, and real aerospace organizations (like Boeing, Cessna, and NASA, to name just a few) prototype aircraft in X-Plane before they build them in the real world.
- Work on a product that millions of people will see. You’ll get feedback from users, and that feedback will drive future development.
- Have tremendous input on the direction of the product. Because X-Plane is an exceedingly small team, every team member has a lot of say about what we work on and how we make the simulator better for our users.
- Set your own schedule. As far as we’re concerned, if you’re shipping features and fixing bugs, it’s your business when you do so.
- Work remote. No commute, no cubicles, nothing to impede you from doing great work. (But the rest of the team is just a Slack conversation away!)
- Work on a variety of technologies and products. At various points, you might work on X-Plane, Plane Maker, WED, the X-Plane installer, or the MMO server.
A qualified candidate will:
- Have experience shipping major features in production applications with minimal oversight.
- Be a quick learner—we expect much of what you need to know to be learned on the job.
- Have the self-discipline to work from home and set your own schedule. (It’s not for everyone.)
- Have excellent English communication skills.
It’s a bonus—but not strictly necessary!—if you have specific experience relevant to X-Plane. There’s no exhaustive list of skills we could use, but some possible examples include:
- Real-time graphics
- Real-time C++ development
- Mobile development
- Game development
- GIS data processing
- The X-Plane plugin system
Our Interview Process
Here’s a rough sketch of what the interview process will look like for the candidate we hire. (We might decline to proceed further with a candidate at any stage—don’t take that as a snub, as we may have simply found applicants with more relevant experience.)
- Intro email, maybe with some “screener” questions as follow-up
- Invitation to complete a “take-home” coding project.
- Our take-home project is designed to be done in 3-4 hours for candidates with lots of experience in C++ native app development, but it will take longer if you’re new to this sort of thing.
- The project is designed to be as similar as possible to the real work you’d be doing day-to-day. (It’s pulled from real features we’ve shipped in the past.) This helps us understand if you’d be a good fit for the role, but it can also help you decide if you’d like the work.
- We don’t want to waste your time, so we won’t ask you to do the take-home project unless we think there’s a good chance you’ll succeed.
- One or more remote interviews with the team—this will include at least Ben, our project manager on the desktop sim, and Chris, our project manager on mobile. We’ll talk to you about your experience, how you approached challenges in your past, and so on. There’s nothing to prepare here—you’ll just need to be yourself. 🙂
Things that are intentionally not included in our interview process:
- Flying you halfway across the world for an in-person interview
- Solving “puzzles” unrelated to real programming
- Answering silly “CS trivia” questions
- Writing code that bears no resemblance to something you would actually need on the job (e.g., “reverse a linked list”)
- Writing code under pressure, or with someone looking over your shoulder
In general, we don’t believe that subjecting candidates to a stressful interview process makes the process any better—we’ll do our best to make sure you’re comfortable.
Send an email introduction to hiring at X-Plane.com that includes:
- A brief overview of a project (or projects) you’ve enjoyed working on
- Discussion of projects you have not enjoyed working on
- Why you think you’d be a great fit for X-Plane
- Optional: a resume, links to GitHub/StackOverflow/your blog/etc.—anything you think will help us understand who you are as a developer
Please do not attempt to apply in the comments.
(Not sure if this is a good fit for you? Email me anyway and we can talk. 🙂 )
We’re looking to hire pretty quickly, so we’ll stop taking new applicants on the February 19th, 2021.