
Senior Software Development Eng
- Calgary, AB
- Permanent
- Full-time
- Lead collaborative teams across libraries to design, implement, validate, and deliver key software library capabilities, ensuring successful integration with GPU kernels into broader systems. Validates and provides significant technical input to the software roadmap.
- Initiates, influences, and drives architecture, design, and documentation efforts as they arise across teams. Works closely with principal engineering staff to plan and execute technical governance activities across integrated libraries and engineering teams.
- Draft technical designs and approaches that holistically consider constraints, performance, and roadmap commitments. Self-manage and lead others in technical execution and work to uplift the delivery commitments of colleagues.
- Review project scope and seek opportunities to broaden and align work in collaboration with library owners and engineering principal colleagues. Documents what is known.
- Coach and mentor engineering staff according to internal best practices and as part of the regular software development lifecycle in an agile environment. Participates in key engineering talent reviews with technical managers.
- Extensive and broad hands-on experience with C++, with relevant applied experience using CUDA, HIP, OpenMP, MPI, or OpenCL for accelerated computing on CPUs and GPUs. Familiarity with other programming languages e.g. Python, Rust, Go, Javascript.
- Knowledge or applied experience with popular AI/ML Frameworks like PyTorch and TensorFlow.
- Applied experience with performance engineering and continuous integration for technical and high-performance computing applications. Experienced with improving build robustness, regression management techniques, and using software deployment and orchestration management systems (Jenkins/Docker/Kubernetes/numerical methods and analysis).
- Experience with open-source software development including collaboration with community maintainers and submitting contributions, and leading or implementing various methodologies such as Agile, Scrum, and Kanban or others.
- Experience implementing professional software engineering best practices, requirements elicitation and analysis methods, scoping/estimation, coding standards, code reviews, version control, build processes, testing, and continuous integration.
- Bachelor’s or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent