At a Glance
- Tasks: Join our innovative team to develop cutting-edge embedded software solutions.
- Company: Markem-Imaje is a global leader in product identification and traceability solutions.
- Benefits: Enjoy a hybrid work arrangement and opportunities for professional growth.
- Why this job: Be part of a collaborative culture that values creativity and technical excellence.
- Qualifications: Bachelor's or Master's in Computer Science/Engineering with experience in embedded software development.
- Other info: We value ethical standards, openness, and respect for all team members.
The predicted salary is between 36000 - 60000 £ per year.
Location: Nottingham, GB
Work Arrangement: Hybrid
Markem-Imaje is a trusted world manufacturer of product identification and traceability solutions, offering a full range of reliable and innovative inkjet, thermal transfer, laser, print and label application systems. Markem-Imaje delivers fully integrated solutions that enable product quality and safety, regulatory and retailer compliance, better product recalls and improved manufacturing processes.
The Role
We are looking for passionate and confident experienced and senior software engineers who want to use their skills, as a member of an innovative team within a global company, focusing on existing as well as next generation market leading products. You’ll be part of an entrepreneurial and agile team, writing software and firmware code for embedded system components, while providing strong technical leadership for internal and external engineering partners. You’ll have an opportunity to take your skills to the next level as you play a lead role in pushing for continual improvement of global embedded software development best practices.
What you will do:
- Defines and troubleshoots system level software design proposals describing complete technical architectures and solutions.
- Works with hardware engineers to help in microprocessor selection, relevant interfacing circuits and input / output communications at the module and systems level.
- Performs component testing of software design, verifies embedded firmware and software functionality and compatibility with hardware design.
- Drive quality and efficiency within the embedded software team by setting an outstanding example in terms of high-quality design, code, and validation.
- Lead and facilitate high-level software estimation to support business planning activities.
- Interface with other engineering teams, stakeholders, and customers to understand the application space and business requirements.
- Act as a liaison between cross-functional teams and as a spokesman for the Software Discipline.
- Use outstanding communication and interpersonal skills to lead and create efficient interfaces with third party engineering partners.
What you need to have:
- Bachelor’s degree in Computer Science, Computer Engineering or Software Engineering or Master’s degree with professional experience developing software.
- Significant professional experience developing software for Senior positions.
- Demonstrable record of developing high-quality embedded software for end-user products from requirements analysis to delivery.
- Demonstrable experience in a technical leadership role within a software team.
- Expert knowledge and experience with implementation skills such as object-oriented programming, pair programming, memory management, distributed systems programming, multi-threaded programming, and on-target debugging.
- Advanced knowledge of C++ is required.
- Experience with Agile/Scrum development practices.
- Advanced knowledge of verification skills such as test-driven development, unit testing, code reviews, defect characterization, requirements analysis and planning skills such as user story development, backlog management, high-level estimation, and detailed estimation.
- Advanced configuration management skills such as revision control, continuous integration, continuous deployment, automated build systems, release management, and technical documentation.
- Intermediate knowledge of electronics including micro-controllers, memory, and peripherals as well as in reading schematics and basic use of oscilloscopes/logic analyzers.
- Advanced knowledge of the following tools is not required, but a plus: GCC, Visual Studio, Eclipse, JSON, XML, Python, Bamboo, SCONS, FitNesse, Lauterbach debuggers.
- Excellent interpersonal, written, and oral communication skills, with an ability to influence and build strong, credible relationships.
- Aptitude in engineering excellence processes such as FMEA, Root Cause Analysis, Design of Experiments, etc. is a plus, but not required.
- FPGA (VHDL) programming experience is a plus, but not required.
- Experience in an industrial printing domain is a plus, but not required.
You’ll only be the right candidate if you are aligned to our values and culture:
- Collaborative entrepreneurial spirit
- Winning through customers
- High ethical standards, openness and trust
- Expectations for results
- Respect and value people
If you believe you match our values and experience we’re looking for, then apply! We can’t wait to hear from you!
All qualified applicants will receive consideration for employment without discrimination on the basis of race, color, religion, sex, sexual orientation, gender identity, national origin, protected veteran status, disability, age, genetic information, or any other factors prohibited by law.
This position may be located in: EMEA: United Kingdom: Nottinghamshire: Nottingham
Contact Detail:
Dover Corporation Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land C++ Software Engineer
✨Tip Number 1
Familiarise yourself with the specific technologies and tools mentioned in the job description, such as GCC, Visual Studio, and Agile/Scrum practices. Having hands-on experience or projects that showcase your skills with these tools can set you apart during the interview process.
✨Tip Number 2
Highlight your experience in embedded software development and technical leadership. Be prepared to discuss specific projects where you led a team or contributed significantly to the software design and implementation, as this aligns closely with what they are looking for.
✨Tip Number 3
Prepare to demonstrate your problem-solving skills and ability to work collaboratively with hardware engineers. Think of examples where you successfully interfaced software with hardware components, as this will resonate well with the role's requirements.
✨Tip Number 4
Research Markem-Imaje and their products to understand their market position and values. Being able to articulate how your personal values align with theirs during the interview can make a strong impression and show that you're genuinely interested in the company.
We think you need these skills to ace C++ Software Engineer
Some tips for your application 🫡
Tailor Your CV: Make sure your CV highlights your experience with C++ and embedded software development. Include specific projects where you demonstrated technical leadership and your ability to work in Agile/Scrum environments.
Craft a Compelling Cover Letter: In your cover letter, express your passion for software engineering and how your values align with those of Markem-Imaje. Mention your experience in developing high-quality embedded software and your approach to problem-solving.
Showcase Relevant Skills: Clearly list your skills related to object-oriented programming, memory management, and multi-threaded programming. Provide examples of how you've applied these skills in previous roles, especially in a leadership capacity.
Prepare for Technical Questions: Anticipate technical questions related to C++ and embedded systems during the interview process. Brush up on your knowledge of verification skills like test-driven development and be ready to discuss your experience with tools such as GCC or Visual Studio.
How to prepare for a job interview at Dover Corporation
✨Showcase Your C++ Expertise
Make sure to highlight your advanced knowledge of C++. Be prepared to discuss specific projects where you've implemented object-oriented programming, memory management, and multi-threaded programming. This will demonstrate your technical proficiency and suitability for the role.
✨Demonstrate Leadership Skills
Since the role requires technical leadership, be ready to share examples of how you've led software teams in the past. Discuss your experience with Agile/Scrum practices and how you've facilitated high-level software estimations to support business planning.
✨Prepare for Technical Questions
Expect to face technical questions related to embedded systems and software design. Brush up on your knowledge of microcontrollers, input/output communications, and component testing. Being able to troubleshoot system-level software design proposals will impress your interviewers.
✨Emphasise Communication Skills
Strong interpersonal skills are crucial for this position. Prepare to discuss how you've effectively communicated with cross-functional teams and third-party engineering partners. Highlight any experiences where you acted as a liaison or spokesperson for your team.