Job Description
Job Description
Salary : Role description
The Senior Software Engineer is a key technical leader and emerging people manager, responsible for driving the design, development, and delivery of high-quality software solutions across geoscience domains. This role blends deep technical expertise with leadership responsibilities, including being able to act as a Scrum Master, mentoring team members, and preparing for future people management roles.
The Senior Software Engineer contributes hands-on to front-end and / or back-end systems, with a strong focus on user experience, performance, and scalability. They help align strategic priorities with day-to-day development and teamwork and take ownership of part(s) of the delivery. They play a pivotal role in translating business and scientific goals into practical, maintainable software solutions.
Working within a cross-functional team, including subject matter experts, software engineers, testers, technical writers and product owners, the Senior Software Engineer helps deliver innovative, domain-integrated software. They lead by example in coding standards, foster a culture of collaboration and continuous improvement, and actively support the growth of junior software engineers.
Duties and Responsibilities
Skills & Competencies
Technical Skills
Profound proficiency in one or more of the tech stacks : C#, C++, JavaScript, Python.
Strong understanding of software engineering practices including Test-Driven Development (TDD) and software design.
Experience with Scrum and agile tooling.
Fluency with the GIT version control system.
Familiarity with CI / CD pipelines, and DevOps practices.
Soft Skills
Strong leadership and facilitation skills.
Excellent communication and interpersonal abilities.
Ability and desire to mentor, inspire, and elevate team performance.
Strategic thinking with a focus on long-term maintainability and scalability.
Empathy, openness to feedback, and a growth mindset.
Willingness to take initiative and contribute to team culture and cohesion.
Ability to communicate clearly with both technical and non-technical audiences.
Desire to mentor and lead within a team.
Qualifications & Requirements
Required :
Bachelor (BSc) or masters degree (MSc) in Computer Science, Software Engineering, Geophysics, Physics, Mathematics, or in a scientific field with strong affinity with software development.
Minimum of 6 years of professional experience in software development.
Proven proficiency in one or more of the following : C#, C++, JavaScript, Python.
Demonstrated experience with Test-Driven Development (TDD) and software design.
Familiarity with CI / CD pipelines, DevOps practices, and Git version control.
Experience working in Agile / Scrum teams using tools like Jira or similar.
Experience with cross-platform (Windows and Linux) development.
Proficiency in written and spoken English.
Desired :
Certified Scrum Master (CSM) or equivalent Agile certification.
Experience with cloud platforms (e.g., AWS, Azure, GCP).
Hands-on experience with virtual machines and Docker for containerized environments.
Exposure to geoscience domains such as rock physics, petrophysics, or geology.
Experience in a multinational or cross-functional team environment.
Proficient in using AI-assisted code generation tools to accelerate development and improve code quality.
Travel
Occasional travel may be required for team meetings, conferences, or client engagements.
Senior Software Engineer • Calgary, AB, Canada