Firmware EngineerMonaco Enterprises, Inc., a Spokane based manufacturer of fire, mass notification, and security alarm systems, is seeking a professional, result-oriented, enthusiastic candidate to participate in designing, developing, and documenting electronic products, systems and circuits.Monaco is expanding the Firmware Engineering team to develop the next generation of our proprietary embedded products. Successful candidates must be fluent in C/C++ programming, possess experience in embedded hardware applications, and have an interest in collaborating within a small product development team. Candidates should possess a willingness to utilize Artificial Intelligence (AI) assistance and tooling to support firmware development and problem-solving within the Firmware Engineering lifecycle.Job ResponsibilitiesA successful candidate will join the firmware engineering team with a focus on tasks to solve well-defined problems.
The successful candidate will perform the following duties:Analysis and troubleshooting of embedded operations and hardware interfacesDiscovery and design of firmware specifications and code modulesDevelopment of firmware code for well-defined problems and established designsFirmware documentation and QA activitiesUtilize modern AI assistance and tooling to accelerate the problem-solving process.Essential FunctionsCapability to understand the operation of embedded hardware componentsCapability to analyze and troubleshoot embedded firmware operations and hardware interfacesFirmware discovery and design, including research and collaboration on technical specifications and methodsImplementation of embedded firmware applications, hardware interface APIs, and test application suitesDocumentation of specifications, source code and product resultsPerform first level QA activities: identify test strategies, unit testing, resolve defects and perform root cause analysisFollow established firmware development processes and best practicesCollaborate with engineering team members on new ideas, processes, and projectsJob RequirementsBS degree in computer science, computer engineering, or related technology field (or equivalent experience)Minimum of 3-4 years of professional experience outside of educationExperience working on embedded systems and interfacing with hardware componentsExperience as an individual contributor throughout the embedded development lifecycleAdditional Knowledge, Skills and TechnologiesC/C++ programming languagesIntegrated Development Environments (IDEs), Compilers, Debuggers, Processors such as:Crossworks IDE, GCC toolchainSTM32 processors and hardware application layerGit, GitFlowOscilloscopes, logic analyzers, meters, spectrum analyzersAbility to read and comprehend electronic schematic diagramProficiency in leveraging AI assistance and emerging technologies to optimize firmware development workflowsThe physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.Most hours spent standing and sitting. Occasional lifting up to 30 pounds.
Constant fine finger manipulation, talking, hearing, and seeing. Occasional standing, walking, climbing stairs, reaching, and repetitive motion. Occasional bending, crouching, grasping, and/or reaching above shoulder level and vibration.