Convergent Research

Senior Software Engineer

7 October 2024
Apply Now
Deadline date:
£148000 - £276000 / year

Job Description

[C]Worthy is building a software system – called C-Star –  to support standardization of carbon removal accounting and environmental impact assessments related to deployments of marine carbon dioxide removal (mCDR) technologies.  The C-Star system includes a physics/biogeochemical ocean model, input and output data management capabilities, computations of standardized carbon-accounting metrics, workflow orchestration features, and functionality to enable auditability and reproducibility of computations.  C-Star will include functionality to enable the creation of unique digital links between model simulations used for carbon removal accounting and individual carbon credits.  The C-Star system is being developed as a set of open-source Python packages that orchestrate and interface with geophysical data products and externally developed, open-source, Fortran-based geophysical codes.  It is a key piece of enabling infrastructure for the responsible, scientifically credible growth of the mCDR industry.     
We are looking for a highly skilled Senior Software Engineer to contribute to the architectural design, development, integration, optimization, and testing of the C-Star system.  As a member of a relatively small and agile team, you will work as both an individual contributor – developing high-quality software, identifying and executing tasks in the software development life cycle, reviewing and debugging code, collaborating with the internal team, and ensuring software is up-to-date with the latest technologies – as well as providing technical guidance, mentorship, and light project management expertise to deliver software on release deadlines.  As the software engineering team grows, there may be opportunities to take on expanded responsibilities and people management.

Primary Responsibilities

  • Work with the existing C-Star development team to a) Define feature and release requirements; b) Architect new features and functionality; c) Produce high-quality code, review and debug code, document code, optimize code performance, and ensure that software conforms to best practices.
  •  Provide technical guidance and mentorship to the developer team, including guiding the team toward a practice of Agile development methodology.
  • Work closely with the leadership and the technical project manager to help team deliver software against ambitious release deadlines
  • Continuously evaluate and incorporate new technologies and methodologies to improve software and the development processes.
  • Develop and enforce robust schema for versioning of C-Star elements (interacting/modular sets of codes-bases, datasets, workflows, HPC architectures) to ensure simulation workflow reproducibility.) 
  • Take on complex software engineering tasks that may require deep and specialized skills. Some examples (these will evolve with the role and the individual) include a) Contributing to the development of strategies for efficient storage and retrieval of large volumes of data; b) Providing strategic and technical guidance on the adoption of novel computing architectures (GPU/CPU); c) Providing strategic and technical expertise on cloud-based workflow management and HPC computing architectures.
  • Report on progress and make high-level recommendations to the Executive Leadership Team.
  • Represent C-Star to external stakeholders.  

Qualifications

  • A bachelor’s, master’s, or Ph.D. in Computer Science, Earth System Science, Physics, Applied Math, or other relevant field.
  • 6+ years working as a software engineer within a team
  • 4+ years experience planning, coordinating, and executing software development projects with structured release schedules
  • 2+ years leading a software engineer team or acting in a similar position of responsibility and accountability.
  • 2 + years experience working within an Agile development paradigm  
  • Excellence in Python programming – with demonstrated experience developing commercial-grade software packages.
  • Comfort working in other programming languages commonly used in scientific computing, such as Julia, C/C++, and/or Fortran.
  • Experience and proficiency working with Git/Github version control systems
  • Understanding of DevOps practices and tools for continuous integration and continuous deployment (CI/CD).
  • Strong software architecture and design skills, including the ability to design and implement scalable, modular, and maintainable software systems.
  • Excellent communication skills to effectively collaborate with internal and external  stakeholders.
  • Demonstrated commitment to continuous learning and staying informed about advancements in software development, HPC architecture, data engineering/structures.

Bonus

  • Knowledge of cloud platforms (e.g., AWS, Azure, Google Cloud) and experience in deploying and managing applications in cloud environments. 
  • Experience in Enterprise Software development
  • Experience with parallel programming and optimization techniques for HPC environments.
  • Experience working in interdisciplinary teams and translating scientific requirements into software specifications.
  • Comfort working with advanced statistical methods, data assimilation, artificial intelligence, and/or machine learning.
  • Knowledge of geophysical modeling frameworks and tools, such as the Community Earth System Model (CESM), the Regional Ocean Modeling System (ROMS), or the Modular Ocean Model (MOM).

We welcome applicants from a diversity of backgrounds. We are particularly interested in individuals with strong motivation and interest in building technological solutions needed for climate change mitigation. We sustain a welcoming and inclusive culture and an intellectually stimulating work environment.