Software Engineer (Embedded Systems, Linux)

Watchfire

$90K — $110K *
Technical Services
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • BS/MS in Computer Science, Computer Engineering, Electrical Engineering or related discipline.
  • 2-5 years of software engineering experience with embedded systems software.
  • Proficiency in C++ for embedded systems development.
  • Familiarity with embedded operating systems, particularly Linux on ARM and x86.
  • Experience with communication protocols, specifically Ethernet and Serial.
  • Knowledge of version control (preferably Git) and CI build systems (like Jenkins).
  • Strong analytical and problem-solving skills.

Responsibilities

  • Architect, design, and maintain embedded applications for content playback.
  • Research hardware trends in collaboration with Electrical Engineering.
  • Create and review system and software requirements.
  • Foster good software engineering practices and mentor junior engineers.
  • Prepare test cases for software verification and validation.
  • Assist in troubleshooting products in design or during field reports.
  • Engage in all aspects of the software engineering process.

Benefits

  • Medical
  • Dental
  • Vision
  • Company Paid Life/ADD
  • Voluntary Life/ADD
  • Dependent Life/ADD
  • 401k with Employer Match
  • Vacation
  • Personal Time
Full Job Description
Summary:

This senior level Software Engineer position will be part of the software engineering team, helping build the next generation of our flagship software product for the digital signage industry. A person at this level will research, design and develop software products within a specific technical project. S/he can provide solutions for designs and development plans of high complexity which typically requires a broad background of technical and process knowledge. This position provides expert guidance, drives decision making and supports the Software Engineering group in various technical and functional aspects of research and development of new products. A successful candidate will be a strong team player who is able to work across multiple functions and disciplines. The candidate should be self-directed and have experience and knowledge of software design, coding, and testing methodologies. Though the focus for this position will be on designing and developing embedded systems running on micro-controllers, there will be opportunities to work on user facing web and mobile applications. Our product software is a critical differentiator in our market, and we take great pride in our in-house products developed entirely by this team, from embedded systems to exceptional user facing GUI applications.

Responsibilities:
  • Architect, design, create and maintain embedded applications for our content playback sub-system.
  • Research hardware trends and work with Electrical Engineering to arrive at the next generation of micro-controllers that are cost effective and performant.
  • 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 Education/Qualification:
  • BS/MS in Computer Science, Computer Engineering, Electrical Engineering or a related discipline.
  • Minimum 2-5 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 ideal. Yocto, and Debian experience a plus.
  • Proficiency in 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.


Other ideal skills include:
  • 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) is a plus.
  • Use of AI tools for coding, reviewing, and unit testing.

Benefits:
  • Medical
  • Dental
  • Vision
  • Company Paid Life/ADD
  • Voluntary Life/ADD
  • Dependent Life/ADD
  • 401k with Employer Match
  • Vacation
  • Personal Time

Similar Jobs

More Jobs at Watchfire

More Technical Services Jobs

Find similar Software Engineer (Embedded Systems, Linux) jobs: