- 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.
- Lead complex technical or product efforts to resolve a wide range of issues in creative ways.
- Provide technical guidance and mentorship to peers.
- Work closely with product and design teams to build new and innovative application experiences for Android.
- Work on problems of diverse scope and implement custom native user interfaces using the latest Android programming techniques.
- Receiving little instruction on day-to-day work, build reusable Android software components for interfacing with back-end platforms.
- Analyze and optimize UI and infrastructure application code for quality, efficiency, and performance.
- Telecommute from anywhere in the U.S. permitted.
- Requires a Bachelor's degree in Computer Science, Computer Software, Computer Engineering, Applied Sciences, Mathematics, Physics, or related field, followed by five years of progressive, post-baccalaureate work experience in the job offered or in a computer-related occupation. Requires five years of experience in the following:
- Object-oriented software development
- Building Android applications in Java using Android SDK
- Leading complex technical projects
- AOSP (Android Open Source Project)
- Android internals or frameworks services
- Coding in Java
- Building maintainable and testable codes bases including API design and unit testing techniques
- Multithreading programming and mobile memory management
- Software development tools: Code editors (VIM 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
- Building highly-scalable performant solutions
- Design scalable distributed systems with established partition tolerance, consistency, and availability guarantees
- 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.
Individual pay is determined by skills, qualifications, experience, and location. Compensation details listed in this posting reflect the base salary only, and do not include bonus, equity or sales incentives, if applicable. In addition to base salary, Meta offers benefits. Learn more about benefits at Meta.