About this role
About the Role
This role exists to add full-stack engineering capacity to the platform team that builds shared tooling across a portfolio of e-commerce brands. As Junior Software Engineer , you will work primarily in JavaScript and TypeScript — React on the front end, Node on the back end — shipping production changes that are used daily across real consumer storefronts.
Within your first 6 months, you will ship production changes independently, take ownership of clearly scoped features with light guidance through code review, and demonstrate the engineering habits — small pull requests, disciplined debugging, readable code — that earn increasing scope.
This is a lean team. You will own a lot, move fast, and make decisions with full end-to-end responsibility.
What You'll Do
- Build and refine user-facing features using React, TypeScript, and modern front-end tooling.
- Implement and integrate backend services using Node and TypeScript or JavaScript, including REST-style APIs and basic data models.
- Work with senior engineers to break down requirements into small, shippable pieces and implement them end to end.
- Write clear, maintainable code and basic tests for both front-end and back-end functionality.
- Collaborate with product and design to polish UX details, handle edge cases, and improve performance and reliability.
- Use AI-assisted tools (e.g., ChatGPT, GitHub Copilot) in a disciplined way to speed up development while keeping code quality high.
- Participate in code reviews, ask questions, and steadily grow toward owning small features and services independently.
- Practice good engineering hygiene: version control, small pull requests, clear commit messages, and lightweight documentation.
Required Qualifications
- Experience with JavaScript or TypeScript through coursework, internships, personal projects, bootcamps, or 0–3 years of professional work.
- Hands-on experience with React and component-based UI development, including state management and basic forms.
- Some exposure to backend development in Node (e.g., simple APIs, scripts, or server-side logic).
- Comfort with HTML and CSS, responsive layouts, and common web patterns.
- Basic understanding of HTTP, JSON, and how front-end code communicates with backend services.
- Some exposure to testing tools on either front end or back end, or a clear willingness to learn them.
- Strong debugging mindset: you read error messages, check logs, and try small experiments before asking for help.
- Evidence of being studious and self-directed — for example, you maintain personal notes or a knowledge base, or you can describe something difficult you taught yourself recently and how you went about it.
- Clear communication, willingness to receive feedback, and a growth mindset.
Preferred Qualifications
- Experience with a web framework such as Express, Next.js, or similar.
- Exposure to databases or data storage, even if only in simple projects.
- Awareness of accessibility, performance, and basic security considerations.
- Prior use of AI coding assistants or strong interest in using them responsibly in your workflow.
- Experience with e-commerce, design systems, or component libraries.
Why Join
The people who do best here are builders. They take ownership, move fast, and want to see the direct impact of their work.
- Team Environment: You will work alongside senior engineers who invest in your growth through code review, pairing, and real-time feedback — not abstract mentorship.
- AI-First Skill Building: Hands-on experience using AI-assisted development tools with the same expectations we have for any production code: reviewable, testable, and maintainable.
- Real Ownership Early: Diligent engineers in this role move faster than is typical for junior roles — owning larger features sooner because the team favors small teams, fast iteration, and real responsibility.
- Competitive Benefits (US): Paid time off policies, 401(k) match, medical/dental/vision and a variety of supplemental policies, and employee discounts across our portfolio of brands.
- Competitive Benefits (Canada): Paid time off policies, RRSP match, medical, dental, and vision coverage, a variety of supplemental benefit options, and employee discounts across our portfolio of brands.
Interview Process
- Recruiter Screen - A 30-minute conversation with our recruiting team to align on the role, your background, and what you are looking for.
- Hiring Manager Interview - Conversation focused on your engineering fundamentals, learning habits, and how you approach problems when uncertain.
- Technical / Live Debugging Interview - A session focused on how you debug in real time, respond to feedback, and work through ambiguity.
- In-Person Interview - We'd like to meet you at one of our office hubs (Salt Lake City, Austin, or Toronto). Details and logistics will be arranged with your recruiter.
- Reference Checks - Conducted in parallel with the final stages where possible.
- Offer - We move quickly for the right candidate.
Interview process is subject to change. Any updates will be communicated promptly and clearly.
Please Note
- Part of our interview process is a mandatory in-person interview with someone on our team prior to an offer. Candidates that are unwilling or unable to meet for an in-person interview will be removed from consideration immediately.
- Due to a high volume of fraudulent applications, you must share a valid LinkedIn profile URL in the application questions below to be considered . If you do not have a LinkedIn profile, you must provide a credible reason in that field and supply alternative evidence of your professional background to verify your identity.
