At HED, Inc. we are customer focused, respectful, passionate, collaborative, and agile – guided by our mission to create innovative quality products that make a difference when it matters, enabling a better, safer, connected world. Our people understand the velocity at which our hi-tech markets change, ever driving the need for curious, future oriented teammates to help us continuously improve our processes, products, and service. Accountable to ourselves, each other, and our customers, because we understand our success depends on world-class products and service delivered on time by an empowered and engaged team. We share success with continued learning, rewards, recognition, flexibility, and celebrations. Proud of what we do and how we do it.
We are one team, one voice, one outcome and we are looking for a Sr. Software Engineer – Microcontrollers to join us and help make a difference when it matters!
As a Software Engineer I – Microcontrollers, you are passionate about software development best practices. You complete assignments by following prescribed procedures and guidance from subject matter experts of the software team. Spends time working on continuous improvements of your skills, products they work on, and processes used for development. This engineer will help HED develop embedded modules for controlling functions on applications such as fire trucks, construction equipment, and military vehicles.
This individual demonstrates a curious and pragmatic mind with the capacity to learn. They participate in the application of customer and industry specifications, authoring design documentation test procedures, and test reports, and developing software that satisfies a wide range of internal and external requirements.
If you enjoy the challenge of a growing organization, and want to make a difference when it matters, we would love to hear from you. Salary commensurate with experience.
ESSENTIAL DUTIES and RESPONSIBILITIES:
- Work in an agile team culture, closely collaborating with other team members.
- Participate in developing clear project requirements based on (internal / external) customer needs, government regulations, and industry standards.
- Support development and maintenance of microcontroller-based software and lifecycle data including software requirements, design documentation, source code, test procedures, and test reports from automated, manual, and unit tests.
- Identify, track, and correct software defects.
- Support root-cause analysis and corrective action activities.
- Collaborate with outsourced vendors.
- Collaborate with the electrical design team on new hardware designs.
- Support investigations into issues that are impacting Production’s ability to build and deliver products.
- Provide customer technical support.
- Other typical software development tasks as needed.
An individual in this position must be able to successfully perform the essential duties and responsibilities listed above. Reasonable accommodation may be made to enable individuals with disabilities to perform the essential functions of this position.
The above list reflects the general details necessary to describe the principle and essential functions of the position and shall not be construed as the only duties that may be assigned for the position.
MINIMUM QUALIFICATIONS:
Education:
- BS Degree in Electrical Engineering, Computer Engineering, or related field
Experience:
- Zero to Three years of relevant design experience
Skills:
- Proficient with programming in C.
- Proficient with working in a Windows environment, including MS Word and Excel.
- Experience working with hardware, schematics, and component datasheets.
- Experience working with standard lab equipment such as power supplied, digital multimeters, oscilloscopes, and logic analyzers.
- Knowledge of programming concepts, practices, and procedures.
- Knowledge of software version control.
- Knowledge of test equipment such as emulators, debuggers, multimeters, and oscilloscopes to debug and verify proper operation of hardware and software.
Abilities:
- Participate in cross functional teams (matrix environment).
- Work in an agile development environment.
- Demonstrate good verbal and communication skills.
- Create product documentation such as test reports and user guides.
- Travel typically under 5%.
PREFERRED QUALIFICATIONS:
Skills:
- Proficient with scripting languages such as Bash or Python.
- Proficient with C++.
- Experience using Git for software version control.
- Experience working with open-source software.
- Knowledge of Real-Time Operating Systems such as FreeRTOS.
- Knowledge of scrum development practices
- Knowledge of software quality best practices (build/test automation, software design, code reviews).
- Knowledge of implementing unit tests for software including test driven development.
- Knowledge implementing build pipelines.
- Knowledge of developing drivers for microcontroller peripherals.
- Knowledge developing boot loaders and flash reprogramming.
- Knowledge of PWM drivers.
- Knowledge of ADC drivers.
- Knowledge of serial communications protocols such as CAN, LIN, and Ethernet
Abilities:
- Demonstrate good software and hardware debugging skills.
- Support root-cause analysis investigations.
- Work on embedded hardware systems.
- Perform pull requests for software updates.
- Read electrical schematics and provide feedback during design reviews.
- Use multimeters, oscilloscopes, logic analyzersand other test equipment to troubleshoot and verify the proper operation of software and hardware.
PHYSICAL AND MENTAL DEMANDS:
While performing the duties of this job, the employee is frequently required to sit, talk and/or hear, and/or use hands to finger, handle, or touch objects, tools, or controls. The employee is occasionally required to stand, and/or walk. The employee must occasionally lift and/or move up to 10 pounds while moving files or small packages. Specific vision abilities required by this job include close vision and the ability to adjust focus.
The mental and physical requirements described here are representative of those that must be met by an individual to successfully perform the essential functions of this position.
WORKING ENVIRONMENT:
Work is performed in an office environment or at customer sites when travelling. The noise level in the work environment is usually moderate. Infrequent travel to a customer’s location may be required and may include factory or test environments. The work environment characteristics described here are representative of those an individual encounters while performing the essential functions of this position.