Job Responsibilities
- Translate application storyboards and use cases into functional applications.
- Python automation for integration
- Building custom linux kernel and SDK using Android build system
- Integration of new packages in existing product based on customer requirement.
- Integration of the upstream/open source patches of kernel into our system
- Debugging/Fixing experiences in different type of kernel issue like kernel crash, kernel package usage
· Involve in Android Board bring up and driver porting, and kernel debugging.
- Configuring YOCTO Bit-bake packages for project
· Design, build, and maintain efficient, reusable, and reliable code.
· Ensure the best possible performance, quality, and responsiveness of applications
- Identify bottlenecks and bugs, and devise solutions to these problems
- Help maintain code quality, organization, and automatization
- Documentation of High Level, Low Level design, Source code and Unit Tests
- Communication with partners, suppliers and within the team
Education & Training
- Degree in Computer Science, Information Technology, Communication Technology or a comparable qualification.
Experience
- 0 to 3 years’ experience in software development
- Successful track record and experience in developing software independently
Mandatory Skills
· Solid expertise with Android
· Board bring-up (especially Android)
· Writing/making changes to Linux kernel source code and device tree
· Version control and CI/CD (Git, Jenkins, Jira)
· At least one of the following:
o QEMU development and configuration. Upstream contributions a big plus.
o Hypervisors and virtualization, especially in an embedded context; for example assigning devices, memory ranges, processor cores and other resources between guests, keeping security in mind
o Hardware abstraction on a low level, e.g. with VIRTIO or a similar technology, as well as on middleware level.
· Scripting using Python and Bash
· Good understanding of the git workflow
· Good understanding of API/ABI compatibility and experience in porting software to maintain it
Desired Skills
· Experience with QNX or other real-time operating systems
· Experience with CMake
· Experience with OSS
· Experience with embedded development
· Programming using C/C++
Personal Skills
· Proficiency in problem solving and troubleshooting technical issues
· Excellent organizational, time management, prioritization and multi-tasking skills
· Ability to handle multiple competing priorities in a fast-paced environment
· Personal initiative, commitment, perseverance and resilience
· Well-developed communication and teamwork skills
Aspiration to engineering excellence
