- 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-today 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 system.
- Telecommuting is permitted anywhere in the U.S.
- Requires a Bachelor’s degree (or foreign degree equivalent) in Computer Science, Engineering, Information Systems, Mathematics, or related field and 5 years of post-progressive, baccalaureate experience in the job offered or a related occupation.
- Requires 60 months of experience involving the following:
- 1. Coding in C, C++, Java, or C#
- 2. Building large-scale infrastructure applications
- 3. Creating web applications using Python, PHP, or Ruby
- 4. Relational databases and SQL
- 5. Full stack web/mobile application development
- 6. Conducting design and code reviews
- 7. Building maintainable and testable codes bases including API design and unit testing techniques
- 8. Multithreading programming and mobile memory management
- 9. Building highly-scalable performant solutions
- 10. Linux, UNIX, or other *nix-like OS as evidenced by file manipulation, advanced commands, and shell scripting
- 11. Client-server communication patterns including REST, GraphQL, or gRPC
- 12. Dependency injection and scoped access to shared resources
- 13. Data structures and algorithms
- 14. File systems, server architectures, and distributed systems
- 15. Design scalable distributed systems with established partition tolerance, consistency, and availability guarantees
- 16. Debugging or benchmarking and
- 17. Building secure software with auditable access controls and permissions.
Individual compensation is determined by skills, qualifications, experience, and location. Compensation details listed in this posting reflect the base hourly rate, monthly rate, or annual salary only, and do not include bonus, equity or sales incentives, if applicable. In addition to base compensation, Meta offers benefits. Learn more about benefits at Meta.