Software Development Engineer II at Discovery Direct-to-Consumer
Ad Delivery, Targeting and Monitoring is a global platform team focused on providing product engineering teams with capabilities to deliver and measure targeted ads within their digital video streaming products. We monitor KPIs and use data driven decision making to continuously improve upon the customer experience.
As television and media habits change, our mission remains true to the principles that founded Discovery – every day we seek to ignite people’s curiosity to engage, entertain and enlighten the world around them through amazing viewing experiences.
The Direct to Consumer Group is a technology company within the Discovery brand.
We are building a global streaming video platform (OTT), and a suite of applications to support all our network’s brands globally. We are building modern container-based microservices operated on AWS. Our platform covers everything from search, catalogue, video transcoding, personalization, to global subscriptions, and much more. We build user experiences ranging from classic lean-back viewing to interactive learning applications. We build for connected TVs, web, mobile phones, tablets, and consoles for a large footprint of Discovery owned networks (Discovery, Food Network, Golf TV, MotorTrend, Eurosport, Discovery Play, and many more) This is a growing, global engineering group crucial to Discovery’s future.
We are hiring senior software development engineers to join our team in New York City. The ideal candidate has a track record of having built multiple high-performance, stable, scalable systems that have been successfully shipped to customers in production. Your work and your approach to work are exemplary: you drive best practices and set standards for your team. You are a key influencer in your team’s strategy and contribute significantly to team planning. You show good judgement making trade-offs between immediate and long-term business needs. You are a collaborative leader that makes other engineers and team members around you more productive, by sharing your knowledge, and helping to tie-break key technical decisions. You provide mentoring to other engineers.
1. You are able to work autonomously to design and develop functional changes to existing software systems. You require little or no guidance by team members. You still actively seek input where appropriate and engage your team to inform and share what you are doing.
2. You can collaborate with other engineers assisting on features another engineer designed or taking the lead on feature design yourself. Your software contributions are demonstrated to work in production, and your team trusts your decisions, designs, and code.
3. You are able to describe and defend your design and code decisions to other engineers, embrace constructive feedback, and adapt your approach to align with team and company standards and objectives.
4. You consistently demonstrated good software ownership practices (e.g. code reviews, code comments, etc.) in all your contributions. Your code reviews are uneventful, you prepare documentation proactively, and you ensure proper monitoring for operational excellence in production.
5. You offer enhancements to best practices, document, design and architecture improvements, and as feedback through code reviews to other engineers without continuous prompting or recurring encouragement. Other engineers appreciate your feedback.
6. You can troubleshoot a production issue by reviewing source code, logs, operational metrics, stack trace etc. to pinpoint a specific problem and then resolve it.
* 5+ years of experience developing Android applications.
* Experience with Kotlin
* Experience with software engineering best practices (e.g., unit testing, design patterns, building maintainable code, performance)
* Knowledgeable with 3rd party API consumption, both client- and server-side
* Must have the legal right to work in the United States