JOB DESCRIPTION
Overview: On behalf of our client, Affinity is seeking an experienced Senior Full Stack Developer to join their engineering team in Canada. This is a full-time opportunity for a seasoned engineer who can contribute across both backend and frontend development, with a strong emphasis on building scalable, distributed applications and microservices. The successful candidate will bring 10+ years of professional full stack development experience and strong hands-on expertise with TypeScript, Node.js, PostgreSQL, RabbitMQ, Redis, and React.
Responsibilities:
- Design, build, and maintain scalable full stack applications, backend services, APIs, and user-facing features.
- Develop backend services using TypeScript and Node.js.
- Build and maintain modern frontend applications and reusable UI components using React.
- Design, develop, and support microservices-based architectures.
- Build highly scalable systems leveraging asynchronous processing, messaging, and event-driven architecture.
- Work extensively with PostgreSQL, RabbitMQ, and Redis within distributed application environments.
- Design and maintain robust RESTful APIs and integrations.
- Contribute to system architecture decisions and drive engineering best practices across the full technology stack.
- Partner with cross-functional team members to scope, design, and plan technical initiatives.
- Lead or participate in technical discussions with internal and external stakeholders when required.
- Conduct thoughtful code reviews and contribute to improving overall code quality.
- Troubleshoot production issues and help resolve complex technical problems across frontend and backend systems.
- Develop solutions with performance, scalability, reliability, and usability in mind.
- Contribute to CI/CD processes, automated testing, and deployment practices.
- Mentor junior developers and support their technical growth.
- Help onboard new engineers and promote strong engineering standards and collaborative development practices.
Qualifications:
- 10+ years of professional full stack software development experience.
- Strong hands-on experience with TypeScript.
- Strong hands-on backend development experience with Node.js.
- Strong hands-on frontend development experience with React.
- Strong experience working with PostgreSQL.
- Hands-on experience with RabbitMQ and asynchronous/message-driven processing.
- Hands-on experience with Redis.
- Demonstrated experience designing, building, and supporting microservices architectures.
- Strong experience designing and maintaining RESTful APIs.
- Deep understanding of asynchronous programming, distributed systems, and scalable application design.
- Strong understanding of software architecture principles, algorithms, and data structures.
- Experience with modern JavaScript (ES6+) and contemporary frontend development practices.
- Experience with automated testing and modern software development practices.
- Strong working knowledge of Git and collaborative development workflows.
- Experience working within Agile development environments.
- Experience with containerization technologies such as Docker.
- Experience with AWS services such as EC2, S3, RDS, and CDN solutions.
- Experience with CI/CD pipelines and deployment automation.
- Experience working in Linux environments such as Ubuntu or Debian.
- Familiarity with additional programming languages such as Go, Rust, Python, or Java.
- Experience with TDD/BDD and modern JavaScript testing frameworks such as Jest, Mocha, or Jasmine.