Senior Embedded Linux Software Engineer
Small Description
We are looking for a Senior Embedded Linux Software Engineer to join an R&D team developing next-generation embedded software solutions for critical communication and safety systems.
In this role, you will contribute to the full software development lifecycle, from architecture and design to development, debugging, testing and deployment. You will work on embedded Linux-based systems and collaborate with multidisciplinary teams across different locations.
This is a hybrid position requiring 3 days per week onsite.
Mission
As a Senior Embedded Linux Software Engineer, you will contribute to the design and development of reliable, high-performance embedded applications.
Your main responsibilities will include:
-
Participate in all phases of the embedded software development lifecycle, from requirements analysis and design through development, testing and deployment.
-
Design, develop and maintain embedded applications running on Yocto-based Linux systems.
-
Develop multithreaded, multiprocess and real-time applications in C and C++.
-
Analyze technical requirements and contribute to software architecture and design decisions.
-
Develop and optimize software features with a focus on performance, reliability and maintainability.
-
Work closely with software, hardware, systems and other engineering teams to deliver integrated solutions.
-
Debug and troubleshoot software and hardware-related issues using appropriate development and test tools.
-
Perform code reviews and contribute to software quality and development best practices.
-
Participate in software integration, verification and validation activities.
-
Work with Azure IoT and connected embedded systems.
-
Contribute to continuous improvement of development processes, tools and software solutions.
-
Support the identification and remediation of software security vulnerabilities, including CVE remediation.
-
Collaborate with teams located across different departments, organizations and international locations.
-
Contribute technical expertise and provide support and knowledge sharing to other team members.
-
Plan and estimate development activities and contribute to project planning.
-
Prepare and maintain technical documentation related to software design, development and testing.
Profile
-
Bachelor’s degree in Software Engineering, Electrical Engineering, Computer Science or a related technical field.
-
7+ years of experience in embedded software development.
-
Strong experience developing software for embedded Yocto Linux-based systems.
-
Strong programming skills in C and C++.
-
Experience developing multithreaded, multiprocess and real-time embedded applications.
-
Experience with Yocto / BitBake.
-
Experience with Azure IoT or similar IoT platforms.
-
Good understanding of formal software development methodologies and engineering practices.
-
Ability to plan, estimate and manage software development activities.
-
Strong debugging and troubleshooting skills.
-
Hands-on experience with development and test tools such as GDB, I2C debuggers, oscilloscopes and logic analyzers.
-
Ability to work independently while collaborating effectively with multidisciplinary and international teams.
-
Strong analytical and problem-solving skills.
-
Excellent communication and teamwork skills.
Assets
-
Knowledge of network programming and communication protocols.
-
Experience with software security and CVE remediation.
-
Experience working with rigorous product approval or certification standards such as UL / ULc.
-
Experience with Git or other version control systems.
-
Experience with artifact management tools such as Artifactory.
-
Experience with issue tracking tools such as JIRA or Integrity.
-
Experience with scripting and build tools such as Bash, Make and Python.
-
Experience with Atlassian tools, including Confluence.
-
Experience working on safety-critical, industrial, IoT or connected embedded systems is an asset.
Work Arrangement
Hybrid – 3 days per week onsite in Westford.
Why choose us
- An international community bringing together more than 110 different nationalities
- An environment where trust is central: 70% of our leaders started their careers at the entry level
- A strong training system with our internal Academy and more than 250 modules available
- A dynamic work environment that frequently comes together for internal events (afterworks, team buildings, etc.)
Amaris Consulting promotes equal opportunities. We are committed to bringing together people from diverse backgrounds and creating an inclusive work environment. In this regard, we welcome applications from all qualified individuals, regardless of sex, sexual orientation, race, ethnicity, beliefs, age, marital status, disability, or other characteristics.
Who are we?
Amaris Consulting is an independent technology consulting firm providing guidance and solutions to businesses. With more than 1000 clients across the globe, we have been rolling out solutions in major projects for over a decade – this is made possible by an international team of 7,600 people spread across 5 continents and more than 60 countries. Our solutions focus on four different Business Lines: Information System & Digital, Telecom, Life Sciences and Engineering. We’re focused on building and nurturing a top talent community where all our team members can achieve their full potential. Amaris is your steppingstone to cross rivers of change, meet challenges and achieve all your projects with success.
At Amaris, we strive to provide our candidates with the best possible recruitment experience. We like to get to know our candidates, challenge them, and be able to give them proper feedback as quickly as possible. Here's what our recruitment process looks like:
Brief Call: Our process typically begins with a brief virtual/phone conversation to get to know you! The objective? Learn about you, understand your motivations, and make sure we have the right job for you!
Interviews (the average number of interviews is 3 - the number may vary depending on the level of seniority required for the position). During the interviews, you will meet people from our team: your line manager of course, but also other people related to your future role. We will talk in depth about you, your experience, and skills, but also about the position and what will be expected of you. Of course, you will also get to know Amaris: our culture, our roots, our teams, and your career opportunities!
Case study: Depending on the position, we may ask you to take a test. This could be a role play, a technical assessment, a problem-solving scenario, etc.
As you know, every person is different and so is every role in a company. That is why we have to adapt accordingly, and the process may differ slightly at times. However, please know that we always put ourselves in the candidate's shoes to ensure they have the best possible experience.
We look forward to meeting you!