Senior Firmware Engineer Camgian Microsystems
The Senior Firmware Engineer will establish and develop firmware competencies, practices, and processes within the Quantus business unit. This position requires contributions ranging from high-level (system and architectural definition) to hands-on, and includes the oversight and development of junior firmware engineers as well as the specification and technical leadership of external firmware development efforts as needed.
Establish and develop firmware competencies. Provide both high-level and hands-on contributions.
Develop team capabilities and oversee FW tasks.
Manage project FW activities.
Project responsibilities include such items as:
System concept development/contribution;
Firmware/System Architecture definition and description (such as with UML);
Creation of requirements, specifications, and test plans;
Microcontroller selection/input based on product/design requirements;
Structured code development and simulation/emulation;
HW/FW integration and debug;
Code verification & validation;
Product/system test support & development;
Vendor/contractor oversight or technical management as needed.
Work on improving and/or establishing tools, processes, and practices.
Assume ownership of existing product firmware: Troubleshoot / analyze failure modes, track ?bugs?, implement changes, and manage releases.
Contribute to activities and strategic initiatives established by the engineering manager.
Provide information on schedules, resource allocation, and budget.
Other duties and responsibilities as determined by the Engineering Manager.
4 year BS degree from a regionally accredited university (REQUIRED)
MS degree (PREFERRED)
Applicable degrees include: CS (Computer Science), CE (Computer Engineering), ECE (Electrical & Computer Engineering), EE (Electrical Engineering), or equivalent with appropriate Computer Science or Software Engineering training.
Minimum of 9 years of Firmware Design Experience in a structured environment.
FW/System Engineering: Must have solid experience and follow best practices.
Experience throughout the Product Life Cycle and the Software Development Life Cycle (SDLC), and with development process models (REQUIRED)
Experience with tiered System Architecture definition (structured, logical, & documented), modeling languages (eg ? UML, use cases, sequence & dataflow diagrams, etc), OO design methodology, and HW/SW breakdown and interfaces (REQUIRED)
An understanding of both HW Architecture and SW Architecture (REQUIRED)
Other: Engineering documentation, verification/validation test development (to specifications), version/revision control, issue/bug tracking & regression testing, strong programming skills, and module/system level development & testing (REQUIRED)
Embedded Firmware/Software: Must have extensive (and current) knowledge.
Experience developing FW without an RTOS (REQUIRED)
Proficiency using development tool chains and Integrated Development Environments (IDEs). For example: MPLab, Eclipse, GNU Tool Chain, IAR Tool Chain, and/or Code Warrior, etc. (REQUIRED)
Extensive experience with code development, simulation/emulation, verification & validation, ?Design Re-use?, libraries, version/revision control, etc (REQUIRED)
Extensive experience with a variety of common programming languages, algorithm development, & complex data structures; Proficiency in C/C++ (REQUIRED)
Strong FW troubleshooting, failure analysis, and resolution skills (REQUIRED)
Ability to develop drivers, create a Hardware Abstraction Layer, port code to a different processor and redefine the HW/FW interface (REQUIRED)
Thorough knowledge and understanding of DSP?s, Microprocessors and Microcontroller architectures (ranging down to 8-bit), resource limitations, trade-offs & selection, memory & peripherals, sleep modes & low-power design techniques, HW/FW integration & test, bit-level control, etc. (REQUIRED)
Communications: Experience with wired & wireless networking, protocols, & methods
Serial communication device & protocol knowledge (REQUIRED)
Networking & topology knowledge (REQUIRED)
Proficiency with RS-232 & 485, Modbus, & USB (PREFERRED)
Application Software: May have an understanding and limited development knowledge
Basic WEB and PC-based application development & communications skills
Understanding of Linux & Windows-based application development, including: SQL, OpenGL, Qt, .NET, etc
Knowledge of Web technologies and communications, including: HTML, XML, SOAP, JAVA, etc
Mobile application development knowledge/capability
Android, IOS, and other Operating systems
Soft Skills Desired
High degree of personal and professional integrity
Must possess a ?can-do? attitude and a drive to excel
Results-driven and action-oriented; positive and energetic; self-starter; innovative; highly organized
Strong process orientation and drive for continuous improvement
Excellent leadership and teamwork skills
Other Job Requirements
Must have very good communication skills in English (written & verbal)
Must know/use MS Office products (Excel, Word, Project, Power Point, Visio)
||Starkville, MS |