You're using an older version of Internet Explorer that is no longer supported. Please update your browser.

Software Development Engineer

Toronto, ON
Full Time
7 days ago
Do you ever wonder how the packages show up at your door when you ordered from Amazon? Are you obsessed over the customer and keeping our promises to deliver? Are you an owner of your work, delivering and maintaining high quality solutions from inception to scaled-up operations over peak times? If these attributes describe who you are then the Amazon Fulfillment Technology - Sortation Team is the place for you!

Amazon's global fulfillment business is one of the largest and most complex operations in the world. Our technologically advanced warehouses are at the center; the invisible back half of Amazon that magically turns your click of a button into a product at your door. We are building the technological solutions for the next generation of warehouses that knit together associate interactions with advanced automation throughout the fulfillment process, and optimizing the control the flow of materials through them.

As a member of the team, you will be responsible for the development and launch of core product features and maintaining our existing solutions that support current operations. You will have influence on our overall strategy by helping to define these features, designing the system architecture, and adhering to the best practices that enable a quality product. You will have opportunities to travel to the warehouses worldwide to experience the fulfillment process first-hand to gain a customer-focused perspective in developing the right solutions.

The ideal candidate is passionate about new opportunities and has a demonstrable track record of success in delivering new and foundational products and features. A commitment to teamwork and strong communication skills (to both business and technical partners) are absolute requirements. Creating reliable, scalable, and high-performance software products requires exceptional technical expertise, a sound understanding of the fundamentals of computer science and software engineering, and practical experience building large-scale distributed systems. This person has thrived and succeeded in delivering high-quality technology products/services in a high-growth environment.

- Responsible for the development and maintenance of key system features.
- Will work with other team members to investigate design approaches, prototype new technology, and evaluate feasibility.
- Will work in an Agile/Scrum environment to deliver high-quality software against aggressive schedules.

• Bachelor's Degree in Computer Science or related field
• 4+ years professional experience in software development
• Computer Science fundamentals in object-oriented design
• Computer Science fundamentals in data structures
• Computer Science fundamentals in algorithm design, problem solving, and complexity analysis
• Knowledge of, at least, one modern programming language such as Java Node.js or C#.

• Experience building complex software systems that have been successfully delivered to customers
• Experience in Web development and Node.JS
• Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
• Ability to take a project from scoping requirements through actual launch of the project
• Experience in communicating with users, other technical teams, and management to collect requirements, describe software product features, and technical designs.

Software and Programming