Newark, NJ

Backend Software Development Engineer II

Excited by High Scale Distributed Systems and Personalization? Interested in working on complex problems and high impact projects?
Whether recommending content, improving search results, or anticipating what the customer is about to do, Personalization is all about making the product experience unique, relevant and valuable to the customer. The ideal candidate has background in developing large scale systems, interest in personalization, intense curiosity, excellent analytical abilities. You should be a self-starter, comfortable with ambiguity, able to think big (while paying careful attention to details) and enjoy working in a fast-paced dynamic environment. Engineers will work closely with both business teams and development teams to understand requirements, design and develop the technical solution and collect feedback from customers. If you are looking for your next big challenge and career move, come talk to us.

· 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.
· Uses technology to solve difficult problems. Defines a design, turns it into high quality code, and delivers it on schedule. Proficient in a broad range of data structures and algorithms, knowing when it is (and isn’t) appropriate to use them.
· Capable of independently clarifying technical requirements, assessing development estimates and applying a broad range of design approaches.
· Review code of other team members and provide constructive direction.
· Drive continuous improvement of software quality, CX and maintainability of products/features.
· Continuous learning of technology trends, tools, and approaches, including sharing this knowledge with your team.
· Mentor and lead developers by cultivating curiosity and deep technical understanding.
· Additional duties as assigned.

Basic Qualifications

· Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
· 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
· 2+ years of non-internship professional software development experience
· Experience writing clear, maintainable and extensible code.

Preferred Qualifications

· Bachelor’s Degree in Computer Science or related field.
· 4+ years industry experience in software development.
· Experience programming with Java or similar OO language.
· Development in object-oriented design, big data and large scale distributed systems.
· Experience building complex large scale software systems servicing millions of users.
· Experience working with AWS, NoSQL, streaming/lambda architectures (Apache Spark, Storm, Kafka).
· Interest in the field of personalization.
· Strong problem-solving skills with the ability to navigate highly complex and ambiguous situations.
· Experience building and delivering software systems to internal or external customers.
· Strong verbal and written communication skills, enabling effective messaging with both technical and non-technical audiences.
· A high-quality bar: 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 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 mentor teammates on team software, team culture, and customer obsession.