Software Developer (Backend) - Contract - Hybrid
Hybrid · Oakville, Ontario, Canada
Job Summary
Design, implement, and maintain high-performance meteorological software systems using C/C++, Go, Python, and Rust, including backend services, distributed systems, REST and gRPC APIs, and large-scale data processing pipelines. Deploy and operate these solutions in Linux-based, cloud-native environments leveraging Docker, Kubernetes, Istio, Redis, ECS, EC2 instances and other services across AWS and Google Cloud. Implement software solutions pertaining to our Meteorological systems. Work within an Agile software development process. Use AI-assisted development tools and workflows to improve productivity, accelerate delivery, enhance code quality, support troubleshooting, and streamline operational tasks while maintaining quality and accountability. Work with Technology teams to produce effort estimates on the various work required; execute work based on sprint priorities. Work with cross-functional teams to ensure all systems function as intended and without impediment to existing products or processes. This includes the development and/or integration of monitoring systems. Work with Technology Operations team to ensure end-to-end data monitoring in software design, from data acquisition to delivery. Use knowledge of databases and database technology to create applications which are distributed, multi-tier, and able to service large volumes of data. Perform unit testing, integration testing, and other automated testing; work closely with QA team to address defects as they arise to ensure production of high quality software. Architect designs for reuse, scalability, flexibility and customizability. Work with Technology teams to continuously analyze in-house software systems, identify weaknesses and propose changes for improvement. Provide support to our operational teams for the relevant production systems. Roles, responsibilities and duties may evolve and change over time.
Required Qualifications
- Degree or diploma in Computer Science, Mathematics, Engineering, or equivalent practical experience
- Minimum 5 years of experience in enterprise software development
- Strong experience developing and supporting production microservices using Go as primary language, with experience in C/C++, Rust and Python considered an asset
- Strong experience developing applications with CMake and compilers such as gcc/g++, Go, and Rust, as well as the Python interpreter, along with operating distributed systems in Linux environments using Docker containers and Helm charts
- Experience developing software that processes and manages large volumes of data
- Strong understanding of data structures, algorithms, and their practical application to solving complex problems
- Experience implementing caching strategies and technologies to support high-throughput and low-latency systems
- Knowledge of software security best practices and secure development principles
- Experience with containerization technologies, including Docker
- Experience developing HTTP and gRPC-based applications and services
- Experience with Redis and distributed caching platforms such as AWS ElastiCache
- Experience implementing and maintaining CI/CD pipelines using tools such as Jenkins
- Experience building and consuming REST-based APIs and web services
- Strong understanding of multi-tier, distributed, and microservices-based architectures
- Experience building highly available, scalable, and fault-tolerant systems that support large-scale workloads and data processing
- Experience building microservices and managing Kubernetes deployments, including service mesh technologies such as Istio
- Experience working with cloud platforms such as AWS and Google Cloud
- Strong problem-solving and communication skills with the ability to gather requirements, whiteboard solutions, articulate technical trade-offs, and collaborate effectively with the broader team
- Keen interest in data and data mining
- Experience with spatiotemporal data sets and scientific data formats including netCDF, HDF, GRIB and BUFR would be a plus
- Education or experience in applying ML/AI to augment data analysis
Apply with one swipe on Sorce. We auto-fill applications and apply on your behalf — no cover letters, no 40-minute forms.
Hiring someone like this?
Get your role in front of qualified candidates on Sorce.