This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
The role of the embedded software engineer is to design, implement, validate, and maintain the embedded software for Markem-Imaje current and future printers across a variety of print technologies and application spaces using industry standard best practices. This role requires the ability to work on problems of diverse scope, demonstrate good judgment regarding methods and techniques for implementing solutions, leading by example and interact/communicate effectively with senior internal and external personnel. Requires collaboration and communication across engineering disciplines and stakeholders.
Job Responsibility:
Design, implement, and validate high quality embedded software as part of an Agile team of engineers
Help define and implement best practices and tools to improve team efficiency, effectiveness, and software quality
Stay up to date with the latest industry standards and advocate for continuous improvement in the areas of unit testing, system testing, automation, code analysis, source control, continuous integration, etc
Contribute to high-level and detailed software estimation to support planning activities
Interface with other engineering teams and stakeholders to understand the application space and business requirements
Collaborate with members of other engineering disciplines using excellent communication and interpersonal skills
Collaborate effectively with remote team members and external partners
Participate in and lead design reviews and contribute to improvements in design and code quality produced by internal and external engineers
Build and apply a strong understanding of Markem-Imaje and our competitors’ printing technologies and application spaces
Requirements:
Bachelor’s or Master’s degree in Computer Science, Computer Engineering, or Software Engineering
minimum 7 years of professional experience developing software
Demonstrable record of developing high-quality embedded software for end-user products from requirement analysis to delivery
Experience with Agile/Scrum development practices
Design skills such as functional decomposition, UML, and design patterns
Advanced knowledge of C++, functional decomposition, UML/SYSML, design patterns, OOP, multi-threaded programming, and on-target debugging
Linux configuration and optimization, Real-time operating systems
Knowledge and experience with verification skills such as test-driven development, unit testing, code reviews, and defect characterization
Requirement analysis and planning skills such as user story development, backlog management, high-level estimation, and detailed estimation
Configuration management skills such as revision control, continuous integration and deployment, automated build systems, release management, and technical documentation
General knowledge of real time operating system concepts and experience in their use
Basic knowledge of electronics including micro-controllers, memory, and peripherals as well as in reading schematics and basic use of oscilloscopes/logic analyzers
Ability to perform root cause analysis of complex engineering problems
Ability to work with limited direction as well as part of a cross-disciplinary, international, product development team
Ability to lead teams through feature design/development/testing/deployment and work closely with multiple teams to coordinate dependencies/interfaces between services/modules
Excellent interpersonal, written, and oral communication skills
Strong organization and decision-making skills, promoting change with confidence
Nice to have:
Ongoing, advanced coursework and/or research to stay current
Cross-functional, multi-cultural, and/or distributed team collaboration experience
Experience developing embedded software in an industrial printing domain
Experience working with external engineering partners
Knowledge and experience with the following tools: GCC, Visual Studio, JSON, XML, Python, Bamboo, Jenkins, SCONS, CMake, FitNesse, Lauterbach debuggers
Demonstrable skills and experience working in an Agile environment
Experience working with open source and commercial off-the-shelf software options
Aptitude in engineering excellence processes such as FMEA, Root Cause Analysis, Design of Experiments