Responsibilities within the general Goddard Technologies team and work environment:
While working with Goddard Technologies as a Firmware Engineer, you will be held accountable to be able to conduct yourself in the manners listed below and refine any needed skills to efficiently cover all responsibilities. Ideal candidate should possess a broad understanding of the Electronic/Firmware technology landscape and the desire to keep up with the changes in technology. The ability to define the system and hardware architecture for a given system and participate in the definition of the software architecture.
You are expected to:
- Take every care, regard, action, and ability to keep all privileged information not yet known to other individuals, companies, public, or other entity private and confidential in all regards.
- Assist in research, development, design, test, and integration of firmware/software, electronic and electromechanical efforts for medical products, consumer products, commercial equipment, and automation systems.
- Eagerly take on new challenges and work independently.
- Assist in defining the culture for Goddard's software / electrical engineering team.
- Practice clear and direct communication with management and customers.
- Develop and deliver robust and safe firmware / software for various devices including but not limited to consumer products, medical devices, automated test fixtures, industrial automation.
- Engage with technical leads to understand firmware scope and work on implementation including testing, to meet schedules and scope.
- Assist Senior Engineers with Identifying problems and formulating solutions, collecting data, and developing test procedures to prove or dis-prove failures and solutions.
- Continue to grow your capabilities within all realms of your career.
- Travel as-needed (valid driver’s license and vehicle required).
You should be technically familiar and experienced with:
- A minimum of 5 years professional experience developing firmware in a bare-metal Environment.
- Analog and Digital Circuits.
- Microcontrollers - Experience in designing microcontroller and microprocessor-based systems including, Microchip, Texas Instruments, ST, and ARM microcontrollers. C-programming expertise required.
- Sensors - Familiarity with various sensor types including MEMS sensors and ability to design them into a system.
- Have the ability to understand and develop a theory (sequence) of functional operations and to develop the corresponding State machine or RTOS firmware stacks.
- Experience with hand prototyping using soldering iron, rework station, and wiring modules.
- Have the ability to create quick prototypes when necessary, utilizing Arduino, Raspberry pi, development modules, or best method given the situation.
- A firm understanding of C programming and debugging skills for embedded systems.
- Experience with C++.
- Experience with developing secure connected products at scale.
- Shell scripting and/or Python.
- Experience with bringing up and troubleshooting firmware on new hardware.
- Experience with firmware testing platforms including Unit Level, Simulation and Emulation.
- Must be able to read and understand basic electrical schematics.
- Experience with common embedded and wireless communication protocol firmware stacks (RS232/485, SPI, I2C, CAN, USB, ETH, Bluetooth, Wi-Fi, LoRa, 4G) is required.
- Experience with common toolchains and development environments (GCC, CMake, Eclipse based, etc) is required.
- Proficient in version control systems such as git and common web-based interfaces is required.
- Experience with methodically root-cause sophisticated firmware/hardware failures at the subsystem and/or system level.
Regarding Computer & Software Use, you are expected to:
- Create or oversee the creation of product documentation for the manufacturing and assembly process in accordance with Goddard Technologies practices.
- Use appropriate software as the primary design platforms.
- Advise, research, and recommend hardware & software applications that will benefit the company and its team members by way of efficiency.
- Continue to grow your capabilities with all computer programs.