Overview

Responsibilities:

  • Design, develop and test Android apps for phones and other Android based devices
  • Design and implement effective user-interfaces for the apps consistent with UX best-practices and branding requirements
  • Develop app-interfaces with hardware peripherals (wireless and wired) as required by the product specifications
  • Develop unit and module tests, and automate testing using tools and frameworks
  • Maintain and enhance existing and new mobile apps and systems
  • Document and maintain system documentation (design, algorithms, approaches, etc.)
  • Participate in and contribute to app and systems design, review and deployments
  • Collaborate with the software leads and managers in planning and reporting
  • Mentor and guide junior developers as needed

Required Qualifications:

  • Strong analytical and creative problem-solving skills to handle complexity, resolve design issues and create new software
  • 8+ years experience in developing applications and frameworks for embedded system running Linux/Android/RTOS development (iOS experience will be a plus)
  • A solid understanding of network communications technology – Internet, Intranet, VPN, TCP/IP, Ethernet, IPv4, IPv6 etc
  • Knowledge on device level driver development. Experience with OS
  • Experience with developing OTA solutions and remote applications will be preferred.
  • Solid knowledge of Java and Kotlin, and the Android SDK
  • Experience in embedded/NDK Android development will be a plus
  • Strong experience in Object Oriented Design (OOD) and Object-Oriented Programming (OOP)
  • Experience with integration to REST APIs, messaging systems (MQTT) and other web-services
  • Experience with the Android CLI, IDE (Android Studio) and other development tools
  • Experience with Continuous Integration (CI) and Continuous Delivery (CD), VCS (Git and GitHub) and ticketing systems (JIRA)
  • Knowledge of continuous and automated testing/publishing of mobile apps
  • Experience with agile development methodologies
  • Experience technically mentoring and/or leading other developers will be a plus