Responsibilities:
The Embedded/Senior Embedded Engineer (Linux) is responsible for delivering projects and liaising with clients to deliver customized Embedded solutions.
- Lead design, implementation, and maintenance of Linux systems and applications.
- Participate in project planning and management.
- Perform Testing, defect tracking, bug fixing, version/release control and other process control mechanism for software development.
- Develop automated tests to ensure business needs are met, and allow for regression testing.
- Create quality proof-of-concept mock-ups and prototypes for user, customers and product owner.
- Produce Technical Document for software developed.
- Stay up-to-date with emerging Embedded System technologies and best practices.
Skills and Qualifications
- Process strong understanding of Linux and a strong background in embedded Linux operating system.
- Experiences designing and implementing software that runs on different CPU architectures like ARM, RISC-V and x86.
- Expertise in developing boot mechanisms, boot loader, strong partition layouts, device tress, kernel, services and user-space applications to manage system via RESTful APIs.
- Proficiency in programming languages like C, C++, Python and bash scripting.
- Hand-on experience with build environment like CMake, Bazel and Makefiles.
- Ability to integrate vendor pre-built bootloader and kernel binary into SW development flow is a MUST.
- Expertise in hardware and embedded systems is an advantage.
- Familiarity with secure boot, encrypted filesystems, Trusted platform modules will be a Plus.
- Knowledge of Linux Kernel, file system, process management and performance profiling will be a Plus.
- Experience customising Linux packages using Yocto, Bitbake, and/or OpenEmbedded will be a Plus.
Requirements:
- The candidate is preferable with at least a degree in computer science, engineering, or a related field.
- Minimum 3 years of hands-on embedded systems (Linux) experience
- The ability to communicate technical information clearly and succinctly to both technical and non-technical team
- Strong analytical and problem-solving skills
- Those with relevant experience will be considered for Senior positions.
- Mature and able to handle tasks independently, result-oriented, and self-driven team player with good communication skills.
- Good personality, responsible, hardworking person.
- Fast learner and good soft skills.
- Process excellent team spirit and good leadership.