
Senior Software Engineer
- Canada
- Permanent
- Full-time
An employee in this role drives the design, implementation, and management of complex software solutions. They are pivotal in developing high-quality, scalable, and innovative applications while mentoring junior engineers and influencing our technical direction.
They are responsible for solving complex technical challenges, optimizing system performance, and ensuring the reliability of our applications. They lead the architectural design of new technology solutions, manage critical project segments, and ensure best practices are followed across the development lifecycle. They also conduct thorough code reviews, contribute to the strategic planning of project roadmaps, and collaborate with cross-functional teams to align technology solutions with business objectives.Responsibilities
Software Development
● Analyze metrics and suggest improvements.
● Approach code with an eye toward continuous improvement.
● Can identify gaps in measurement.
● Drive initiatives for continuous process improvements and adoption of best practices in software development.
● Ensure rigorous testing and validation processes are in place to maintain the reliability and integrity of the software.
● Identifies opportunities for innovation within projects or processes. This includes
proposing and developing new solutions that improve efficiency, functionality, or user experience.
● Innovates and creates new approaches to complex technical problems
● Investigate and diagnose the most difficult, ambiguous reported bugs including reproduction, adding tracing, etc.
● Manages complex systems or architectures that require advanced knowledge and experience.
● Must be able to implement any task
● Must be capable of building infrastructure and framework to support business development.
● Must debug the most difficult bugs.
● Must elicit/clarify requirements from outside engineering teams
● Must identify business impacts from a technical change
● Must investigate and diagnose ambiguous reported bugs including reproduction, adding tracing, etc.● Must plan for performance from the start.
● Must regularly deliver high quality PRs
● Plan schedule, release and implementation plan for “epic” sized projects.
● Troubleshoot bugs & customer issues while developing a solid understanding of our codebase.
Design & Architecture
● Lead design and implementation of either major front-end and/or back-end initiatives that meet critical business requirements.
● Lead the technical design & implementation of product features.
● Must author technical designs.
● Provide guidance on business cases for pursuing technical changes.Collaboration & Leadership
● Can lead others across the organization in mitigating impact of technical change
● Can provide guidance on business case for pursuing technical change
● Communicate effectively with stakeholders across the organization to gather requirements, explain technical details, and discuss project impacts.
● Contribute to the development of major initiatives in cooperation with other engineers.
● Enhances collaboration by actively mentoring less experienced engineers, sharing expertise, and encouraging a culture of mutual respect and teamwork within the project group.
● Facilitate knowledge sharing and foster a collaborative environment within the team.
● Lead best practices across the whole team through example, mentorship, and discussion.
● Leads technical projects or major components of larger systems, often interfacing with other technical teams.
● Mentors junior staff in problem-solving.
● Mentors other team members.
● Must be able to assist peers with difficult issues.
● Provide guidance to improve the junior and intermediate engineers' technical skills and professional development.
● Provide strategic input on the technology roadmap and contribute to long-term technical strategies.
● Work closely with product managers to ensure that the technical solutions align with user needs and our goals.Ownership & Accountability
● Independently prioritizes tasks and projects based on strategic objectives and technical needs.
● Operates independently, only seeking guidance for high-impact decisions or unusual technical challenges.
● Oversee multiple projects, ensuring they are completed on time and meet quality standards.
● Takes charge of significant projects, overseeing all phases from planning to deployment. They ensure that projects adhere to timelines, and quality standards, effectively managing resources and risks.
● Understand and identify the business impact from a technical change, and lead others across the organization in mitigating the impact of a technical change.Learning & Adaptability
● Actively seeks educational opportunities: read professional publications, maintain personal networks, and participate in professional organizations to stay up-to-date with the latest technologies and development practices.
● Is a leader in the adoption of new technologies and processes within the team. Actively researches emerging trends and tools in software development and assesses their applicability to current projects. Furthermore, they mentor other engineers, facilitating workshops or informal training sessions to ensure the team
not only understands but also effectively uses new technologies.