Senior Firmware Engineer
alicat scientificTucson (AZ)
About the role
At Alicat, engineers design hardware and firmware, then build, test, and manufacture them under one roof at our Tucson, Arizona facility. This vertical integration gives you full visibility from concept through production and immediate impact on real products.
We build high-performance flow and pressure instrumentation for aerospace, bioprocessing, energy, environmental science, and advanced research: applications where precision, stability, and reliability are essential.
Our engineering environment is collaborative: we avoid bureaucracy, make decisions quickly, and value engineers who own real technical problems. Alicat is part of Halma plc, a global FTSE 100 group, giving us long-term stability with the agility of a mid-sized engineering team.
Job Summary:
You will write robust, deterministic code that controls sensors, valves, and communication interfaces: real-time control algorithms, signal processing, and protocol stacks that interact closely with precision analog circuitry and production calibration processes.
You will also build above the driver layer, developing the device-side application logic, configuration services, and diagnostic interfaces that define instrument behavior in customer systems.
You will work on-site with the engineering team from concept to production release and long-term support.
Qualifications:
Five or more years of production embedded software development experience in C – walk us through what you have owned from design to release.
Comfortable with the electrical interface using a scope, logic analyzer and debugger.
Experience with real-time systems: interrupt-driven design, memory management, deterministic timing, and RTOS-based or well-structured bare-metal architectures.
BS in Computer Engineering, Electrical Engineering, Computer Science, or a related field is valued — but demonstrated experience matters more.
Nice to have:
Proficiency with embedded toolchains (cross-compilers, build systems, Git), automated testing, and static analysis.
Experience developing with AI-assisted tools.
Experience with HAL and drivers for ADCs, DACs, timers, PWM, DMA, EEPROM/Flash, and sensor interfaces.
Experience with embedded Linux or Python tooling.
Experience with control systems, including PID loops, filtering algorithms and calibration routines.
Experience with communication stacks over UART, SPI, I²C, USB, RS232/RS485, and CAN, including industrial protocols such as Modbus, CANopen, Ether Net/IP, and IO-Link.
Experience with bootloaders, firmware update strategies, device configuration, diagnostic, and logging services.
Register- and hardware-level debugging using JTAG/SWD, oscilloscopes, and logic analyzers, working with Electrical Engineering during hardware bring-up.
Automated unit, integration, and hardware-in-the-loop testing, and CI/CD.
Manufacturing test integration and field diagnostics.
Before you apply
Applying takes about a minute. These four things decide how fast it moves after that.
Your profile is current
It's what we read first. Occupations, seniority and locations matter more than a long history.
Two examples you can talk through
Not a portfolio — just two pieces of work where you can explain the decisions and what you'd change.
A number in mind
What you're on now and what would make you move. We negotiate better when we know both.
Your notice period
Employers plan around it, and it's the question that stalls offers most often.
Once you apply, someone reads it and calls you before anything reaches the employer — usually within two working days.
More like this
