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 Implement high-quality software solutions using modern development practices such asTest-Driven Development (TDD)andDomain-Driven Design (DDD). Facilitate Agile ceremonies. Work closely with the Product Owner to ensure the team delivers on the commitments made at the start of each sprint. Anticipate delivery risks by monitoring team progress and proactively identifying when sprint goals may not be met; communicate issues early and collaborate on mitigation strategies. Guide software engineers through code reviews, pair programming, and technical coaching. Collaborate with subject matter experts, software engineers, testers, technical writers and product owners to deliver user-centric, domain-relevant software. Drive continuous improvement in development practices, tooling, and team workflows. Maintain and enhance legacy systems, ensuring integration with modern platforms and data models. Begin taking on responsibilities related to team development, performance feedback, and onboardingpreparing for future people management. 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 master''s 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. Location Calgary, Alberta (Hybrid) Department R&D Employment Type Full-Time Minimum Experience Experienced
Job Title
Senior Software Engineer