Role Summary
We are seeking a Senior Scientific Software Developer to design and develop tools for acquiring and processing seismic data. This role involves working with both new and established technologies in an Agile development environment. You will contribute to the design, implementation, and deployment of high-availability processing systems, collaborating closely with geophysicists and other stakeholders.
Key Responsibilities
- Maintain and enhance a large geophysical processing and visualization codebase (primarily C++, Java, with some C# and Python).
- Collaborate with stakeholders to design and improve software features.
- Provide technical support to geophysicists.
- Integrate cloud services and libraries into software solutions.
- Develop solutions for data visualization and management challenges.
- Work with domain experts to iteratively build and deploy new functionality.
- Implement continuous deployment and automated testing frameworks.
- Support users in building and deploying workflows.
Qualifications & Experience
- Minimum 5 years of professional software development experience.
- At least 3 years of experience in scientific modeling or numerical analysis.
- Preferred: Domain knowledge in geophysics.
- Minimum 2 years as a primary or sole developer on a product line.
- Bachelor’s degree in Engineering, Computer Science, Physics, Applied Math, or a related field.
- Strong mathematical background and experience developing scientific/quantitative code.
- Proficiency with modern development tools (e.g., Visual Studio, Eclipse) and source control systems.
- Experience with binary file format design and data parsing.
- Familiarity with database systems is an asset.
- Experience with large-scale object-oriented systems (100,000+ LOC).
- Required: C++ standard libraries.
- Preferred: Microsoft MFC.
- Experience with Windows and Linux environments.
- Preferred: AWS, Linux scripting (bash).
- Strong problem-solving and communication skills.
- Ability to work effectively both independently and in a team.
- Must be legally eligible to work in Canada.