Facebook's mission is to give people the power to build community and bring the world closer together. Through our family of apps and services, we're building a different kind of company that connects billions of people around the world, gives them ways to share what matters most to them, and helps bring people closer together. Whether we're creating new products or helping a small business expand its reach, people at Facebook are builders at heart. Our global teams are constantly iterating, solving problems, and working together to empower people around the world to build community and connect in meaningful ways. Together, we can help people build stronger communities - we're just getting started.
Production Engineering is a hybrid software/systems group that ensures Facebook's services run smoothly and have the capacity for future growth. Production Engineers work with all of Facebook's other product and infrastructure teams, at times embedded in those teams.
Managing a Production Engineering team requires a comprehensive understanding of a wide range of technologies, a focus on growing and developing the skills and talents of your team, and a relentless drive to focus on high-value projects and to prioritise ruthlessly.
1. Manage engineers working with the engineering teams on our back-end services like our Hadoop data warehouses, front-end services like Chat and Newsfeed, infrastructure components like our Memcache infrastructure, and everything in between
2. Work closely with dedicated recruiting staff to expand the team, including sourcing candidates, interviewing candidates, participating in conferences/events, and onboarding new employees
3. Understand technical architectures, capacity plans, tooling needs, automation plans, product launch plans, and other issues and create comprehensive plans for prioritizing technical and resourcing challenges
4. Assess employee performance frequently, address under-performance, and recognise and promote performance
5. Balance the need to "keep things running" with allocating time to long-term, high-impact projects
6. Partner with product management, program management, network engineering, site reliability operations, and other related groups
7. Help engineers develop their careers, assigning them to projects tailored to their skill levels, long-term skill development, personalities, and work styles
8. BS or MS in Computer Science, Engineering, or a related technical discipline or equivalent experience
9. At least 5+ years of direct management experience in a technology company OR extensive experience as a technical lead and formal project management or business training
10. Experience with hiring and performance management, including working with under-performers
11. Sound knowledge of UNIX and TCP/IP network fundamentals
12. Ability to code well in at least one language (even if it is not one that Facebook uses)
13. Ability to rapidly learn new software languages, frameworks and APIs quickly
14. Sharp and tenacious troubleshooting skills: you can fix anything
15. Ability to perform 'guerrilla capacity planning' for internet service architectures
16. Good knowledge of basic large-scale internet service architectures (such as load balancing, LAMP, CDN's), even if you haven't worked on one
17. Familiarity with common applications such as Apache, memcached, Squid, MySQL, NFS, DHCP, NTP, SSH, DNS, and SNMP
18. A healthy respect for our motto 'Move Fast and Break Things,' but always make sure you know how to fix them too
19. Good communications skills