Explore thousands of opportunities across Tech:NYC’s member network.


Principal Software Engineer, Core Mail Backend



Software Engineering
Remote, OR, USA · Remote
Posted on Friday, May 10, 2024
Yahoo Mail is the ultimate consumer inbox with hundreds of millions of users. It’s the best way to access your email and stay organized from a computer, phone or tablet. With its beautiful design and lightning fast speed, Yahoo Mail makes reading, organizing, and sending emails easier than ever.

About Core Mail

We build, enhance, and maintain one of the highest scaling email platforms on the planet. We are the first component in the mail back end, a middle tier, that contains the APIs and business logic through which virtually all mail operations flow. We implement REST APIs for our world-class mail clients (mobile, web, Yahoo, AOL, etc), standards-based protocols (IMAP, POP, etc) for generic mail clients, and industry leading back-end mail synchronization. We own the data platform in metadata, storage, and indexing. And we build even more supporting systems that are part of or support our array of serving and data components. We share about 20 components implemented in 4M lines of code.

We directly impact approximately 220 Million users every month, serving billions of requests a day across servers & cloud solutions across the world, and are critical to Yahoo’s success. Our logged-in experience offers even greater value to the rest of Yahoo for serving highly customized experiences. We achieve high scale on each server using async technologies developed in house as well as from open source and cloud technologies. We take an industry leading number of connections, in the order of 100s of thousands on a single server or instance to achieve a very cost friendly footprint. We have a unique opportunity to do hard, challenging work, solving problems at a rare scale, innovating to meet our product & users future needs, & continually modernizing, while sustaining an essential service to users’ daily lives.

This is a business critical & central platform to serve all Mail users at the center of Yahoo’s core user base & revenue. Come join this amazing team of engineers to have a more direct impact on serving users and data at uniquely high scale, work on the next generation tech stack, and support innovative product experiences to grow users.

A Lot About You

We are looking for smart people, with strong CS fundamentals, that collaborate well, learn quickly, and value high quality code. The most successful engineers own and drive their tasks to completion, collaborate well to achieve their goal, can think through scenarios and edge cases, learn from our leadership, and understand the broader impact. If you are excited about the whole life-cycle of a product - designing, coding, testing, reviewing, launching, and troubleshooting, this is the place to be. You will learn and gain hands-on experience while engaged in projects with significant impact on the success of Yahoo.

Your Day

  • Design, implement, test, and debug our continually evolving tech stack to scale & sustain a large scale distributed system.

  • Design, implement, test, and debug features in mail supporting client features on a large scale distributed system; revise and refine as required.

  • Lead project teams, derive implementation roadmap and milestones within business constraints, and execute with predictability and transparency.

  • Personally implement significant works of complexity and size.

  • Partner with leads and architects to solve our more challenging problems.

  • Request and participate significantly in code reviews and part of our committer process.

  • Participate in agile development with weekly sprints, planning & estimating work, daily standup, & retrospectives.

  • Learn from a multitude of sources, including on the job project experience, reviewing code from others, team education sessions, collaborating with peers, frequently soliciting advice & shoulder reviews from leaders & architects, as well as online or class-based learning.

  • Take initiative to identify, solve, and pursue problems to full completion.

  • Promote and solicit ideas within project teams, incorporate into proposals, and champion ideas to seek buy-in from leads & managers.

  • Contribute to best practices and work culture of our team.

You Must Have

  • BS, MS, or PhD in Computer Science or related field with a strong record of academic achievement.

  • Programming proficiency in a high level language (preferably Java or C++).

  • Proficient in Computer Science fundamentals, including data structures, algorithms, OS and networking.

  • 8+ Years Experience

  • Proficient in software engineering processes & tools for coding, testing, and debugging.

  • Significant professional experience in Software Development of backend systems.

  • Significant experience with object-oriented programming concepts, large-scale software architecture, networking and distributed systems, and UNIX/Linux environments.

  • Significant experience designing and developing high performing complex server applications.

  • Proven track record of technical leadership on complex projects and large roadmaps, including responsibility for design or architecture, breakdown of task for parallel execution, and leading a team of people, or extraordinarily complex or large solo efforts that cannot be parallelized.

  • Excellent communication and collaborate well with a team and incorporate feedback from leaders.

  • Enjoy helping people, remain friendly and constructive under stress.

Experience in Any of the Following is a Plus

  • Large scale distributed systems

  • Public cloud infrastructure (AWS, GCP, etc)

  • Web-scale / large-scale data and request traffic

  • Web-scale / large user bases

  • Backend REST API (Jersey, Servlets 3.0)

  • Asynchronous implementations (especially with HTTP clients & worker models)

  • Multi-threaded programming and/or understanding contention issues

  • Non-blocking I/O (NIO)

  • Java development

  • JVM internals and its performance tuning

  • SSL Certificates, authorization tokens, and debugging access issues

  • Network infrastructure and provisioning of resources

  • Containerization (Kubernetes), Build, Pipelines, & Deployment (CI/CD)

  • Integration test & unit test (with mocks)

  • Developing on Unix platform

  • Internships at tech companies

Yahoo 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 (www.yahooinc.com/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 (www.yahooinc.com/diversity/) page to learn more.

The compensation for this position ranges from $143,625.00 - $299,375.00/yr and will vary depending on factors such as your location, skills and experience. The compensation package may also include incentive compensation opportunities in the form of discretionary annual bonus or commissions, in addition to equity incentives. Yahoo provides industry-leading benefits including healthcare, 401K savings plan, company holidays, vacation, sick time, parental leave and an employee assistance program. Eligibility requirements apply.

Yahoo has a high degree of flexibility around employee location and hybrid working. In fact, our flexible-hybrid approach to work is one of the things our employees rave about. Most roles don’t require specific regular patterns of in-person office attendance. If you join Yahoo, you may be asked to attend (or travel to attend) on-site work sessions, team-building, or other in-person events. When these occur, you’ll be given notice to make arrangements.

If you’re curious about how this factors into this role, please discuss with the recruiter.

Currently work for Yahoo? Please apply on our internal career site.