- Location
- Canada
- Workplace
- Remote
- Type
- Contract
- Department
- Data & AI & Cloud
- Source
- Lever
Description
Senior Engineer (Senior Full Stack Engineer)
Contract
Location: Mexico, Canada
Role Overview
We are looking for a Senior Full Stack Engineer with strong hands-on expertise in React, Node.js, and SQL who can take end-to-end technical ownership of an application.
The ideal candidate should be capable of looking beyond individual modules or development tasks and understanding the application as a whole—including frontend, backend, APIs, database, integrations, deployment, performance, and production support. The role requires a combination of hands-on development, technical ownership, problem-solving, and team guidance.
Experience
- 6+ years of software development experience, preferably in full-stack application development.
- Strong hands-on experience with React, Node.js, JavaScript/TypeScript, and SQL.
- Experience owning or playing a key technical role in medium-to-large applications.
- Experience across the complete SDLC: requirements, design, development, testing, deployment, and production support.
- Experience troubleshooting complex issues across frontend, backend, database, and integration layers.
- Experience conducting code reviews and mentoring/guiding other engineers.
Must-Have Skills
- React: Components, Hooks, state management, routing, reusable UI design, API integration, and frontend performance.
- Node.js: Backend/service development, REST APIs, asynchronous programming, authentication/authorization, error handling, and logging.
- SQL: Strong query-writing skills, relational database design, indexing, query optimization, and performance troubleshooting.
- Strong proficiency in JavaScript and/or TypeScript.
- Strong understanding of REST APIs, system integrations, and application architecture.
- Knowledge of software design principles, coding standards, and design patterns.
- Strong debugging, analytical, and problem-solving skills.
- Ability to understand an application end to end and assess the impact of changes across the system.
- Strong communication and collaboration skills.
Good-to-Have Skills
- Experience with AWS, Azure, or GCP.
- Knowledge of CI/CD pipelines and automated deployment practices.
- Experience with unit, integration, and automated testing.
- Exposure to microservices and distributed architectures.
- Knowledge of application security and secure coding practices.
- Experience with monitoring, logging, and observability tools.
- Experience modernizing legacy applications and reducing technical debt.
- Familiarity with Agile/Scrum development methodologies.
Responsibilities
- Take end-to-end technical ownership of the application across React frontend, Node.js backend, SQL database, APIs, and integrations.
- Design, develop, enhance, and maintain scalable and reliable application solutions.
- Translate business requirements into appropriate technical designs and implementations.
- Make technical decisions considering scalability, performance, security, maintainability, and reliability.
- Actively contribute to development and handle technically complex implementation tasks.
- Review code and designs to ensure engineering quality and adherence to standards.
- Guide and mentor developers on implementation approaches and engineering best practices.
- Identify and address technical debt, performance bottlenecks, architectural gaps, and security concerns.
- Troubleshoot complex application and production issues and drive root-cause resolution.
- Collaborate with Product, QA, DevOps, Architecture, and other stakeholders throughout the delivery lifecycle.
- Ensure appropriate testing, monitoring, logging, documentation, and production readiness.
- Continuously improve the overall quality, performance, stability, and maintainability of the application.
Key Expectation: This is a hands-on senior engineering role with application-level ownership. The candidate should be able to understand the complete application, independently drive technical solutions, contribute to coding, guide the development team, and ensure the long-term technical health of the application.