Overview
Develop firmware for embedded products including UPS systems, Powershelf, Industrial Gateway Cards and ePDUs, working closely with global teams on customer support, new features and enhancements.
What you'll do
- Break down product and system requirements into firmware requirements.
- Develop module and system level code in C and C++ on embedded systems.
- Take part in technical design, including architecture.
- Provide project, process and technical support to the lead, and contribute to product development and technology innovation.
- Participate in agile development planning.
- Plan design releases by coordinating with global stakeholders on all new firmware activities.
- Generate ideas and innovative solutions that give business products a competitive edge.
- Design and implement high-performance application firmware based on RTOS, Embedded Linux on ARM, and bare metal.
- Evaluate business and technical requirements and identify new solutions.
- Work directly with stakeholders, engineering and test to create high quality products that solve customer problems.
- Propose and implement innovative, competitive technical solutions with significant business impact.
- Provide work estimates and conduct design, implementation and code reviews.
- Develop and execute plans for incremental and interactive project delivery.
- Author high-quality, unit-tested code.
- Work with the test team to ensure adequate test case coverage.
- Identify opportunities for process, tools and technology improvements and drive them from concept to implementation.
- Estimate workload, establish and maintain project schedules, and monitor progress through project execution phases.
- Communicate actively with cross-functional teams to keep schedule, cost and performance aligned.
- Contribute to team technical growth through technical discussion and mentoring.
- Oversee system testing and validation with the testing and validation team.
What you'll need
- Bachelor's degree in Computer Science, Electronics or Electrical Engineering.
- 3-6 years of extensive experience in embedded C and C++ programming, with experience in operating systems and data structures on embedded systems.
- Strong knowledge of embedded firmware development and troubleshooting.
- Extensive experience in C and C++.
- RTOS experience, such as FreeRTOS or equivalent (threads/tasks, synchronization, scheduling, message queues, semaphores, mutexes and events).
- Awareness of Linux fundamentals and programming.
- Debugging experience, such as J-Link debugger with IAR ARM for STM32.
- Experience with communication protocols (ModBus TCP/IP, CAN, USB, RS232/485, SPI, I2C, SNMP).
- Experience with peripherals (DMA, LCD, FLASH, RAM, ADC, DAC, PWM, voltage/current/temperature sensors).
- Ability to read schematics and interpret the behavior of electronic systems.
- Familiarity with JIRA and Confluence, GitHub or similar.
- Familiarity with BlackDuck and Coverity tools.
- Familiarity with MQTT, TRAP, SNMP, SSL certificates, boot loader, SYSLOG, serial, Telnet, HTTP, HTTPS, FTP, FTPS, TLS, FreeRADIUS, OpenLDAP and data encryption/decryption.
- Familiarity with Java and Python.
- Experience with embedded Linux on ARM processors.
- Good communication skills in English, verbal and written, to communicate with customers and technical staff.
- Works effectively in ambiguity; passionate and proactive.
Nice to have
- Experience handling end-to-end IoT device lifecycles.
- Familiarity with network protocols or IoT.
- Experience with cybersecurity approvals and processes.
- Good team player.
Details
- Location: Hadapsar, Pune, Maharashtra, India.
Read the full description and apply on the company’s own careers page.