Firmware Engineer (Senior to Advisor level)
Halliburton | Singapore, Singapore
- Under general direction, responsible for defining requirements, functional specifications and testing documentation for engineering embedded applications, which varies in scope and complexity.
- Ensures that the Technical Firmware Development process is followed on the development project. Works with others to improve the process. Designs, codes, tests, troubleshoots, and documents engineering embedded applications.
- Works as part of a project team or as a leader of a defined section of a major project. Develops project plans, functional specifications and schedules. Assists in determining product needs and enhancements.
- Contributes to Halliburton’s Intellectual Property portfolio by delivering innovative and commercially successful solutions. Creates an impactful relationship with Halliburton’s technical community, customers, and vendors by proactively collaborating with key stakeholders. Participates in professional societies in area of specialization.
- Works effectively as a team member by communicating clearly and efficiently to provide innovative solutions.
- Takes the initiative to go beyond what situations require and focuses on attention to detail by making sure that work is done correctly, completely, and to the highest standards.
- Bachelor/Master’s Degree in Computer Science, Electrical Engineering or similar discipline, and with at least 4 years of related experience
- Ability to troubleshoot complex issues, selecting and using appropriate debugging tools.
- Design architecture of embedded systems, test and debugging plans.
- Capability of assessing embedded design on physical system (power, timing, etc.)
- Good understanding of digital and analog circuits. Familiar with electronics equipment used for circuit analysis/troubleshooting (e.g. Oscilloscope).
- Understanding of memory mapping, memory types, memory map peripherals, interrupts
- Good knowledge and experience in C/C++ on embedded platform.
- Deep understanding and hands on development experience with ARM microcontrollers using RTOS in complex multi-team environment.
- Familiar with data encoding/decoding/compression techniques, design and implementation of digital filters and DSP algorithms, DFT, data analysis and interpretation skills, hands on experience on fixed as well as floating point processors.
- Experience with onboard communication protocols (e.g., SPI, I2C) as well as device level communication protocols (e.g., CAN, RS232/485, Ethernet, etc..)
- Proven hands-on experience with peripheral driver development, troubleshooting & testing.
- Familiar with 16/32-bit Microprocessors, ADC, DAQ, etc.
- Good knowledge on firmware boot loading and upgrade through communication interface.
- Experience on Motor Control development is a plus
- Good personal, professional, teamwork and communication skills are required.
- Availability for international trips.
Candidates having qualifications that exceed job requirements will receive consideration for higher level roles given (1) their experience, (2) additional job requirements, and/or (3) business needs.