Job Title: Firmware Engineer
Job Location: Navasota, Texas
Reports To: R&D Director
Cytonome/ST is seeking a highly talented and passionate firmware engineer to participate in developing pioneering cell purification instruments.
This position will involve research and development activities on ARM processors.
The candidate will: implement control logic for optical and electro-mechanical systems, design low-level real-time algorithms, prepare analysis reports, conduct feasibility testing for prototypes in a lab setting, and verify & validate designs.
The candidate must be proficient and comfortable with testing mechanical assemblies, optomechanical systems, fluid delivery systems, and high accuracy positioning assemblies.
The candidate will work with an interdisciplinary team of scientists and engineers to develop high-throughput cell processing and manufacturing products.
Responsibilities and Duties
Participate in the planning, designing, development, documentation, and testing/debugging of complex firmware systems.
Building bare-metal applications for ARM microcontrollers and higher-level applications on Linux for resource-limited SBCs (E.
g.
, Raspberry Pi).
Wrapping up projects with GNU and/or other building toolchains and deploying them with CI/CD pipelines.
Support cross-functional development work.
Apply knowledge and understanding of programming methodologies to evaluate the feasibility and limitations of technical stacks.
Participate and lead design reviews of algorithms, architectures and build systems.
Review firmware/software engineering documents and documentation.
Provide input for design specifications and test plans.
Perform design verifications and validations.
Follow established processes and procedures.
Interact regularly with the R&D team to communicate status of milestones and impacts of technical hurdles.
Qualifications and Skills
Bachelor's degree in related technical discipline; master's degree a plus
3+ years in a firmware engineering position
Demonstrate an in-depth understanding of bare-metal programming concepts, operating systems, and the rationale behind common paradigms/idioms for the programming language.
Demonstrate a well-rounded knowledge and troubleshoot experience in log-based and debugger-based debugging.
Experience with socket/IPC programming.
Strong knowledge of hardware and control systems.
Fluent in Linux from developer’s perspective.
Comfortable with terminals and understand details that IDE covers (or can work without an IDE).
Experience with self-contained or distro-dependent software packaging is a plus.
e.
g.
, flatpak, snap, deb, rpm, PKGBUILD, etc.
Experience with isolated development environments is a plus.
E.
g.
, chroot, Nix, containers, etc.
Experience with all phases of the product development lifecycle is a plus.
Excellent analytical & problem-solving skills.
Ability to work effectively in cross-functional teams.
Strong organizational skills and the ability to work in a fast-paced self-directed environment.
Excellent written and oral communication skills.
STgenetics® is an Affirmative Action EEO employer
We are an equal opportunity employer and all qualified candidates will receive consideration for all positions without regard to race, color, age, religion, sex (including pregnancy), sexual orientation, gender identity, national origin, veteran status, disability, genetic information, or any other characteristic protected by law.
STgenetics® participates in the E-Verify Employment Verification Program.