Software Engineer, Facebook Connectivity

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.

More than half the population of the world are not yet connected to the Internet. Facebook Connectivity is doing research to develop next generation technologies to connect everyone on the planet to the Internet. Facebook is looking for software engineers to help develop state of the art communication systems to deliver internet access. You will work with both RF and optical communication systems, and be expected to write code at all layers of the stack. In addition, a successful candidate will thrive in a multi-disciplinary environment, learning from and working with people who have varied engineering and science backgrounds. Outside of software development, your duties may involve evaluating third party and open source software, interacting with various other Engineering teams and working with communication hardware vendors. This is a full-time position based in our Northridge, CA office.


  • Design software for RF and optical communication terminals including: physical and link layer algorithms and processing, analog and digital interfaces, and monitor and control consoles.
  • Interface with hardware, electrical, mechanical, RF, optical, and software engineers to understand system architecture.
  • Perform component and system level testing in both laboratory and operational environments.
  • Collaborate with Network Engineering team to automate processes, and build software infrastructure for embedded development and analysis.
  • Knowledge of C, C++, Python, HTML, *nix.
  • B.S. or M.S. in Computer Science, Electrical Engineering or a related discipline.
  • Experience with software design and implementation for embedded systems.
  • Knowledge of real-time operating systems (RTOS), interfaces for data acquisition and control, and device drivers.
  • Experience with hardware-in-the-loop testing and validation including the use of network test equipment as well as lab test equipment such as spectrum analyzers, oscilloscopes, and frequency synthesizers.
  • Knowledge or experience in the following: ARM architecture, small to medium scale software development, test suite development, distributed code repositories, and embedded Linux.

Back to top