Software Developer, Backend – Contract

Posted 6 days ago

Apply Now

Resume Score

Check how well your resume matches this job before you apply.

Sign in to check score

About the role

  • Software Developer responsible for designing and developing meteorological software systems with high availability and scalability for weather data solutions.

Responsibilities

  • 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.
  • 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.

Requirements

  • 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.

Benefits

  • Flexible Work Environment 💻
  • Summer Hours 🌞
  • Start your weekend earlier during the summer months!
  • Paid Vacation Days Off (in addition to Personal Days) 🌅
  • An IDEAS (Inclusion, Diversity, Equity, Awareness, Solidarity) team ⚖️
  • Weather is inclusive, we will be too. Our IDEAS team is committed to making this happen!
  • Open and transparent communication, including All Hands Meetings with our CEO
  • Frequent employee pulse surveys 📝 we value your feedback so we can continue to make Pelmorex a great place to work!
  • We have an anonymous reporting platform to ensure everyone’s voice is heard

Job type

Contract

Experience level

Mid levelSenior

Salary

Not specified

Degree requirement

Bachelor's Degree

Tech skills

AWSCloudDistributed SystemsDockerEC2GRPCJenkinsKubernetesLinuxMicroservicesPythonRedisRustGo

Location requirements

HybridOakvilleCanada

Report this job

Found something wrong with the page? Please let us know by submitting a report below.