Senior Software Development Engineer, Alexa Connected Devices
- San Francisco, CA
DESCRIPTION
Devices ER (ER for Entity Resolution) team is part of the Alexa org. We are responsible for determining which devices and device features customers are referencing when asking Alexa to control their devices with directives such as "turn on the lights," "start the gentle cycle," and "set the temperature to 72 degrees." Our challenges are to allow Alexa act like human and communicate naturally with customer, especially for complex and implicit utterances. To overcome our challenges, we need to implement state-of-the-art NLP models and leverage multiple big data repositories.
We are on the lookout for a creative, deeply technical and customer-obsessed Sr. SDE to partner with us, and define and drive technology. If you are a sharp, seasoned software engineer with a creative flare, a solid software engineer with a strong computer science foundation, and a desire to be a leader in delivering the next generation technology, we want to talk with you.
What's the opportunity?
• This is a highly visible role, operating with many technical leaders and product managers across Alexa - with stakeholders at all levels of the organizations, including senior leadership.
• This is a highly visible team interacting with a diverse range of developers and partners for enablement of rich user-experiences.
• This product platform provides a great opportunity to develop a modern trier-1 distributed and multi-tiered service, with extremely low latency, high resiliency, scalability, and extensibility.
You will:
• Solve complex architecture and business problems in an extensible and simplified way
• Define and influence technical strategy and software architecture
• Innovate on and expand our distributed systems
• Apply core software engineering skills daily - such as coding in Java, OO and systems design, and problem solving - while utilizing advanced algorithmic and analytical skills
• Mentor and grow other developers on the team or across teams
BASIC QUALIFICATIONS
• 3+ years of programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
• 2+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems
• 4+ years of professional software development experience
• Bachelor's degree in Computer Science or Software Engineering or in an equivalent discipline
• 8 plus years of professional experience in software development/engineering
• Proficient in at least one of the following: Java, C#, or any other high-scale programming language
• Strong understanding of computer science fundamentals, including algorithms, complexity analysis, data structures, problem solving, and object-oriented analysis and design
• Experience with distributed computing and enterprise-wide systems
• Experienced driving ambiguous problem areas in existing or new software initiatives
PREFERRED QUALIFICATIONS
• Master's Degree/PhD in Computer Science or Software Engineering
• Design experience with multi-tenant, role-based architectures with granular permissions models
• Experience taking a leading role in building complex software systems in Java/C#/other modern languages that have been successfully delivered to customers with other engineers working under your guidance
• Experience influencing software engineering best practices within your team, including coding standards, code reviews, source control management, build processes, testing, and operational excellence
• Experience mentoring junior software engineers for their career growth and effectiveness
• Experience in communicating with users, partner teams, and senior management to collect requirements, describe software product features, technical designs, and product strategy
• Expertise in defining, developing and maintaining REST based interfaces
• Expertise in AWS products and services, and experience developing in a Linux environment
• Experience applying service-oriented architecture techniques to production use cases
• Hands-on expertise in many disparate technologies, ranging from front-end user interfaces through to back-end systems and all points in between
Back to top