Using the latest cutting edge embedded software engineering practices and procedures, design and develop embedded software for Intermatic with the goal of creating first class, highly scalable embedded software. CONTRACT OR CONTRACT TO HIRE position. Software Engineers will spend some days in the Spring Grove, Illinois office and then may work remotely.
ESSENTIAL DUTIES AND RESPONSIBILITIES include the following. Other duties may be assigned.
- Analyzes software requirements to determine feasibility of design within time and cost constraints.
- Designing and implementing embedded software for devices and systems.
- Reviews software system testing procedures, programming, and documentation.
- Develops documentation pertaining to the operation of an embedded device.
- Develops embedded software routines and procedures to aid with the manufacturing and testing of the final product.
- Applies knowledge of real time embedded environment to software development
- Present and participate in software design reviews and code reviews
- Consults with hardware engineers and other engineering staff to evaluate interface between hardware and software, operational and performance requirements of overall system to identify tradeoffs between hardware vs. software complexity.
- Participate and assist hardware developers with reliability and certification testing to include development of scripts and tools.
- Develop unit level white box and system level black box tests for all software components
QUALIFICATION REQUIREMENTS Education and/or experience:
- BSEE/BSCE/BSCS degreed software engineer with at least 3 years of experience in embedded software development is required.
- Solid programming experience in C or C++.
- Proven experience in embedded systems design with preemptive, multitasking real-time operating system.
- Experience with common design patterns is expected.
- Experience with the use of software configuration management concepts and tools.
- Experience with Agile/Scrum software development framework and processes.
- Extensive experience with development tools for embedded systems.
- Ability to analyze software requirements to determine feasibility of design within time and cost constraints.
- Knowledge and experience with ARM Cortex M3 and M4 processor design a plus.
- Knowledge and experience in wired and/or wireless IP application a plus.
- Knowledge and experience in wireless technologies, such as Bluetooth and Wi-Fi is a plus.
- Knowledge and experience in embedded LCD based user interface definition and implementation is a plus.