- Research, design, develop, build and test operating systems-level software, compilers, and network distribution software for large distributed components that run applications.
- Build new features and improve existing products.
- Work on problems of diverse scope and design core, backend software components.
- Handle large scale data storage, synchronization and coordination of large server cluster, and provide a runtime environment for front end code.
- Receiving little instruction on day-to-day work, code using primarily C/C++, Java, PHP and Hack.
- Interface with other teams to incorporate their innovations and vice versa.
- Conduct design and code reviews.
- Analyze and improve efficiency, scalability, and stability of various system resources.
- Complete medium to large features (each with many tasks) independently without guidance.
- Identify and drive changes as needed for assigned codebase, product area and/or systems.
- Telecommuting is permitted from anywhere in the US.
- Bachelor's degree in Computer Science, Computer Software, Computer Engineering, Applied Sciences, Mathematics, Physics, or related field and 60 months of experience in job offered or in a computer-related occupation.
Requires 60 months of experience in the following: - 1. Coding in one of the following industry-standard languages: C, C++, Java, or C#
- 2. Building large-scale infrastructure applications
- 3. Designing and completing medium to large features independently without guidance
- 4. Experience owning a particular component, feature or system
- 5. Python, PHP, or Haskell
- 6. Relational databases and SQL
- 7. Software development tools: Code editors (VIM or Emacs), and revision control systems (Subversion, GIT, or Perforce)
- 8. Linux, UNIX, or other *nix-like OS including file manipulation and simple commands
- 9. Core web technologies: HTML, CSS, or JavaScript
- 10. Building highly-scalable performant solutions
- 11. Design scalable distributed systems with established partition tolerance, consistency, and availability guarantees
- 12. Data processing, programming languages, databases, networking, operating systems.
Individual pay is determined by skills, qualifications, experience, and location. Compensation details listed in this posting reflect the base salary only, and do not include bonus, equity or sales incentives, if applicable. In addition to base salary, Meta offers benefits. Learn more about benefits at Meta.