What You'll Do
The Senior Firmware Engineer shall be responsible for development of firmware for embedded products for UPS systems, Industrial Gateway Cards and ePDU's. The incumbant needs to work closely with global teams to drive project execution through customer support, new feature additions and enhancement of existing features. Some of the functions of this role include:
- Breaking down product/system requirements to firmware requirements, developing module & system level code using programming languages such as C and C++ on embedded systems.
- Involve in technical design including architectural. Providing project, process, and technical support to the lead on project activities along with contribution to product development & technology innovations.
- Participate in agile development planning efforts.
- Plan design release by coordinating with global stakeholders for all new firmware activities
- Generate ideas and innovative solutions which will provide competitive edge to business products.
- Firmware development efforts through the design and implementation of world class, high-performance application firmware based on RTOS / Embedded Linux on ARM and bare metal design.
- 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 and competitive technical solutions that make significant business impacts and provide value to stakeholders.
- 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 test team to ensure adequate and appropriate test case coverage.
- Identifies opportunities for process, tools, and technology improvements, and drives those from concept to implementation.
- Estimate work load, establish and maintain project schedules and monitor progress through the project execution phases. Active communication with the cross functional team to ensure schedule, cost and performance alignment
- Contribute to team's technical growth by engaging in technical discussion and mentoring.
- Oversee system testing and validation working with testing and validation team.
- Familiarity with Network protocols or IOT
- Cybersecurity approvals/process
Qualifications
- Required: Bachelor's degree in Computer Science /Electronics/Electrical Engineering
- 5-8 years of extensive experience in embedded C programming, experience with operating systems( RTOS) , data structures on embedded system.
Skills
Strong knowledge of embedded firmware development and troubleshooting
- Extensive Experience in C
- RTOS experience FreeRTOS or equivalent (threads/tasks, synchronization, scheduling, message queues, semaphores, mutexes and events).
- Debugging experience - Like 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/temp sensors).
- Ability to read schematics and interpret the behavior of electronic systems.
- Familiar with JIRA and Confluence, SVN, Bitbucket or similar
- Familiar with BlackDuck, Coverity tools
- Expeience with embedded Linux on ARM procesors
- Experience in design of complex state machines
- Experience with Model-based state machine design
- Basic understanding of control theory (MATLAB/Simulink) and familiarity with closed loop controls
- Ability to demonstrate knowledge of power Electronics
- Control systems and PE
Good To Have
Regulatory Compliance: Knowledge of industry-specific regulations and standards is a plus, especially in the context of UPS, battery chargers, lithium-ion batteries, EV chargers, and EV control systems.
Good team player, Good communication skills in English (verbal and written) to communicate information effectively to customers, and technical staff, works effectively in ambiguity, passionate and pro-active
]]>