Senior Software Engineer, SpatialOS

London
Engineering – Engineering
Full-time Permanent
Improbable believes in a future where new, virtual worlds will augment human experience and become as meaningful, lasting and rich as the physical world. We call this the Multiversal Self.

Our platform, SpatialOS, lets developers transcend the limits of regular computation, allowing swarms of servers running in the cloud to cooperate in order to simulate worlds far larger and more complex than any single server could.

At Improbable, you are surrounded by people who want to improve everything and everyone around them, and who compel you to improve yourself. We’re motivated by the fulfilment of solving hard problems to achieve something profound and transformative.

Your Mission;

Engineering is at the heart of Improbable. We solve some of the hardest problems around in areas such as distributed systems, high-performance cloud computing, messaging and much more.

We are technology neutral and believe in well-tested, robust code. Much of our platform is built in GoLang/Java with areas of C++, TypeScript and C#. We use Open Source technologies (such as CoreOS, etcd, Fleet, Docker, Prometheus, gRPC) and give back to the community through open source contributions when we can.

We’re hiring Senior Software Engineers across multiple teams. There is always a diverse range of challenging and interesting projects to work on. Similarly, we welcome diverse engineering backgrounds and are able to offer highly interesting challenges across all our teams, we never hire to fill a gap.

You can read more about the technical challenges we’re solving here.

Responsibilities:

    • Designing and implementing new algorithms to distribute and scale our simulations
    • Integrating new workers with our distributed stack
    • Core infrastructure that underpins seamless scaling (networking, packing, storage, containers, logging, security across all compute providers)
    • Creation of world-class, robust APIs and SDKs for external customers
    • Developing tooling to understand, visualise and reason about large real-time simulations

Competencies:

    • A strong software engineering pedigree, comfortable choosing the most appropriate language/technologies for the project at hand.
    • You have previously operated in a senior capacity and mentored or coached more junior engineers from a technical perspective.
    • Software Engineering is more than just a job to you. Perhaps you contribute to Open Source projects, blog or speak at events occasionally, or just spend a great deal of your time thinking about interesting problems.
    • You're disappointed when you're not learning something new or stretching yourself.
    • You can offer your opinion and respectfully reason with people, but equally commit to the direction decided by the majority after being heard.
    • You value working in different problem areas and are prepared to work in whichever team is necessary to add the most value to the business.
    • You embrace that in a fast-growing start-up, priorities can change quickly.
    • You're accountable and get satisfaction from shipping stuff on time / delivering quantifiable results.
    • You go out of your way to help others achieve and improve as a team.
    • You're modest when the results speak for themselves, and humble enough to take responsibility when they don't.

Experience of the following would be advantageous:

    • Building large-scale distributed systems
    • Working on cloud-based scalable architectures
    • Building high-traffic, robust APIs, SDK or web architectures
    • Working with Game Engines (i.e. Unity, Unreal, CryEngine etc…)



Equal Opportunity
The best ideas are often the least expected and require new ways of thinking; that’s why our teams at Improbable are made up of an incredible range of talented people. Improbable is proud to be an equal opportunity employer. We do not discriminate based on race, ethnicity, colour, ancestry, national origin, religion, sex, sexual orientation, gender identity, age, disability, veteran status, genetic information, marital status or any other legally protected status.