Android Development Engineer
The Audio Experiences group owns the core domains for Audible's Player and Library. Audible customers spend most of their time with Audible in either the Library or Player components of our application across FireOS, Android, iOS, and Web. We are embarking on a mission to reshape the fundamental experiences, delight our customers, and reshape how development is done across all surfaces and devices within Audible. It's our responsibility to push Audible into new places; wherever our customers are listening. Achieving this vision means expanding and strengthening Continuous Deployment across surfaces; new technologies like CarPlay, Watch, HomeKit, Common Encryption Standard media, and adaptive live streaming; as well as driving a strong engineering culture with processes like Chaos Engineering and A/B Testing.
This opportunity specifically is as a Software Development Engineer within the Audio Experiences group. The team is building cutting edge components and 3rd party APIs being used internally and externally. We build the common components and libraries for the Library and Player experiences, as well as the customer facing UI for Audible's Android, iOS, and Web applications. Our components enable all Audible listening experiences whether through our apps, Amazon devices, or even third-party devices like Sonos. We need your help to develop and deliver on this vision. Success means we lay the foundation for continued expansion of our company without disrupting an already tremendously successful and much-loved project.
HOW DOES AMAZON FIT IN?
We're a part of Amazon: they are our parent company and it's a great partnership. You'll get to play with all of Amazon's technologies, but it doesn't stop there. Audible is built on a strong foundation of Amazon technology and you'll have insight into the inner workings of the world's leading ecommerce experience. There's a LOT to learn! Your career will benefit from working with teams like Alexa, Kindle, A9, P13N and many more.
If you want to own and solve problems, work with a creative dynamic team, fail fast in a supportive environment while growing your career and working on high volume (5000+ transactions per second) services that support millions of customers worldwide, we want to hear from you.
As a Software Development Engineer, you will be part of a full-stack team that includes other iOS, Android, Web, and API developers. Our core goal is to make cross device development faster and higher quality. You will be a key part of the team for Android.
· Own key components within our platform. "Owning" means envisioning, designing, creating, building, and supporting.
· Set the technical direction and strategy within the team and strategize to influence technology across Audible and beyond.
· Partner with product management to imagine, design, develop, test, and launch software that invigorates our community and inspires our peers.
· Evangelize our content and application, work closely with business development, and through events like external hackathons and internal brown bag sessions.
· Lead the way - "Lead" means staying up to date with tools, trends, technologies, and frameworks both industry-wide and within Amazon. Sharing that knowledge in a meaningful way with the community.
· Solve problems which are not clearly defined and have a large degree of ambiguity while translating our organizational vision into functional plans that guide their execution.
· Support our developers. "Support" means be the go-to-person for questions but never a bottleneck. See around the corner and anticipate developers' needs.
· Mentor and grow developers by cultivating curiosity and deep technical understanding.
· Bachelors degree or higher in Computer Science or related field.
· 4+ years of experience in the job offered or as a Software Engineer, Software Developer, or a related occupation
· Atleast 2+ years of experience in designing and developing Android Applications using Java, Android SDK, Studio, APIs, or Frameworks; and experience with object oriented development, multithreading, and data structures.
· Background in synchronizing information across devices with support for offline transactions.
· Strong data-oriented skills with knowledge of Algorithms and database design.
· Working knowledge of modern best practices: dependency injection, operations/promises, and modular development.
· Past mentorship of other engineers within an organization, showing mutual growth and provide technical leadership.
· Strong problem-solving skills with the ability to navigate highly complex and ambiguous situations.
· Adaptable, enterprising, and willing to take ownership.
· A high-quality bar: just-enough documentation, unit testing, code reviews, test automation, continuous integration & deployment. Enthusiasm for instilling this attitude in others.
· A preference for Agile development methodologies.
· Great communication skills - ability to think creatively and adapt the message to the audience. Can provide information to technical and non-technical stakeholders alike and guide them to confidently informed decisions.
· Recent experience building enterprise-scale mobile applications.
· Experience in streaming technologies (HLS, DASH)
· Competency in automation, enthusiasm for continuous integration/deployment or Chaos Engineering.
· Solid Coding practices including good design, unit testing, peer code reviews and a preference for agile methods.
· Knowledge of professional software engineering best practices including coding standards, source code management & build processes
Audible is an Equal Opportunity Employer Minority / Women / Disability / Veteran / Gender Identity / Sexual Orientation / Age