Are you ready to be part of a leading global engineering design house specializing in the design and development of embedded software/hardware, electronics, and electro-mechanics?
What we’re looking for
• Highly motivated and dynamic professionals
• Motivated designers with broad backgrounds and service mindset to be a consultant
• Professionals with ability to work both with in-house projects and on-site assignments at our customer’s locations
What you’ll do
- Take active part in design, implementation and maintenance of embedded and mobile products.
- Work with cross functional team on integration, implementation and testing of product functionality.
- Work on performance optimization and enhancements including video streaming delay, platform boot time, CPU and memory utilization.
- Develop and integrate low level Linux and Android drivers for various peripheral devices.
- Take part in cybersecurity analysis and address gaps and vulnerabilities.
- Contribute to all stages of software development process starting from design, through implementation and test to integration and deployment.
What you need to get the job done
- 5+ years of hands on experience developing AOSP BSP and/or middleware
- Object-oriented software development experience with a solid grasp of algorithms and data structures
- 3+ years of hands on development experience with Android/AOSP components, frameworks and architecture.
- Hands-on with platform software development experience for Linux and/or Android.
- Commercial software development experience in C, C++, Java, Kotlin.
- Familiar with Android development toolkit, test frameworks and process.
- Experience with Android security subsystem: SELinux, Trusty TEE, etc.
- Experience with SCM tools, GIT, JIRA, Confluence, Jenkins, etc.
- Board bring up, using and developing Board Support Packages.
- Device driver development for peripherals and buses for Linux/Android platform: Video (MIPI), WiFi, BLE, I2C, SPI, Ethernet, USB
- Understanding of Linux and Android graphical and video subsystems.
- Understanding HW technical data sheets and experience with processor architectures: ARM, x86, MIPS, PPC
- Experience working in a Linux/Unix development environment
- Ability to perform complex diagnostic and investigation based on limited information
- Creative, discipline, strong sense of responsibility, delivery and schedule commitment
- Very good oral and written communication skills
What will make us REALLY love you
- Experience developing native Android applications
- Experience working with OpenGL for video stream processing