Java Software Development Engineer
It takes powerful technology to connect our brands and partners with an audience of nearly 900 million. Whether you're looking to write mobile app code, engineer the servers behind our massive ad tech stacks, or develop algorithms to help us process trillions of data points a day, what you do here will have a huge impact on our business"A cents € and the world. Want in?About UsYahoo is a values-led company committed to building brands people love. We reach over one billion people around the world with a dynamic house of 50+ media and technology brands. As a global leader in digital and mobile, Yahoo is shaping the future of media. Our mission: build brands consumers love, build platforms customers love, and build a company talent loves.Yahoo Gemini is a first-class global Native advertising platform serves Native advertisement on Yahoo properties such as Yahoo Homepage, Sports, Finance, and external publishers sites such as Microsoft and Samsung. Gemini team is building next-generation technologies to enrich our advertiser and user experience through complex scalable ad platforms, with ever growing and interesting challenges.Yahoo Gemini Native Ads platform consists of numerous robust and high performance applications running on multi-node UNIX clusters. It processes billions of queries, and generates millions of dollars every day. It is a complex system that provides opportunities for innovation, and problem solving. Developing new features and scientific models for this infrastructure presents many technical challenges in the areas of distributed computing, multi-terabyte storage systems, and high-performance computing. It demands knowledge of software design principles, systems programming, algorithms, data structures, and Java. We are looking for back end software and data scientists engineers at a Senior level to analyze requirements; investigate optimal software solutions and ad matching techniques; architect, design, implement and test those solutions; and support our globally deployed advertising software.About YouYou're a Software Engineer with professional experience in java applications, who is motivated by our mission and wants to ensure that our Native advertising platform plays a critical role in improving the experience of our users, publishers, and advertisers. The ideal candidate will have industry experience working on a range of online advertising products and ad matching technologies.Your DayYou will partner with production, operations and business counterparts to guide the service architecture, follow industry-leading best practices and technologies and influence projects and priorities to ensure success.Develop new product capabilities and enhancementsCollaborate with team members to improve the current infrastructure and codebaseScale the platform to match customer and data growthWork to delight our customers with a terrific user experiencePlay a foundational role in leading technical specs and planning for new featuresDetermine how the services will be built and scaled, brought to market, and managed for maximum performance and availability.Designing and implementing highly scalable web services and code to ensure our advertising technologies and systems are at highest standards. Design highly-available, service-oriented web services and work on performance tuning and optimization of our infrastructure. Actively looking for improvements and implementing a solution from concept to production. Large scale database reads and writes, memory usage, multi-threaded processes, socket and http connections, all considered as part of implementation. Develop in distributed batch and stream data processing systems like Hadoop, Oozie, Storm, Kafka and Druid and data stores like Hbase, Hive, Druid and Oracle database.Develop and deploy new code in Java for API and processing functionalities in our advertising stack.Mentor and lead junior software engineers in feature teams/projects and lead code reviews / production monitoring.Triage customer issues, participate in outage follow ups, debug issues in production ranging from code deployments, log parsing, stack traces, thread dumps, etc.Work using Agile principles in an experienced Scrum team, plan and execute tech-driven projects in a timely manner. Work closely with architects and product managers to get projects designed and released on time. Work closely with UI web developers and mobile app developers.Minimum QualificationBS or MS in Computer Science3+ years of experience developing system/middleware software products on Linux/UNIXSolid Java programming knowledgeExperience with highly available OLTP servicesMust have solid object-oriented programming skillsKnowledge of relational or NoSQL databasesSolid understanding of data structures and algorithmsStrong analytical and problem solving skillsSolid UNIX/LINUX skillsExperience with fault-tolerant system design and high-performance engineeringBS/MS/PhD in Computer Science or applicable experienceExperience with building large scale, distributed, highly scalable and highly available internet enabled enterprise server systems desirableExperience with Agile product development methodology desirableExperience with Spring, Hibernate, REST is desirableExperience with AWS and EC2 is desirablePreferred QualificationExperience manipulating and analyzing data from different sourcesSuccessful track record of delivering quality results in complex cross-functional projectExperience taking a leading role in building complex software systems that have been successfully delivered to customersExperience in communicating with users, other technical teams, and senior management to collect requirements, describe software product features, technical designs, and product strategyPersonal commitment to continuous learning and self-developmentAbility to work well on a team with a positive attitudeEnergy, passion, drive, and intense customer focusMost of all show that you are smart, and excited about working at YahooYahoo is proud to be an equal opportunity workplace. All qualified applicants will receive consideration for employment without regard to, and will not be discriminated against based on age, race, gender, color, religion, national origin, sexual orientation, gender identity, veteran status, disability or any other protected category. Yahoo is dedicated to providing an accessible environment for all candidates during the application process and for employees during their employment. If you need accessibility assistance and/or a reasonable accommodation due to a disability, please submit a request via the Accommodation Request Form ( /careers/contact-us.html ) or call 408-336-1409. Requests and calls received for non-disability related issues, such as following up on an application, will not receive a response.At Yahoo, we know that diversity makes us stronger. We are committed to a collaborative, inclusive environment that encourages authenticity and fosters a sense of belonging. We strive for everyone to feel valued, connected, and empowered to reach their potential and contribute their best. Check out our diversity and inclusion ( /diversity/ ) page to learn more.Currently work for Yahoo? Please apply on our internal career site.