Senior Software Engineer
- $130k – $210k • 0.0% – 1.0%
- Remote •
- 8 years of exp
- Full Time
Not Available
About the job
About the Role
Manufacturing Intelligence (MI) Distributed Simulations Services are the cornerstone services that underpin MI’s game changing, real-time, cloud-native (serverless, autoscaling), B2B SaaS offerings: MI Spatial Intelligence and MI Tracking. These mission-critical services require engineering that achieves high throughput, low latency, and high availability at the scale of hundreds of terabytes per customer.
The software itself will enable our customers (starting with mining, but equally applicable to energy and manufacturing) to visualise and optimise the performance of their operations in real time. These optimisations will create significant value for the customers in terms of increased production volumes and lowering production costs whilst reducing environmental impacts per unit produced.
We are looking for a strong senior software engineer who will work directly with our CTO, who has also assumed the role of principal software engineer for these mission critical services. You will work on features such as simulation scheduling (which distributes simulations across the simulation cluster) and execution pipelines (which schedule and execute batches of simulations across many CPU cores on each machine) using SQL and NoSQL databases and high-performance messaging.
You will be working in a team in which innovation in the engineering of cloud-scale, highly concurrent/asynchronous solutions focused on performance and fault tolerance is held in the highest regard. Your ability to solve difficult problems will be one of your strongest capabilities.
Culture and Values
At MI you will enjoy a culture that is underpinned by:
• Expertise – We stay current with the latest technologies and maintain a status as leaders in our field
• Innovation – We apply ideas in new and unique ways, recognising that existing ideas, tools and technologies are not boundaries. We solve big problems.
• Teamwork – We work as a team, backing each other up and bolstering each other’s performance.
•
Our team live by our values:
• Excellence – Delivering the highest quality possible, striving to be in the best in our field.
• Integrity – Building and maintaining trust by demonstrating honest and ethical behaviour.
• Accountability – Taking ownership, following through and being responsible for outcomes.
*Qualifications and Experience *
• B.Sc in Computer Science of equivalent
• 8+ years + experience in C# and .NET (2+ years with .NET Core)
• Critical - Distributed Systems Engineering Experience relevant to the following scale - distribution of workloads across thousands of machines that must auto scale in response to highly dynamic work patterns.
• Critical - High Performance Computing Experience relevant to the following scale Algorithms that are dealing with many MBs per second per CPU core over a cluster of more than 20,000 CPU cores.
• Critical - Asynchronous programming
• Critical - Cloud-native engineering/development (e.g. Kubernetes, auto-scaling)
• Microservice architecture
• High performance messaging
• Relational databases, ideally PostgreSQL
• ORM, ideally NHibernate
• NoSQL databases