

Software Engineer (Android)
Job Description
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
Responsibilities
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.
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.
Resolve a wide range of issues in creative ways by analyzing and optimizing UI and infrastructure application code for quality, efficiency, and performance.
Telecommuting is permitted from anywhere in the U.S.
Job Requirements
Requires a Master's degree or foreign equivalent in Computer Science, Engineering, or a related field and 36 years of experience in the job offered or in a computer-related occupation.
Requires 36 months of experience involving the following:
1. Object-oriented software development
2. Building Android applications in Java using Android SDK
3. AOSP (Android Open Source Project)
4. Android internals or frameworks services
5. Coding in Java
6. Building maintainable and testable codes bases including API design and unit testing techniques
7. Multithreading programming and mobile memory management
8. Software development tools: Code editors (VIM or Emacs), and revision control systems (Subversion, GIT, or Perforce)
9. Core web technologies: HTML, CSS, or JavaScript
10. Building highly-scalable performant solutions
11. Algorithms
12. Leading complex technical projects
13. Designing scalable distributed systems with established partition tolerance, consistency, and availability guarantees
14. 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
15. Distributed systems.