Job Closed
This listing is no longer active.
Staff Software Engineer
Location
Canada
Posted
111 days ago
Salary
$175K - $190K / year
Seniority
Lead
Job Description
Staff Software Engineer
Kamoto Copper Company S.A.
• Drive the design and implementation of highly scalable and available distributed SaaS solutions. • Participate in critical component design and advise on strategic technical direction. • Work closely with architects, team leaders and engineers to implement solutions. • Mentor and train fellow software engineers on software development best practices. • Research and recommend new technologies to ensure application scalability, maintainability and quality. • Ensure technical documentation for solution designs is created and maintained. • Drive quality through the creation of end-to-end tests. • Collaborate with peers and stakeholders for technology advancement and product delivery. • Participate in Product discussions to advise on and influence the roadmap.
Job Requirements
- 8+ years of experience in backend engineering, with 2+ years in a Staff or Senior Staff role. Ideally, you’ll have some experience focused on both front-end and back-end technologies simultaneously.
- Expertise in Ruby on Rails with ability to ramp quickly.
- Deep knowledge of distributed systems, database design, and API architecture.
- Experience with queuing systems (Resque or similar), caching, and search indexing tools.
- Deep understanding of CI/CD pipelines and tooling, with experience optimizing build, test, and deployment workflows in modern engineering environments.
- Comfortable working in Kubernetes-based environments and with cloud infrastructure (e.g. AWS).
- Excellent communication, cross-functional collaboration and technical leadership skills.
- Experience working with, evolving, and improving large codebases.
- Experience growing code, systems, and capacity for performance and scale.
- A track record of championing observability, including monitoring, alerting, and debugging workflows across complex systems.
- Familiarity with incident management and postmortem culture.
- Ability to work seamlessly with remote Engineering and Product teams throughout North America.
- An approach where you always leave the campground cleaner than you found it.
Related Guides
Related Job Pages
More Full-stack Engineer Jobs
Product Engineer – Mobile
AllstateAt Allstate, great things happen when our people work together to protect families and their belongings from life’s uncertainties. And for more than 90 years, our innovative drive has kept us a step ahead of our customers’ evolving needs.
• Implement applications following 12-factor principles to build out the product and iterative enhancements. • Own the full stack of software products; developing and implementing frontends (web or mobile), and backend services. • Leverage test driven development and continuous integration to ensure agility and quality of products. • Actively participate in the decision-making process of the team ensuring that the simplest appropriate technology and design is chosen to meet user needs.
• Apply deep React experience to the fronted design, patterns, and best practices, while contributing across the full stack. • Lead complex architectural problem-solving across the frontend and backend, balancing short-term delivery with long-term maintainability. • Help stabilize and evolve the system architecture by identifying technical debt, proposing improvements, and guiding implementation. • Influence and uplift engineering standards through code reviews, design discussions, and hands-on leadership. • Design, develop, and maintain full stack applications using our core go-forward stack: React, TypeScript Java, Spring Boot PostgreSQL. • Build end-to-end solutions, delivering high-quality user experiences alongside robust backend services. • Work effectively within both modernized systems and legacy components as the platform continues to evolve. • Develop new features, enhance existing functionality, resolve defects, and contribute to overall technical health. • Build and maintain scalable, secure, and reliable services on AWS using containerized and distributed architectures. • Participate fully in the software development lifecycle, including requirements, design, implementation, testing, deployment, and support. • Contribute to Agile planning, estimation, and continuous improvement initiatives. • Mentor and support other engineers, particularly in frontend and full-stack development. • Collaborate closely with product, design, and engineering peers to deliver customer value efficiently. • Serve as a technical partner to team leadership, helping ensure architectural direction is executed effectively.
• Leverage generative AI tools to analyze and understand complex legacy mainframe codebases (COBOL, PL/I, etc.). • Identify patterns, dependencies, and potential areas for optimization. • Utilize AI to assist in refactoring, translating, or re-architecting mainframe applications into modern languages and architectures (Java, Python, microservices, etc.). • Implement AI-driven code generation to accelerate modernization efforts while ensuring code quality and maintainability. • Design and implement strategies for migrating data from legacy mainframe systems to modern databases or cloud platforms. • Leverage AI to automate data transformation and ensure data integrity. • Develop and execute comprehensive testing plans to ensure modernized applications meet functional and performance requirements. • Utilize AI for automated test case generation and test execution. • Work closely with mainframe experts, architects, and other developers to understand modernization goals and constraints. • Stay abreast of the latest advancements in generative AI and apply them to improve modernization processes.
• Design, build, and maintain core backend services and APIs • Develop scalable, secure, and well-architected systems • Work with distributed systems and event-driven architectures • Ensure high performance, reliability, and fault tolerance • Write clean, maintainable, and well-tested code • Own systems end-to-end from design to production • Improve observability, monitoring, and operational maturity • Contribute to architectural decisions and technical direction • Work closely with AI, security, and product teams • Translate product and security requirements into robust technical solutions • Mentor engineers and raise the overall engineering bar • Help shape engineering standards and best practices



