Junior Software Engineer

CSC GenerationToronto, OntarioRemoteFull-timeNew grad, 0–1 yearsListed 4 hours ago

Apply now

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.