Have you ever built microservices and struggled to reference one from the other? Have you ever built custom solutions for locating and discovering dynamic resources at runtime? Have you ever had a service or application become unresponsive because of service discovery or name resolution problems? If you don't have an answer to that last one, we already know the answer is Yes. The Map team builds highly available and scalable service discovery solutions that allow customers to discover all of their resources at runtime, define custom names for application resources, and maintain the updated location of these dynamically changing resources. As Map is a foundational service that other services and our customers take a critical dependency on, it must guarantee low latencies, world-class "five nines" of availability, and serve millions of transactions per second. Our team is based on Vancouver, BC, and on a typical day our engineers are innovating on behalf of our customers to solve complex performance optimization problems, push the limits of service availability, and build capabilities to automate resource management and discovery for all resources.
We are looking for a Software Engineer to join the Map team in Vancouver to help us realize our vision.
Why would you want to join our team?
We are now embarking on adding the next wave of functionality for a service that is core to all modern Internet businesses. If you're excited about solving hard technical problems in the systems space, and want your work to make an immediate impact in the real world, this is the place for you. If going deep to optimize for scale, latency, and resource usage excites you as much as working backwards from the customer to develop features that not only work, but delight, then join us in delivering a next generation networking platform.
What does it take to succeed in this role?
In addition to the technical qualifications, you must be a passionate, creative, self-driven, responsible role model. You must be an accomplished engineer with experience in systems and a focus on scalability and operational excellence to help us grow and operate a large-scale, global networking service, intended to be a core building block for many larger services. You should have strong experience in designing solutions focused on customer needs, leading teams in developing and deploying these solutions, and operating the systems in production with a demonstrated focus on security, stability and availability. You should be excited (and a little frightened) by the enormous scale at which we operate. A natural problem solver, who is able to think about business opportunities, operational issues, and software architecture in the course of a single conversation. Curious about our customers' needs and dedicated to turning developers into raving fans. Excited to learn from others while bringing your own novel capabilities and perspectives. Someone who makes the team room both productive and fun to work in.
Amazon is an Equal Opportunity Employer - Minority / Women / Disability / Veteran / Gender Identity / Sexual Orientation / AgeBASIC QUALIFICATIONS
• Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
• Programming experience with at least one modern language such as , , or including object-oriented design
• At minimum a Bachelor's degree in Computer Science or a related field or a Diploma in a related field
• 1+ years of non-internship professional software development experience
• 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systemsPREFERRED QUALIFICATIONS
• Proficiency with multiple programming languages
• Ability to take a project from scoping requirements through actual launch of the project
• Strong systems and web services and implementation experience
• Knowledge of basic Internet protocols and routing concepts
• Experience implementing server software in a environment
Software and Programming