Job Description
Job Title: EMBEDDED SOFTWARE ENGINEER
Department: Engineering
Reports To: Vice President of Engineering
FLSA Status: Exempt
Date: 12/19/2023
This job description is a general description of essential job functions. It is not intended as an employment contract nor to describe all duties someone in this position may perform. All employees of APC are expected to perform tasks as assigned by APC supervisory/management personnel, regardless of job title or routine job duties.Summary/Objective
The Embedded Software Engineer is responsible for architecting, designing, and developing firmware for various products including, but not limited to; electric shopping carts, in-vehicle laptop computer docking stations and commercial pressure washer equipment. In addition, this position will have responsibilities spanning all phases of the software engineering life cycle including requirements analysis, design, code development, integration, verification, and documentation. The successful applicant should be knowledgeable and skilled with a variety of development and test tools as well as proficient in the development of embedded software applications.
Essential Functions
- Responsible for developing and implementing firmware for embedded devices and systems. Must be experienced with the architecture and features of the Microchip PIC microcontrollers and Espressif ESP32 devices.
- Responsible for writing efficient and reliable firmware code to control and manage the embedded hardware components.
- Support firmware QA and optimization of performance.
- Support a positive customer experience by providing post-release assistance to internal and external customers.
- Interface with various departments to establish goals and develop functional specifications prior to developing code or product hardware functionality. Translate functional requirements into technical specifications and firmware design.
- Follow a structured development process to develop, document, code, test, and troubleshoot firmware. Create a clear and concise documentation for the firmware code and its interfaces.
- Required to analyze, monitor, and improve firmware efficiency and stability of the system using performance analysis tools and profiling techniques to identify bottlenecks and areas for optimization.
- Collaborate with the hardware design and development team to develop functionality, debug firmware to create a stable, reliable system.
- Maintain revision control and develop firmware revisions for supply chain shortages, support of alternate microcontrollers when needed.
- Design and implement on-board diagnostic functionality of hardware and software. Integrate self-test routines and error reporting mechanisms into the firmware
Competencies
- Programming experience in C, C++.
- Functional / Technical Skills
Preferred Education and Experience
- 2 years of experience in embedded software engineering or similar role.
- BS degree in computer science or engineering preferred, but not required.
- Familiarity with electronic test and measurement equipment preferred.
- Knowledge of microcontroller architectures.
- Knowledge of different communication protocols, interfaces, and hardware subsystems such as UART, SPI, I2C, CAN, BLE, and WiFi.
- Programming experience in C, C++.
Work Environment
This job operates in clerical office setting, manufacturing, warehouse, and laboratory environments. This role routinely uses standard office equipment such as computers, phones, copiers, filing cabinets, and fax machines. Exposure to and use of heavy machinery such as drill press, press brake, lathe, welder, and other machines.
While performing the duties of this job, the employee may be exposed to vibration and noise from tools, heavy machinery, pneumatic tools, and forklift traffic. The heat level is high in the summer months in unconditioned areas—personal Protective Equipment is required in some positions, such as safety glasses and gloves, etc. Hearing protection is provided but not required except where indicated.
Some travel may be required
Physical Demands
Some lifting, bending, stooping, and standing is necessary. Mental alertness and long periods of concentration are required.
Position Type/Expected Hours of Work
This is a full-time position. Days and hours of work are Monday through Friday, 8:00 a.m. to 5 p.m. Evening and weekend work may be required as job duties demand.
AAP/EEO Statement: APC provides equal employment opportunity to all individuals regardless of race, color, creed, religion, gender, age, sexual orientation, national origin, disability, veteran status, or any other characteristic protected by state, federal, or local law. Further, the company takes affirmative action to ensure that applicants are employed and employees are treated during employment without regard to these characteristics. Discrimination of any type will not be tolerated.
Other Job Duties: This job description is a general description of essential job functions. It is not intended as an employment contract, nor is it intended to describe all duties someone in this position may perform. All employees of APC are expected to perform tasks as assigned by APC supervisory/management personnel, regardless of job title or routine job duties.
For inquiries, please contact:
Joseph Stephens, H.R. Manager
Tel: (479) 246-6402
Email: jstephens@assembledproducts.com
Job Type: Full-time
Pay: From $18.00 per hour
Benefits:
- 401(k)
- 401(k) matching
- Dental insurance
- Health insurance
- Paid time off
- Professional development assistance
- Referral program
- Vision insurance
Shift:
Weekly day range:
Work setting:
Work Location: In person