Roles & Responsibilities
- Design and implement software of embedded devices and systems from requirements to production and commercial deployment.
- Design, develop, code, test, and debug system software.
- Review code and design.
- Analyse and enhance efficiency, stability, and scalability of system resources.
- Integrate and validate new product designs.
- Support software QA and optimize I/O performance.
- Interface with hardware design and development.
- Assess third-party and open-source software.
Skills Requirements
- BS/BE/B.Tech/ MS/ME/MTech degree in EC/EE/CE/CS or closely related degree is strongly preferred; but substantial, relevant, outstanding work experience may be suitable in some cases.
- Strong written and verbal communication skills in the English language.
- Embedded Software with sound fundamentals of C programming.
- Knowledge of the RTOS, Linux (Preferable).
- Microcontroller or microprocessor programming.
- Knowledge of Wireless technologies BLE, Wi-Fi, cellular, etc.
- Proven working experience in software engineering.
- Familiarity with software configuration management tools, defect tracking tools, and peer review.
- Excellent knowledge of OS coding techniques, IP protocols, interfaces, and hardware subsystems.
- Adequate knowledge of reading schematics and datasheets for components.
- Strong documentation and writing skills.
- Multitasking real-time operating systems.
Personal Competency
- Able and willing to work in a team-oriented, collaborative environment.
- A demonstrated ability to prioritize and execute tasks to achieve goals in an innovative, fast-paced, and often high-pressure environment.
- Proven analytical and creative problem-solving abilities.
- Passionate about writing clean and neat code that adheres to coding guidelines.