Software Engineer – Infrastructure
Company | Meta |
---|---|
Location | Burlingame, CA, USA, Fremont, CA, USA, San Francisco, CA, USA, Los Angeles, CA, USA, Menlo Park, CA, USA, Sunnyvale, CA, USA |
Salary | $70.67 – $208000 |
Type | Full-Time |
Degrees | Bachelor’s |
Experience Level | Senior |
Requirements
- Bachelor’s degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience
- 6+ years of programming experience in a relevant language or 3+ years of experience + PhD
- Track record of setting technical direction for a team, driving consensus and successful cross-functional partnerships
- Experience building maintainable and testable code bases, including API design and unit testing techniques
Responsibilities
- Collaborate with cross-functional teams (product, design, operations, infrastructure) to build innovative application experiences
- Implement custom user interfaces using latest programming techniques and technologies
- Develop reusable software components for interfacing with back-end platforms
- Analyze and optimize code for quality, efficiency, and performance
- Lead complex technical or product efforts and provide technical guidance to peers
- Architect efficient and scalable systems that drive complex applications
- Identify and resolve performance and scalability issues
- Work on a variety of coding languages and technologies
- Establish ownership of components, features, or systems with expert end-to-end understanding
Preferred Qualifications
- 6+ years relevant experience building large-scale infrastructure applications or similar experience
- Experience with scripting languages such as Python, Javascript or Hack
- Experience designing, analyzing and improving efficiency, scalability, and stability of various system resources
- Experience owning a component, feature or system
- Experience building and shipping high quality work and achieving high reliability
- Experience improving quality through thoughtful code reviews, appropriate testing, proper rollout, monitoring, and proactive changes
- Exposure to architectural patterns of large scale software applications
- Experience in programming languages such as C, C++, Java