External Job Description:|
Principal Software Development Engineer – Display Advertising Marketplace
Think about impacting 1 out of every 2 people online--in innovative and imaginative ways that are uniquely Yahoo!. We do just that each and every day, and you could too. After all, it is big thinkers like you who will create the next generation of Internet experiences for consumers and advertisers across the globe. Now's the time to show the world what you've got. Put your ideas to work for over half a billion people.
Yahoo!'s Display Advertising Marketplace is one of the biggest online marketing programs on the internet. It provides a core set of platforms and services that stand in support of all our Display advertising partners. It allows advertisers to reach the masses through Yahoo! and partner networks. We have ever-growing and interesting challenges, and we are looking for world-class, fun-loving engineers to join our team!
For this position, the Display Advertising Marketplace team is looking for a seasoned Principal Software Engineer (expert level). You will be working on our next generation platforms and infrastructure as well as supporting new features on our existing platforms - these include business features and technology improvements. Our platforms process billions of ad impressions a day. Development of this infrastructure presents many interesting technical opportunities, particularly in the areas of efficient query processing and ad decisioning, large-scale data and cache management, support for
super-high throughput etc.
The job calls for strong experience in software design principles, systems programming, algorithms, data structures, optimization, network programming as well as essential performance tuning/testing. Our focus is on building scalable infrastructure and modular software, measurement and tuning of systems performance, and reliability and fault-tolerance in a 24/7 production environment.
- Participate in the development of the next generation ad serving platform and marketplace design
- Architect, design and build fault-tolerant, high-performance, scalable systems
- Mentor junior team members in various aspects of software engineering
- Interface with various teams to define requirements, interfaces, and implementation approaches
- Influence architecture, design, and implementation across adjacent teams
- Strong C++ programming skills
- Strong *NIX skills
- Solid understanding of data structures and algorithms
- Familiarity with fault-tolerant system design and high-performance engineering
- Strong verbal and written communication skills
- 10-12 years of commercial software development
- BS/MS in CS (or equivalent)
- Extensive knowledge of SQL, STL, TCP/IP preferred
- Distributed systems experience
- Understanding of database internals and implementation techniques
- Understanding of database query processing and indexing are preferred
- Familiarity with information retrieval techniques are preferred
- Experience with machine learning algorithms and/or statistical methods in computation
- Experience with Agile product development methodology