Full Stack Developer

Resourcemodelingsolutions — Canada · Posted ~2 days ago

Mid Full-time Remote

Skills

TypeScript Python Node.js Express GraphQL PostgreSQL RabbitMQ Docker Git REST APIs Hasura Jupyter Azure AWS Kubernetes Terraform React

🔓 Log in to save this job, tailor your resume & track your apply process — 7 days free, no card needed.

Log in to add to target list

Summary

Help build a modern backend platform combining web services, distributed computation, APIs, databases, and cloud-native infrastructure. Collaborate with engineers to deliver scalable, reliable software for data-intensive applications.

Highlights

Remote-first role with flexible hours, opportunities to work on scalable backend systems, scientific computing, distributed workloads, and modern cloud-native technologies.

Description

Resource Modeling Solutions is seeking a creative and driven Full Stack Developer to join our distributed team. This role is perfect for someone who thrives in the layer where everything connects: APIs, databases, messaging queues, and compute. You should be comfortable moving between TypeScript and Python in the same day. You will take a lead role in developing the platform services of AMP, our visualization and analytics platform, and in the integration layer that connects AMP to RMSP, our high-performance Python geostatistics engine. Your primary focus will be backend development across our TypeScript services (Node.js, Express, GraphQL) and the Python systems that execute RMSP workflows: the task runners, message-queue consumers, and notebook infrastructure that turn user actions in AMP into distributed geostatistical computation. You'll design APIs, evolve our database schema and permission model, and build the plumbing that makes long-running scientific compute feel seamless in a web application. This position involves a mix of collaborative and independent work, requiring strong communication and self-motivation to thrive in a flexible, remote-friendly environment. Details Job type: Full-time with flexible hours (we aim for core overlap hours for collaboration) Location: Remote first, with potential for hybrid work in Calgary or Toronto Responsibilities Design, build, and maintain backend APIs and services in TypeScript (Node.js/Express) and our GraphQL layer (Hasura), including schema design, migrations, and role-based permissions in PostgreSQL.Develop and maintain the Python services that integrate RMSP into AMP, including task runners, queue consumers, and job orchestration for distributed geostatistical workflows.Build and evolve our messaging architecture (RabbitMQ/AMQP) for dispatching, monitoring, and scaling long-running compute tasks.Extend our Jupyter-based notebook infrastructure that lets users script RMSP directly within AMP.Collaborate with frontend developers to design APIs and real-time interfaces (WebSockets) that serve data-heavy scientific UIs.Improve the quality and maintainability of our solutions by writing clean code, comprehensive tests, and clear documentation. Required Experience Proven history building backend services in TypeScript/Node.js and in PythonProficient in “scientific Python”; numpy, pandas, sklearn, and visualization tools like matplotlib, pyvista, vtk, etc. Experience designing and consuming APIs (REST and/or GraphQL)Experience with relational databases (PostgreSQL preferred), including schema design, migrations, and query performanceExperience with message queues or asynchronous job processing (RabbitMQ, AMQP, or similar)Experience with Docker and containerized developmentProficient with version control (git) and continuous integration practicesSuccess working on a team and in a self-directed environmentExcellent problem-solving skills and strong verbal and written communication skills Bonus Experience Bachelor's degree in Computer Science or a related discipline, or equivalent experienceExperience with Hasura or other GraphQL engines, and code generation for typed API clientsExperience with scientific Python (NumPy, pandas) or integrating native/C++ libraries via PythonExperience with Jupyter, JupyterHub, or building notebook-based workflowsExperience with real-time systems (Socket.IO/WebSockets)Experience with Microsoft Azure and/or AWS, Kubernetes, or TerraformFamiliarity with geostatistics, high-performance computing, or machine learning conceptsExperience with React, should you want to occasionally cross into the frontend Our Tech Stack We use the best tools for the job. Our core stack includes: Bachelor's degree in Computer Science or a related discipline, or equivalent experienceExperience with Hasura or other GraphQL engines, and code generation for typed API clientsExperience integrating native/C++ libraries via PythonExperience with Jupyter, JupyterHub, or building notebook-based workflowsExperience with real-time systems (Socket.IO/WebSockets)Experience with Microsoft Azure and/or AWS, Kubernetes, or TerraformFamiliarity with geostatistics, high-performance computing, or machine learning conceptsExperience with React, should you want to occasionally cross into the frontend About Us Resource Modeling Solutions is a division of GeologicAI Inc, providing expert knowledge, software, and services to the mining and petroleum industries. Our team is spread across Canada with a few international team members providing remote support and development. We publish the Resource Modeling Solutions Platform (RMSP), a high-performance engine for modern geostatistics in use by many of the world’s leading resource companies, the Drill Hole Optimizer (DHO) which leverages a custom genetic algorithm to optimize drill hole plans for reducing geologic uncertainty at mines., and more exciting projects are always under development.