Sr. Software Engineer (Node.js, React)
We're looking for a senior engineer who can take ownership of complex systems, make sound technical decisions, and drive meaningful outcomes. You'll work across the full stack - backend services, frontend applications, infrastructure, and data - with significant autonomy over how problems get solved.
This isn't a role where someone hands you tickets. You'll assess tradeoffs, identify what matters, and ship solutions that move the business forward.
Key Responsibilities:
- Make technical decisions with business awareness - evaluate options, assess risks, understand downstream impact, and choose the right path - not just the clever one
- Own systems end-to-end - from database schema to API design to UI, across multiple services
- Analyze impact before acting - understand how changes propagate through interconnected services, data pipelines, and scheduled jobs before committing to an approach
- Improve what exists - identify bottlenecks, reduce fragility, expand test coverage, and modernize legacy code pragmatically
- Design for reliability - build systems that handle failure gracefully, with proper observability, error handling, and recovery
- Set technical direction - establish patterns, review architecture, and raise the engineering bar for the team
Tech Stack:
- Backend: Node.js, Express, TypeScript
- Frontend: React, Vite, Tailwind CSS
- Databases: MongoDB, MySQL
- Caching: Redis
- Infrastructure: Docker, cloud deployment (DigitalOcean), Turborepo Monorepo
- Scheduling: Cron-based job orchestration
- Integrations: REST APIs, web scraping, proxy management
Technical Skills:
- Strong production experience with TypeScript/Node.js and Express
- Solid skills across MongoDB and MySQL - schema design, query optimization, migrations
- Experience building and maintaining React frontends
- Hands-on with Docker, cloud infrastructure, and CI/CD pipelines
- Experience with Monorepo architecture and multi-service systems
- Demonstrated ability to make technical decisions independently - weighing tradeoffs, assessing blast radius, and communicating rationale clearly
- Strong impact analysis skills - you think through second-order effects before making changes to production systems
- Experience with web scraping, proxy rotation, and third-party API integration at scale
- Familiarity with Redis caching and scheduled job orchestration
Nice to Have:
- Experience with AWS services (EC2, ECS, Lambda, RDS, S3, CloudWatch, or similar)
- Familiarity with Kubernetes - container orchestration, deployments, scaling, and cluster management
- Experience with observability platforms (Datadog or similar)
- Background in e-commerce, marketplace integrations, or dynamic pricing systems
- Experience leading small engineering teams
AI Usage:
AI tools are a core part of how we work:
- Claude Code and Cursor are used daily for development - code generation, refactoring, debugging, and architectural reasoning
- We expect you to be proficient with AI-assisted development and use it to move faster without sacrificing quality
- Experience applying AI/ML to business problems (optimization, forecasting, anomaly detection) is a plus
Who You Are:
- You think before you build. You ask "what breaks if this changes?" before writing code
- You communicate decisions clearly - to engineers and to non-technical stakeholders
- You take ownership of outcomes, not just tasks
- You're pragmatic - you ship working solutions and improve iteratively rather than chasing perfection
- You're comfortable with ambiguity and can turn vague problems into concrete plans
Job Type: Full-time
Pay: $90,000.00-$110,000.00 per year
Benefits:
- Casual dress
- Dental care
- On-site parking
- Paid time off
- Tuition reimbursement
- Vision care
Work Location: Hybrid remote in Markham, ON