Good storytelling starts with great listening. At Audible, that means each role and every project has our audience in mind. Because the same people who design, develop, and deploy our products also happen to use them. To us, that speaks volumes.
ABOUT THIS ROLE
As a Senior Software Development Engineer, it's up to you to define, design and refine the tech that keeps us one step ahead of listeners. Anticipate. Innovate. Bring challenging ideas and we'll support you with the latest tech, tools and systems that you need to succeed. You'll be essential in ensuring the team can reach their potential; working closely with them, reviewing their work, mentoring, and supporting them to develop. Together, you'll build and maintain our platform to bring thousands of stories to millions of listeners and unleash the power of the human voice.
You feel pride in every step forward, however big, or small; to you, each challenge represents a well-executed venture to support our listeners. If you're looking to build on your skills and grow into a leader, this is your next step. We look for people who take responsibility, set their standards high and see every failure as an opportunity to learn. You're looking for an environment where you can thrive. With opportunities to challenge yourself and a talented team by your side, you'll find what you're looking for at Audible.
As a Senior Software Development Engineer, you will...
- Design, develop, and test software components and applications for the largest creator and provider of audiobooks in the world.
- Work on an agile engineering team writing maintainable and scalable code for software components and influencing team decisions.
- Collaborate with stakeholders to imagine, design, develop, test, and launch software that impacts our customers and inspires your peers.
- Use technology to solve difficult problems. Define a design, turn it into high quality code, and deliver it on schedule. Proficient in a broad range of data structures and algorithms, knowing when it is (and isn't) appropriate to use them.
- Independently clarify technical requirements, assessing development estimates and apply a broad range of design approaches.
- Review code of other team members and provide constructive direction.
- Drive continuous improvement of software quality, customer experience, and maintainability of products/features.
- Mentor and lead developers by cultivating curiosity and deep technical understanding.
- Bachelor's degree in Computer Science or related field, or equivalent experience.
- 2+ years of non-internship professional software development experience at this level.
- 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
- Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design.
- Able to write code that an SDE unfamiliar with the software can understand.
- Able to provide a code review.
- Able to assess an existing software application and correctly identify where enhancements may be made to improve it.
- Able to identify and resolve the root cause of software defects.
- Problem-solving skills with the ability to navigate highly complex and ambiguous situations.
- Past mentorship of other engineers within an organization, showing mutual growth.
- Experience building software systems that have been successfully delivered to internal or external customers.
- Some exposure to FrontEnd & understanding of AWS .
- 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.
- A high-quality bar: just-enough documentation, unit testing, code reviews, test automation, continuous integration & deployment. Enthusiasm for instilling this attitude in others.
- Adaptable, enterprising, and willing to take ownership.
- Able to design, implement, and deploy software components and features, and solve difficult problems.
- Maintain a solid understanding of design approaches (and how to best use them).
- Able to work independently and with your team to deliver software successfully.
- Able to consistently produce high quality software (e.g., secure, testable, maintainable, low-defects, efficient, etc.), which incorporates best practices.
- Able to constructively identify problems and propose solutions, taking on projects that improve the team's software, making it better and easier to maintain.
- Able to make improvements to the team's development and testing processes.
- Able to establish good working relationships with peers. Able to recognize discordant views and take part in constructive dialogue to resolve them.
- Able to confidently train new team-mates about your customers, what the team's software does, how it is constructed, tested, operates, and how it fits into the bigger picture.
- Knowledgeable about a broad range of design approaches and when to use them (and when to not).
- Understand the legacy of coding decisions. Know when a short-term workaround is a problem and when to limit this type of solution and the implications of adding new dependencies.
At Audible, we innovate and inspire through the power of voice. We're changing the narrative on storytelling. As a leading creator and provider of premium audio storytelling, we've redefined the ways people access, discover, and share stories. The stories we tell have the ability to transport and transform everyday moments into meaningful experiences and it's our people who make Audible's service possible. We're listeners, storytellers, and problem-solvers. Our perspectives and experiences power our ideas and come together in our mission to unleash the power of the spoken word.
Audible is committed to a diverse and inclusive workplace. Audible is an equal opportunity employer and does not discriminate on the basis of race, national origin, gender, gender identity, sexual orientation, protected veteran status, disability, age, or other legally protected status.