Software Engineer, Systems Performance (Collaboration)
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.
The Collaboration Engineering team designs and builds innovative new hardware/software products and platforms to create new ways for people to work together. This is a team composed of world-class frontend, backend, production, hardware and mechanical engineers, all working together with designers and other teams across Facebook to deliver the infrastructure to keep all of Facebook running efficiently.The team is actively seeking a senior software engineer with a passion for system performance across a complex software stack interacting closely with custom hardware. As part of this team you will design, build and improve software that can take full advantage of our latest pieces of hardware. The ideal candidate is self-driven, passionate about technology, performance and user experience, and comfortable delving into many different areas of a tech stack and working closely with hardware engineers. This is a full-time position based in our London office.
- Drive delivery of high performance embedded applications performing real-time video and audio processing on custom hardware
- Collaborate with hardware engineers to co-design hardware and software to meet product objectives
- Build products integrated within the wider Facebook video ecosystem to deliver the best possible user experience
- BS in Computer Science, Computer Engineering or related field
- 5+ years work experience in software engineering role
- Experience with developing embedded or high performance software for constrained or custom hardware
- Good knowledge of modern C++
- Knowledge of audio or video processing
- Familiarity with real-time communication
- Experience with GPUs or FPGAs