Software Engineer, Android

Meta Meta · Big Tech · New York, NY

Software Engineer role focused on developing and optimizing Android applications, working with product and design teams to create new user experiences. Responsibilities include research, design, development, testing, and maintenance of operating systems-level software, compilers, and network distribution software for Android.

What you'd actually do

  1. Research, design, develop, and test operating systems-level software, compilers, and network distribution software for user interfaces, infrastructure, and/or tools supporting applications on Android using the Android SDK.
  2. Work closely with product and design teams to build new and innovative application experiences for Android.
  3. Work on problems of moderate scope and implement custom native user interfaces using the latest Android programming techniques.
  4. Receiving general instructions on routine work and detailed instructions on new projects or assignments, build reusable Android software components for interfacing with back-end platforms.
  5. Resolve a variety of issues by analyzing and optimizing UI and infrastructure application code for quality, efficiency, and performance.

Skills

Required

  • Object-oriented software development
  • Building maintainable and testable code bases 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
  • Software development tools: Code editors (VM or Emacs), and revision control systems (Subversion, GIT, or Perforce)
  • Linux, UNIX, or other *nix-like OS including file manipulation and simple commands
  • Core web technologies: HTML, CSS, or JavaScript
  • Distributed systems including sharding, consistency, and availability
  • Algorithms