Kuala Lumpur, Federal Territory of Kuala Lumpur, Malaysia
Request from Client:
Since there will be 1 or 2 engineers for the beginning, we need someone with more hands-on experience in embedded circuits. Someone with practical hands-on experience.
Report to IT Head
Must have experience in developing embedded Linux applications.
Job Description:
This role is responsible for Linux/C/C++ software development and Python, Shell scripting with extensive work in designing and building high-quality, high-performance systems and embedded applications.
You will be assigned to research, design, develop, test, and maintain software solutions for our company line of products.
The successful candidate will be a responsible, motivated, self-started professional who is able to work alone as well as in a team environment.
Responsibilities:
- Research, design, develop and maintain functional and performance enhancements for existing products and develop new software products and tools.
- Design and develop applications in Linux/Python and C/C++.
- Analyze and code complex modules, define data structures, and specify test tools.
- Solve problems and create solutions for embedded systems.
- Troubleshoot, isolate, and resolve issues in moderately complex systems and components.
- Communicate effectively (written and verbal) with management, systems engineers, and other software developers on ideas and solutions.
- Successfully complete multiple simultaneous tasks in an environment with rapidly changing priorities.
- Actively participate in a small, experienced, energetic team on a rapid, agile development schedule.
- Write and maintain various hardware interfaces, in addition to higher-level I/O subsystems in C/C++.
- Design, develop, and support desktop, server, and embedded software for various products.
- Take ownership of projects and lead team members.
- Plan, document, and execute software testing activities.
- Design and implement embedded software in line with best practices.
- Perform rapid-prototyping to support functional requirement development.
- Perform deep dive analysis improving hardware and software interfaces.
- Test and validate new software features within our products and solutions and/or on the test bench.
Experience and Skills:
- Min. 5 years of software engineering experience using Linux/Python, C/C++, and Shell scripting on x86 and ARM. Experience with ArchLinux is a plus.
- Well-versed with cross-compilation toolchains.
- Strong knowledge of the Linux environment, on desktop and embedded platforms.
- Familiarity with NodeJS, RESTful web services, and Microsoft platform (C#, WPF, and WCF) is a big plus.
- Hands-on experience developing, designing, and testing IoT/embedded applications on Linux.
- Experience in all phases of the software development life-cycle.
- Thorough networking knowledge including TCP/IP socket programming and routing.
- Understanding of Android AOSP is a plus.
- Experience with source control and bug tracking tools.
- Ability to read and interpret electronics schematic diagrams is a plus.
- Early development planning.
- Work with the full life cycle of product(s).
- Design / Proof of Concept.
- Ability to proactively drive technical solutions in a collaborative environment.
Education:
- Bachelor’s degree in Computer Science, Software Engineering, Electronics Engineering, or related area is preferred.
- Certifications are a plus.
Key Competencies:
- Excellent verbal and written communication skills in English.
- Effective organizational skills.
- Must have a passion for delivering exceptional products.