Principal Software Engineer

Microsoft (Vancouver BC, Canada) 24 days ago

What is Yammer?  

Microsoft Yammer is the industry-defining social network for the enterprise. Millions of employees, including 85% of Fortune 500 companies use Yammer every day, to build community and culture, share knowledge, and connect with their leaders and each other. 

Why Yammer?  

Yammer was one of the first startup unicorns this past decade and was acquired by Microsoft in 2012.  Today, this means we get the benefits of a startup - rapid innovation, cutting-edge technology, outsized individual impact - with the advantages of working for one of the most successful software companies in the world. We work together in small, cross-functional teams - engineers, product managers, designers, data scientists - to design, deliver and operate delightful end user experiences to our tens of millions of users spread across the world. 

We’ve always been mission-driven; In this post-Covid world, Yammer has become even more indispensable than ever as employees have a deep need for connection and a sense of belonging. We’ve been growing rapidly and need your help to take Yammer to the next level. 

You will have:  

  • Autonomy and freedom to innovate 
  • Choice of the best of open source and Microsoft-internal technology  
  • The ability to experiment, A/B test, and make data-driven decisions 
  • Tons of opportunity for outsized impact as part of a small but mighty team on a rapidly-growing product needed now more than ever 

At the same time, you also have the benefits of working at a top-tier tech company like Microsoft:  

  • Compensation, benefits, and perks 
  • Internal resources, technology, and opportunities for learning and growth   
  • Brand and networking  
  • Opportunity for massive scale as part of a suite with hundreds of millions of users 

About this job 

Our backend engineers develop the core Yammer services that power all our experiences. As a social networking product, Yammer has tons of interesting engineering challenges - like supporting large-scale conversations with hundreds of thousands of participants. We deploy new code every day to our tens of millions of users and are constantly innovating to improve the system and deliver a delightful experience. . You will work on challenging assignments such as Nested conversations, Deep linking, Realtime feeds, Sharing, Moving conversations, Different message types, Different feed types and more. You will uplift and make the platform and experiences engaging through social and inclusive reactions, likes, commenting, upvoting and making Yammer engaging.

Our stack: 

  • Linux on Azure 
  • Java and Ruby micro services, deployed as docker containers 
  • Graph QL, DropWizard, Rails REST APIs 
  • Postgres/CosmosDB/Kafka/RabbitMQ/Redis storage and queuing 
  • Mesos container orchestration, HAProxy-based service mesh 
  • Wavefront metrics, Azure Data Explorer log aggregation, PagerDuty alerting 

Responsibilities

  • Design, build, maintain and operate services with high traffic, high resiliency with millions of users across multiple global regions
  • Create a north star vision, design and implement the next generation of Platform infrastructure that is highly performant, resilient, drives modularity, component reuse, reliability feature velocity, observability and enables next gen UX experiences
  • Partner and work collaboratively with people across Product, Design, Data analysts and Engineering teams to build scalable backend services that deliver delightful next gen UX experiences.
  • Continually seek deeper insights into the performance and scalability of our systems
  • Experiment, A/B test key hypothesis to make data driven decisions
  • Improve service reliability, performance and latencies for Yammer, by reducing mean time to recovery (MTTR)
  • Mentor, coach and develop engineers and lead by example

Qualifications

Basic Qualifications

  • BS/MS in Computer Science or a related field
  • 8 + years of experience in core software engineering building highly concurrent distributed systems
  • 5+ years of experience developing and operating cloud services
  • 5+ years of experience working on production quality externally exposed APIs, schema design, etc
  • Java, Graph QL, REST
  • Solid understanding and expertise working with variety of data stores and caches
  • Strong troubleshooting and performance tuning skills.
  • Excellent programmer: your code is maintainable, and you write tests.
  • Excellent teamwork and coordination skills with ability to create clarity from ambiguity
  • You actively mentor other engineers and show them how to go about things

Preferred Qualifications/Attributes

  • Experience with Ruby is a plus
  • Own your code through production
  • Deep curiousity about reliability and performance, up and down the stack
  • Micro services development, deployment, and monitoring
  • Working familiarity with networking protocols (TCP/IP, HTTP) and network architectures
  • Efficient, tenacious debugging skills

Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances.  We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request via the .

Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work.


Principal Software Engineer

Apply On Company Site
Back to search page
;