27 days ago
Pune, IndiaSenior
Responsibilities
- Design, develop, manage, and maintain application software and board-level firmware for microprocessor- and microcontroller-based control boards.
- Monitor and control thermal products, generate diagnostic data, and support data traffic across northbound and southbound communication buses.
- Design, implement, and support complex PID algorithms and document findings.
- Create functional, architecture, and design specification documents.
- Conduct unit and bench testing and validate software and firmware releases according to standard procedures.
- Analyze legacy software and firmware implementations to understand existing functionality and defects.
- Research software and firmware best practices, coding guidelines, and process improvements.
- Research software and firmware installations at customer sites for prototype units.
- Handle and support customer questions and visits related to relevant issues.
- Collaborate with firmware team members across different geographic locations.
Requirements
- Engineering, Electronics, Information Technology, or Computer degree, or equivalent study with experience in embedded software.
- Proficiency in C or C++.
- Knowledge of data structures, algorithms, operating system concepts, processes, threads, task and memory management, file systems, and interprocess communication.
- Experience developing embedded applications for microprocessors or microcontrollers.
- Hands-on experience with TCP/IP-based protocols, CAN, I2C, UART, and SPI.
- Hands-on experience developing peripheral device drivers for A/D and D/A converters, Flash and EEPROM memory, random number generators, HMI, RTC, timers/counters, and PWM.
- Experience with GitLab and software requirements or sprint management tools such as Rally and Jira.
- Familiarity with digital oscilloscopes, digital multimeters, GDB, Wireshark, Nmap, Coverity, SonarQube, Visual Studio Code, STM32 Cube, and PyCharm.
- Good analytical and problem-solving skills and willingness to learn new concepts and domain knowledge.
