Meta

Software Engineer

Job Description

Posted on: 
June 14, 2024

Meta Platforms, Inc. (Meta), formerly known as Facebook Inc., builds technologies that help people connect, find communities, and grow businesses. When Facebook launched in 2004, it changed the way people connect. Apps and services like Messenger, Instagram, and WhatsApp further empowered billions around the world. Now, Meta is moving beyond 2D screens toward immersive experiences like augmented and virtual reality to help build the next evolution in social technology

Responsibilities

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.

Job Requirements

Requires a Master’s degree in Computer Science, Computer Software, Computer Engineering, Biotechnology Innovation and Computation, Applied Sciences, Mathematics, Physics, or related field and two years of work experience in the job offered or in a computer-related occupation. Requires two years of experience in:


Coding in one of the following industry-standard languages: C, C++, Java, or C#


Building large-scale infrastructure applications


Designing and completing medium to large features independently without guidance


Experience owning a particular component, feature or system


Software development tools: Code editors (VIM or Emacs), and revision control systems (Subversion, GIT, or Perforce)


Linux, UNIX, or other *nix-like OS as evidenced by file manipulation, advanced commands, and shell scripting


Build highly-scalable performant solutions


Data processing, programming languages, databases, networking, operating systems, computer graphics, or human-computer interaction


Applying algorithms and core computer science concepts to real world systems as evidenced by recognizing and matching patterns from different areas of computer science in production systems


Distributed systems.

Apply now

More job openings