Watchfire→
Software Engineer (Embedded Systems) at Watchfire in Danville, IL
Entry LevelHybridFull-timeDanville, IL$70k–$80k/yr
Skills
embedded systems softwarec++linuxarm architecturex86 architecturecommunication protocols - ethernetcommunication protocols - serialgitjenkinsjiraobject oriented designumlpythonfpga programmingimage processing algorithmsrendering algorithmsagile methodologyscrum
Job Description
Summary: Watchfire is seeking a Software Engineer to join their software engineering team, focusing on building software products for the digital signage industry. The role involves designing and developing embedded systems software and collaborating across multiple functions to enhance product offerings.
Responsibilities:
- Create and maintain embedded applications for our content playback sub-system
- Help create and review system and software requirements
- Help foster good software engineering practices and mentor junior engineers
- Prepare test cases to perform verification and validation of software
- Assist in data gathering and troubleshooting of products under design or returned/reported from the field
- Involvement in all aspects of the software engineering process
- Follow relevant company procedures and help create and maintain relevant documentation
Required Qualifications:
- BS/MS in Computer Science, Computer Engineering, Electrical Engineering or a related discipline
- Minimum 0-3 years of software engineering experience building embedded systems software
- Experience working on embedded systems with C++ as the primary programming platform
- Experience with embedded operating systems – Linux in ARM and x86, API, and security would be a plus
- Understanding of communication protocols (Ethernet and Serial specifically). Understanding the OSI model is a plus
- Experience with version control software (preferably Git), Continuous Integration Build systems (preferably Jenkins), project management tools (like Jira) and automated testing tools
- Broad experience in Object Oriented Design/Analysis (OOD/OOA). Understanding of design languages such as UML will be a plus
- Good written and verbal communication skills
- Excellent analytical and problem-solving skills
Preferred Qualifications:
- Knowledge of hardware architecture – micro controllers, SOCs etc
- FPGA programming
- Experience programming in Python (used as a hardware testing tool or hardware simulator/emulator)
- Experience with image processing and rendering algorithms
- Familiarity with Agile product development methodology (Scrum in particular)
- Use of AI tools for coding, reviewing, and unit testing
Required Skills: Embedded systems software, C++, Linux, ARM architecture, x86 architecture, Communication protocols - Ethernet, Communication protocols - Serial, Git, Jenkins, Jira, Object Oriented Design, UML, Python, FPGA programming, Image processing algorithms, Rendering algorithms, Agile methodology, Scrum
Benefits: Medical, Dental, Vision, Company Paid Life/ADD, Voluntary Life/ADD, Dependent Life/ADD, 401k with Employer Match, Vacation, Personal Time
Benefits
Medical
Dental
Vision
Company Paid Life/ADD
Voluntary Life/ADD
Dependent Life/ADD
401k with Employer Match
Vacation
Personal Time