Must have - Experience in designing and coding a web application in Hack, running at scale & Fluency in programming with Hack / PHP Relevant experience: 7+ yrs, total experience: 5+ yrs (not strict, grad school experience can count)
Our team is building state-of-the-art compute/storage/AI infrastructure in Facebook. We are looking for a software engineer, working on developing applications representative of the actual web workloads we want to quantify in terms of CPU, memory and other such performance benchmarks.
One of the typical workloads we need to benchmark is a Web based application that represents the actual workload observed in our data center servers running PHP code, this is typically written in Hack (an open source language based on PHP, developed at Facebook). Hack relies on HHVM, which is an open-source virtual machine designed for executing programs written in Hack. HHVM uses a just-in-time (JIT) compilation approach to achieve superior performance while maintaining development flexibility.
HHVM should be used together with a webserver like the built in, easy to deploy Proxygen, or a FastCGI-based webserver on top of nginx or Apache.
Responsibilities
Web app creation
Design a client/server system that can serve as a representative benchmarking application Code the application using Hack Write relevant unit tests and ensure that the application works as expected CI Integration Ensure we have continuous builds and signals for the application Running the application Deploy the application on a set of servers as directed by the team lead and ensure that the application is able to scale
● Top 3 must-have HARD skills:
1 Experience in designing and coding a web application in Hack, running at scale
2 Fluency in programming with Hack / PHP
3 Ability to work in a dynamic environment
POTENTIAL DIFFERENTIATORS
1 Experience in creating benchmarks and testing framework, visualize results (e.g., dashboards) and extract meaningful insights
2 Experience in cross-group and cross-functional collaboration with excellent communication skills
MUST HAVE
Relevant experience: 7+ yrs, total experience: 5+ yrs (not strict, grad school experience can count) Bachelor’s degree in computer science, similar technical field, or equivalent practical experience.
Fluency in programming with Hack / PHP
Ability to work in a dynamic environment Performance expectation will include speed and quality of software delivered, and ability to communicate ideas and results clearly.
NICE TO HAVE
Experience with C/C++ and its build systems [good to have] Experience in creating benchmarks and testing framework, visualize results (e.g., dashboards) and extract meaningful insights Experience with machine learning or HPC workloadsExperience in cross-group and cross-functional collaboration with excellent communication skills
- Looking for 7+ years of experience with Bachelors/Masters degree in computer science, similar technical field
- Minimum education would be bachelor's in computer science or similar technical field, or equivalent practical experience.