Job Details
Sr. Embedded Software Engineer
Position Overview
Senior software (firmware) developer position that involves being a part of R&D group that develops complex software products for the electric utility market. The individual should be a strong Linux developer capable of architecting and implementing highly complex embedded software in higher-level languages for embedded microprocessor-based systems. The individual must have proven track record for Linux-based development, experience with programming languages, with ability to use in-circuit emulators as well as source code level debugging tools
Duties and Responsibilities
- Perform driver development on ARM processors in the Linux development environment (Examples: CPU-DDR, CPU-FPGA, CPU-NVRAM, CPU-DSP, CPU-PHY etc)
- Perform software development at Linux applications level to add new product features and/or for bug fixes
- Design and develop Linux-based embedded firmware based on requirements specifications (C, C++)
- Perform uboot level changes, troubleshooting for ARM processors in the Linux environment, as required
- Interface third-party software stacks with main firmware application running in the ARM processors, as required
- Efficiently work in a fast-paced, goal-oriented product development environment
- Participate in firmware architecture development, reviewing design specifications with other cross-functional teams
- Help with requirements breakdown analysis as required
- Support Production, Service, Test, and Sales in all phases of product development including post-engineering support
Skills and Experience
- BSEE or BSCS degree with a minimum of 8 years of Linux-based embedded firmware development for industrial products. MSEE preferred
- At least 8 years’ experience with Linux-based "C", "C++" development. Must be a strong Linux developer
- Must have uboot level experience for ARM processors in development environment
- Proven track-record for firmware development at Linux applications level (based on business-logic) for feature additions/implementation, extensive knowledge of Linux kernel and driver development
- Proven track-record for successful product development/enhancement based on legacy firmware
- Demonstrated use of static code analysis tools such as “Source Insight”, “SonarQube”, “Klocwork/Rogue Wave” etc. during firmware development
- Familiarity with TI’s ARM processors. Experience with Sitara family is preferred
- Strong ability to troubleshoot and perform root cause analysis. Proven ability to own problems to get them resolved
- Strong team player with excellent verbal and written communication skills
- Must be self-driven, achievement oriented with ability to work on multiple development projects concurrently
- Familiar with SDL processes (Secure Development Life Cycle) and have used tools(like Checkmarx/Mend) to identify cyber security vulnerabilities in product development
- Responsible for being a security lead for product development
- Familiarity with communication protocols SNMP, DNP, IEC61850 is a plus
- Familiarity with DSP and PIC controllers is a plus
- Familiarity with telecommunications equipment/product is a plus
- Ability to read schematics and debug analog and digital hardware using oscilloscope, logic analyzer and similar tools for troubleshooting
- Experience with SQLite, Bash, Perl scripting desirable
- Extensive experience with creating software/firmware testing is a plus
- Familiar with SDL processes (Secure Development Life Cycle) and have used tools(like Checkmarx/Mend) to identify cyber security vulnerabilities in product development
- Responsible for being a security lead for product development
#LI-EC1
Hubbell Incorporated, its subsidiaries and affiliates, is an EO Employer AA: M/F/Veteran/Disability. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, disability, protected veteran status, sexual orientation, gender identity or any other protected class.