The Senior Firmware Developer will design, program and maintain 'C' code on our programmable controller products.
· Programming for embedded controllers.
· Participate in product definition, specification and requirements analysis working with the Product Development team, Product Managers and Engineers.
· Design documentation (including source code commentary) to company coding standards.
· Collaboration on firmware architecture design strategies and requirements.
· BSCS or equivalent education is preferred
· Experience (6 years) designing and coding embedded firmware is required (10 years is preferred).
· Proficient in high-level structured programming languages (e.g. C, C++, BASIC, etc) is required.
· Proficient in low-level languages (e.g. Assembler, ladder, etc) is a plus.
· Proficiency with Windows O/S environment is required.
· Experience with Real-Time O/S for embedded products is strongly preferred.
· Proficient in developing code with resource-limited runtime environments, for embedded products.
· Basic understanding of electronics and electricity fundamentals is a plus.
· Experience (1-2 years) with Programmable Logic Controllers is a plus.
· Experience with Integrated Development Environments (IDE) is strongly preferred.
· Understanding of microprocessors and associated architectures (Address/Data buses, Memory addressing and management, peripheral connections, programming instruction sets) is required.
· Basic understanding of peripheral interfaces including:
o Serial communication hardware including RS232/485, USB, Ethernet, etc
o Serial interface Protocols including industrial standards such as MODBus, TCP, UDP, etc
o OSI basic reference model (ISO/IEC 7498-1), “7-layer stack”