Description

Job Description

  • Bachelor’s degree in Computer Science, Software Engineering or related field.
  • 6-8 years hands-on experience with Android SDK, framework and library components including a strong knowledge of different Android versions
  • Strong architectural knowledge and experience in framework-level development.
  • Minimum 5 years of experience in Kotlin or Java; familiarity with C/C++ and solid understanding of Android JNI and NDK concepts.
  • 4+ years of proven experience in multithreading and OS layer optimization for framework, diagnostics interface and threads.
  • Custom library creation for high bandwidth data processing
  • Large data management on/off devices
  • 4+ years of experience working with RESTful APIs to connect Android applications to back-end services.
  • Significant experience (5+ years) in offline storage, threading, and performance tuning.
  • Solid foundation in Object-Oriented design, SOLID principles and algorithm complexity (O-notation), data structures with at least 5 years of hands-on experience.
  • In-depth experience with Android system classes related to phone calls (VoLTE, VoWIFI, 1xCall), SMS, Messaging with other apps, Bluetooth, WIFI, IMS registration, with a minimum of 3 years of professional work.
  • Proficiency in utilizing the Linux/Unix environment for building Android applications
  • Experience in working with OEM manufacturers
  • Experience in domain-specific knowledge such as network protocols, IoT, RIL (Radio Interface Layer) and android telephony (LTE, CDMA, EvDO, WCDMA, GSM/EDGE, TCP/IP) is valuable but not mandatory.
  • Experience with cloud message APIs and push notifications is desirable.
  • Understanding of AOSP design principles and interface guidelines is preferred.
  • Proactive problem solver with strong analytical skills
  • Effective communicator with the ability to translate technical concepts to non- technical
  • Strong team player with the ability to provide technical details
  • Detail-oriented and committed to delivering high-quality software

Job Responsibilities

  • Lead the design, development, and maintenance of high-quality Android applications.
  • Architect and implement scalable and maintainable code structures.
  • Ensure adherence to coding standards, best practices, and software development
  • Utilize C++ libraries from Kotlin using Android NDK and JNI
  • Optimize the OS layer for performance, threading, and diagnostics interfaces.
  • Custom libraries creation to handle high bandwidth data processing on Android devices.
  • Develop solutions for managing large data on/off Android devices
  • Troubleshoot, debug, and resolve software defects
  • Stay updated with the latest Android trends, technologies, and development    
  • Create and maintain technical documentation for code, designs, and product requirements
  • Participate in the deployment process and ensure smooth rollouts of new features and bug fixes.
  • Collaborate with DevOps teams for continuous integration and delivery with tools like JIRA, Jenkins, Bitbucket, Gitlab
  • Work closely with other app developers and engineers to ensure project success.
  • Exercise a high degree of autonomy and ownership
  • Research approaches to solve unfamiliar problems

Location:

  • Bedminster, NJ
  • Work onsite for at least 3 days a week is required
  • You must be available for meeting and team collaboration during the day starting 8:00AM EST/EDT

Education

Bachelor’s degree in Computer Science, Software Engineering