Hiring a Simulation Developer
This position has been filled. Thank you to everyone who applied.
If this still sounds like an ideal job for you, please reach out. We are always looking for more help from the right candidates.
Giant Army is looking for a simulation developer to help in our continued development on Universe Sandbox ², a space and gravity simulator with a 94% positive rating on Steam.
You will work with scientists and developers to improve and create geophysical and astrophysical simulation code. This code must smoothly integrate with the other systems in Universe Sandbox ², including running in real-time under computational restraints.
Above all you must be an experienced C# programmer (ideally with Unity experience). You do not need to be a subject-matter expert, but you must be a collaborative worker who is curious about science, and you must have a broad toolkit of numerical techniques.
We hope you join us in making something incredible that’s never been done before.
Your Role
- Build on, improve and optimize, and create new geophysical and astrophysical simulation codes which talk to all the other pieces of the simulation
- Work with scientists to define a problem and iteratively determine the best numerical solution that meets computational constraints
- Work with developers to integrate with other systems and the graphical display smoothly
- Quickly prototype and estimate computational costs
- Help change the way the world perceives our universe and fragile planet
Ideal Candidate
- Is a self-driven and talented programmer with experience applying/integrating numerical models in a compiled language using modern developer best-practices
- Writes clean code that is comprehensible to teammates
- Loves physics simulations and fantastical what-if scenarios: what-if.xkcd.com (note citation #6 on 148)
- Is excited about developing a tool that allows users to experiment with simulations, pushing the boundaries of what has been done in real time for public consumption
Mandatory Qualifications
- (Strong C# && Unity Engine experience) || (Experience with an entity component model && object-oriented programming)
- Experience with developing simulations
- Familiar with version control, some kind of task-management system, unit tests, code reviews, and so forth
- Familiar with a broad toolkit of numerical techniques
- Works collaboratively
- Curious about science
- Enjoys a challenging problem
Preferred Qualifications
- M.S. in relevant field (e.g. applied math, computer science)
- Ability to meet in person at least once a week in Seattle, WA, United States, but will consider outstanding candidates from anywhere in the world
Partial List of Simulation Improvements
- Improving the climate simulation (calculating temperature, pressure, greenhouse effect, user adjustable materials, dust from impacts affecting the temperature)
- Improving asteroid collisions (heating, impact size, velocities of fragments)
- Adding atmospheric drag (based on the properties of the body and the atmosphere, with correct heating of the body and material loss from the friction and heat)
- Improving our material system (metallic hydrogen in gas giants, simulating subsurface oceans on moons)
- Improving supernova and stellar evolution (and making that all work smoothly together)
- Improved transitions of bodies as their properties change (add hydrogen to a rocky body to make it become a gas giant, keep adding to turn it into a star)
- This position is (largely) not oriented toward improving the following:
- N-body
- Relativity
- Fluid dynamics
More Information
You don’t need to be a subject-matter expert in any area of geophysical sciences or astronomy, but you must be curious about science, and love the idea of working with scientists who would lay out a computational problem that you could help solve and implement. Everything must run in real time; computational efficiency is key. Sometimes the level of complexity that we can represent is a continual negotiation depending on the efficiencies that prove possible. Which is why this work is incredibly important for making Universe Sandbox more awesome.
There is an element of iteration with the scientists and developers. We may start from a wish-list or pseudocode that is too computationally expensive, and iterate from there, coming up with new ideas for which simple models of the physical process to suggest next. Your job in this iteration is to quickly prototype, if needed, and provide estimates for whether the current idea has yet achieved feasibility.
Besides the scientists who want to compute things in real time, the graphics programmer is concerned with displaying them smoothly, so you also need to iterate on the output and its interface with the graphical display. And because it’s a sandbox on a broad scale, everything must integrate well with existing systems. Models of specific processes do not exist in isolation of the influence of the rest of the simulation; everything must work together and be designed with this in mind.
This is very much a collaborative position, and so the ability to work well in a team is an important qualification. You must be good at working with other people’s code, and you need to be able to take direction from the creator of Universe Sandbox on design constraints, from the scientists on physical realism, and work with the systems architect to make it all operate smoothly with the core simulation and gravity integration that is already in place. You may work with the numerical physics programmer responsible for the gravity integration on problems like threading and other computational optimizations for the software at large.
Portfolio-wise, visualizations are appreciated. Visualizations of simulations that did not run in real time may impress us, but in this position everything must run in real time, so things that do will impress us more, perhaps in the form of runnable code (e.g. an executable).
Company Overview
Giant Army is the company behind Universe Sandbox, a space simulator that’s sold hundreds of thousands of copies on Steam. Our headquarters are in Seattle, Washington, USA, with team members in Arizona, Missouri, Germany, and Denmark.
Team members enjoy a flexible, collaborative environment. We pursue the features that get us excited about science. We do the work so that we can share that with others. We’re also committed to creating an accessible experience that can’t be found elsewhere.
Science is for everyone, and we welcome all qualified applicants.
Product Overview
Universe Sandbox ² is our core product that lets the user explore and learn about our amazing universe and fragile planet while creating and destroying on a scale they’ve never before imagined. It’s more than a game; it’s a way of experiencing and learning about reality in a way that’s never been done before. Early alpha access now available for Windows, Mac, and Linux.
How to Apply
This position has been filled. Thank you to everyone who applied.
If this still sounds like an ideal job for you, please reach out. We are always looking for more help from the right candidates.
Email us: jobs at universesandbox.com
In the email please include:
- Relevant email subject
- Link to or copy of your resume or CV
- Relevant code sample/s
- Link to examples of your work, including visualizations of numerical simulations
- Answers to these two questions:
- What is the most appealing part of this opportunity?
- What feature would you be most interested in adding or helping make better?
- Where you originally heard about this job posting
about 8 years ago
R.I.P dream job if I were only born 8 years earlier
about 8 years ago
damn if I only was 10 years older… kms
about 8 years ago
Would be interested if I didn’t have to travel out of state sadly
about 8 years ago
You don’t need to be in Seattle, Washington. As mentioned above, we will consider outstanding candidates from anywhere in the world.
about 8 years ago
“Join us… we’re making something incredible that’s never been done before.”
I thought you’re making an universe… That has been done before, right? We live in one…
about 8 years ago
We’re making a universe simulator (though some would still say we live in a simulation… 🙂 )
about 8 years ago
Damn, if only I was 5 years older, had my bachelor’s degree in physics and astrophysics (working on it), and had experience with real-time simulation XD This would be an incredible job…
about 8 years ago
More important to the job is being a skilled programmer…
about 8 years ago
I’m majoring in computer science with a minor in physics. I’ve studied both topics heavily since my freshman year of high school and already created my own two dimensional physics engine from scratch, and begun work on a three dimensional version. As well, I absolutely love universe sandbox and I am even really skilled in C#, Java, and C++, and I am very experienced with unity (which is what got me started on C#, but does not represent the extent of my C# skillbase). But, I don’t have my degrees yet, I don’t have time for a full time job. However, if you guys ever feel like you want some unpaid member of the team to share code with and ask for suggestions, please notify me!
I gave you my email but in case you can’t see that (which I doubt) give this to one of your programmers:
ze.wnerqznffn@tznvy.pbz
and tell them I want him/her to ROT when they’re 13. 😉