Software Engineer, Android

MetaNew York, NY
4h

About The Position

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. To apply, click “Apply to Job” online on this web page.

Requirements

  • Requires a Bachelor’s degree (or foreign degree equivalent) in Computer Science, Computer Software, Computer Engineering, Applied Sciences, Mathematics, Physics, or related field and 2 years of work experience in the job offered or in a computer-related occupation
  • Requires 2 years of experience involving each of the following:
  • Object-oriented software development
  • Android application development with Java and Kotlin, including Android SDK and Android Open Source Project (AOSP)
  • Android internals or framework services
  • Building maintainable and testable codebases, including API design and unit testing techniques
  • Multithreading programming and mobile memory management
  • C, C++, C#, or Java
  • Python, PHP, or Haskell
  • Relational databases and SQL
  • Code editors (Android Studio and VSCode) and source control systems (Mercurial)
  • Linux, UNIX, or other nix-like operating systems including file manipulation and simple commands
  • Core web technologies: HTML, CSS, or JavaScript
  • Building highly-scalable, performant solutions and distributed systems (sharding, consistency, availability)
  • Algorithms
  • Building client UIs using Litho, Bloks, and React Native
  • Bridging backend and frontend functionality via Hack and GraphQL
  • Implementing continuous integration and deployment using tools such as Jellyfish, Phabricator, Sandcastle, and Conveyor
  • Writing and maintaining end-to-end UI tests (e.g., with Jest)
  • Monitoring and diagnosing performance and reliability using Falco Events, QPL events, Hive, Scuba, Daiquery, and Presto
  • Developing dashboards and monitoring systems with Unidash, Comparison View, Program Runner, SLICK, and ODS
  • Conducting experimentation and feature rollout at scale (e.g., QE experiments, targeting GKs, analyzing Deltoid metrics)
  • Incident response and oncall processes using systems like GSD, SEV Manager, Robodial, and Multisect
  • Mentoring engineers, leading knowledge sharing initiatives, and conducting technical interviews (coding, system design, behavioral)

Responsibilities

  • Research, design, develop, and test systems supporting user interfaces, infrastructure, and/or tools for Android applications using the Android SDK.
  • Work closely with product and design teams to build new and innovative user experiences for Android, tackling problems of moderate scope, and implementing custom native user interfaces with current Android programming methodologies.
  • With routine guidance for day-to-day tasks and detailed instructions on new projects, build reusable Android software components interfacing with back-end platforms.
  • Analyze and optimize UI and infrastructure code for quality, efficiency, and performance while resolving diverse technical challenges.
  • Integrate GenAI technology (LLAMA models) into the Messenger Android app by building core product context and collaborating cross-functionally with Product Managers, Designers, Engineering Managers, and Engineering peers.
  • Manage projects by developing timelines, defining architecture, assessing risks, and filing Privacy Reviews using LAMA Launch Manager as required.
  • Bridge LLM models and client devices through Hack and GraphQL integrations, and develop client UI with Java, Kotlin, Litho, Bloks, and React Native.
  • Contribute to codebase quality through continuous integration (CI) and deployment (CD), using tools such as Jellyfish, Phabricator, Sandcastle, and Conveyor
  • write end-to-end (e2e) UI tests using Jest to ensure long-term stability.
  • Monitor and assess client-side performance, reliability, and quality via Falco Events, QPL events, performance analysis in Hive, Scuba, Daiquery, and Presto.
  • Build dashboards and monitoring systems using Unidash, Comparison View, Program Runner, and SLICK
  • set up alerts with ODS to proactively identify and resolve regressions.
  • Release features at scale (serving billions of users) through QE experiments using targeting GKs
  • analyze Deltoid metrics and collaborate with data scientists on global release decisions.
  • Maintain overall system health by participating in oncall rotation, resolving high-priority issues in GSD and SEVs (using SEV Manager), escalating via Robodial, monitoring CI with Multisect.
  • Mentor junior engineers and lead knowledge sharing sessions on GenAI and related technologies.
  • Contribute to team growth by conducting technical interviews (Coding, System Design, Behavioral), providing actionable feedback, and making hiring recommendations.

Benefits

  • bonus
  • equity
  • benefits
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service