Software Engineer, Storage Hardware
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.
Facebook is seeking a Software Engineer to join our Storage Hardware team. We are looking for a Software Engineer that is passionate about hardware and enjoys working closely with hardware design engineers and storage application teams. This position is full-time and located in our Menlo Park office.
- Develop/test and deploy hardware abstraction layers for storage hardware.
- Prototype, evaluate and deploy flash storage protocols for Facebook environment.
- Collaborate with several storage service teams to develop strategies that enable Quality of Service, latency control, redundancy and volume management for flash based storage.
- Develop Facebook storage system management utilities for Facebook hardware.
- Collaborate with Storage Service teams to understand their future hardware needs and requirements.
- Work with open source community to develop and improve NVMe utilities for Facebook use cases.
- Work with outside vendors on RAID, HBA, HDD and SSD.
- Develop utilities for block level event logging for device monitoring.
- Develop unified storage monitoring framework.
- Create test suites for production and validation to stress software for reliability stability.
- Work with hardware team on board bring up, Bit Error Rate testing, and other hardware tests.
- Benchmark storage devices and products.
- Develop and document requirements for various server firmware.
- Bachelor's degree in Computer Science or Electrical Engineering
- 5+ years of experience with Linux kernel and device driver model
- 5+ years of experience scripting with PHP, Python or Perl
- 5+ years of experience coding with C/C++
- Familiar with latest server architecture and components
- Troubleshooting and analytical skills
- Experience with storage protocols (SAS/SATA/etc.) and protocol analyzers
- Knowledge of SCSI command sets
- Experience with SCSI Enclosure Services (SES)
Back to top