Mô tả công việc
Role Mission
The Software Engineer will participate to the definition of the software architecture under the leadership of his/her supervisor and will autonomously develop and debug some of the software elements.
Main Responsibilities
- Solicit, generate and manage requirements related to SW components;
- Apply internal process for new product development;
- Design and implement complex software subsystems and whole systems within a larger embedded product using software engineering best practices.
- Take design choice autonomously and validate that in a cooperative process and be able to lead deep technical discussion;
- Troubleshoot the design, drive the relation with Validation and Verification team in a fruitful manner;
- Study and benchmark the competitor’s products;
- Preparing reports, manuals and other documentation on the status, operation and maintenance of software;
- Participating in peer-reviews of solution designs and related code.
Technical Skills
- Strong technical skills including understanding of software development principles.
- Knowledge about embedded system (hardware, MPU)
- Knowledge of programming languages (C/C++ 17, python, scripting languages)
- Familiar with Linux user space programming and debugging
- Familiar with Linux kernel space and driver programming (device drivers for I2C, SPI, Ethernet)
- Familiar with Yocto project
- Knowledge of common development tools (GIT, Jenkins, CMAKE).
- Familiar using developer tools as debugger, oscilloscope.
Soft Skills
- Interpersonal abilities, ability to work with a team, attention to details, flexibility and creativity, proactive, project management skills, capability to work in a dynamic international team and in a complex environment, problem solving attitude, open minded.
- Anticipate needs and potential technical issues and roadblocks in the development phase; shows initiative, ownership, and commitment; sustains a consistent, high level of productivity. Good at understanding and resolving issues and opportunities, evaluating them from different perspectives. Customer oriented; looks for solutions to augment customer or supplier’s satisfaction.
Requirements
- Education: Software Engineering or Computer Science or related major
- Language: Proficency in English
- Year of Experience: 2-4 YOE in C++ programming or Linux kernel space programming