13 Jan
Embedded Controls Software Engineer
Vacancy expired!
- Self-driven, results-oriented, solutions-minded and wanting to work in a team.
- Exemplary communication and leadership skills.
- You have delivered product that is reliable and maintainable.
- A problem-solver who and can offer innovative solutions to complex processing challenges.
- Familiar with event-driven and microservices architecture.
- Passionate about the impacts you make, for both customers and your teammates, and you seek to become a vital member of a collaborative team.
- Development and implementation of primary control software in both 'bare metal' main executives, real time operating system, and Linux environments.
- Design and implementation of real-time embedded control functionality including in-line monitoring, and other supervisory control and data acquisition (SCADA).
- Design and test of embedded software control systems with complex software and hardware.
- System and software design, requirements management, systems specifications, interface management, system safety assessment, verification and systems integration for factory-acceptance testing, as well on-site customer acceptance testing.
- Development of systems architecture, interface control and integration, and actuator design and integration
- Technical planning and execution within a team of software engineers to include coordination with cross-functional teams.
- Believes testing code is a necessity rather than an afterthought.
- A passion for details, for solving complex problems that are new and challenging.
- Comfortable in a dynamic environment. As a member of our engineering team, you will be called upon to be a Jack/Jill-of-all-Trades. A strong ability to prioritize and focus is critical.
- Excellent communication skills, both written and verbal, work with senior engineers of the team on design and architecture.
- Comfortable with Agile Software Development and GitLab Flow.
- Able to handle and cope with stressful situations and understands the pressures of a high growth company environment.
- Provide mentorship around your domain knowledge to support other team members around best practices, architecture, and design patterns.
- Able to mentor - as our teams grow, you will help nurture and guide incoming developers.
- You must be passionate about product development.
- Eagerness to learn lots of new technologies.
- It's not enough to be insightful; regularly get your hands dirty with a can-do attitude.
- Research, experiment, and collect data. Find out the answer to questions by diving into the data to drive decisions. Prototype and be able to make the case for your recommendations.
- Collaborate, pair, and collaborate with peers. Willingness to white board your proposed solutions.
- Be flexible. Be willing to throw something away, take it back out of the trash can, and crumple it back up again as we learn more about the solution space.
- Keep learning and be intellectually curious. Technology is a race and we need marathon runners who can occasionally sprint.
- Be humble and be able to admit you don't know. This is a team effort and sometimes more brains on a problem are the answer. Sometimes we're walking a path with no known answers.
- Own your solutions from ideal to field support, tailing a log on the production server to identify root-causes.
- Bachelor's degree in Computer Science, Software Engineering, or Electrical Engineering required. Other technical degrees may be considered with relevant work experience.
- Experience at all levels will be considered with a minimum of 4 years specific experience with embedded control software development preferred. Preference will be given for additional work in sensor, conveyance, and actuator controls, and/or electrical systems integration, development, and testing.
- Experience with primary development programming languages, embedded environment tools and standards preferred.
- Must have a working knowledge of automated assembly systems, a good understanding of the basic theory of industrial control systems applications, design, and operation including concepts of power distribution.
- All programs are required to handle manufacturing engineering functions, such as tooling jigs, manufacturing process, quality assurance, and safety.
- Programming
- C/C code (required)
- Python (required)
- Codsys or PLC Ladder Programming (optional)
- Embedded Environments
- Bare Metal
- Linux RTOS
- HW initialization and synchronization (boot strapping)
- Embedded coder
- Hardware Protocols
- SPI, CAN, RS422/485, PROFIBUS, EhterNet/IP, Ethernet UDP & TCP
- Experience hitting the command line & remoting into multiple systems to troubleshoot problems.
- Experience with SQL (preferably, PostgreSQL databases).
- Experience working in a team setting using source control technologies (e.g. Git, SVN).
- At five (5) years of professional experience writing control logic in embedded processor-based products.
- Some familiarity with full-stack web application development: everything between AJAX calls to web service implementations to designing data models and accessing databases.
- Extensive Python experience including deep knowledge of Django, Django Rest Framework, and comfortable making direct C calls.
- Familiar with relational database concepts (PostgreSQL or mySQL)
- Building secured Ethernet aware embedded system
- Software Development: 5 years (Required)
- Linux Development: 2 years (Required)
- Python: 2 years (Preferred)
- Must be an existing United States citizen (Required)
Vacancy expired!