Software Engineer (Embedded Systems)

Watchfire

$70K — $95K *
Consumer Technology
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • BS/MS in Computer Science, Computer Engineering, Electrical Engineering, or related discipline.
  • 0-3 years of experience in software engineering for embedded systems.
  • Proficiency in C++ for embedded systems development.
  • Experience with embedded operating systems, preferably Linux on ARM and x86.
  • Familiarity with communication protocols, especially Ethernet and Serial.
  • Knowledge of version control (preferably Git) and CI tools (like Jenkins).
  • Good written and verbal communication skills.

Responsibilities

  • Create and maintain embedded applications for content playback.
  • Contribute to system and software requirements review.
  • Mentor junior engineers and promote software engineering best practices.
  • Prepare test cases for software verification and validation.
  • Assist in troubleshooting and data gathering for software in development or returned from the field.
  • Involve in all stages of the software engineering process.
  • Document procedures and maintain relevant project documentation.

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 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 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. 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:
  • 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 Education/Qualification:
  • 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.


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).
  • 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 Consumer Technology Jobs

Find similar Software Engineer (Embedded Systems) jobs: