Full Time

Embedded Linux Senior Software Engineer - Optimisation

Canonical
$110,000 - $140,000* / year (about $53–$67 an hour)

Job Description

This job was posted over 30 days ago, so it has most likely closed. See newer jobs like it.

Written by AI from the job title and company, not by Canonical, so some details may not match this job. The employer's own page has the real description.

Job Overview

The Embedded Linux Senior Software Engineer - Optimisation at Canonical is responsible for enhancing and optimizing the performance of Linux systems within embedded environments. The successful candidate will work collaboratively with cross-functional teams to design, develop, and maintain software solutions while ensuring robustness, scalability, and efficiency. This role requires a blend of technical expertise in embedded systems, Linux, and software optimization techniques to drive advancements in Canonical’s product offerings.



Job Responsibilities

  • Design, implement and optimize embedded Linux solutions tailored for various hardware platforms.
  • Analyze system performance and identify bottlenecks for continuous improvement and optimizations.
  • Collaborate with hardware engineers to ensure seamless integration of software and hardware components.
  • Develop and maintain documentation for software architecture, design specifications, and optimization processes.
  • Conduct code reviews and contribute to best practices in software development methodologies.
  • Troubleshoot and resolve issues that affect the performance and stability of the embedded Linux systems.
  • Mentor junior engineers and foster a collaborative environment to nurture skill development.


Qualifications

  • Bachelor’s or Master’s degree in Computer Science, Computer Engineering, or a related field.
  • Proven experience (5+ years) in embedded systems development and optimization.
  • Strong proficiency in C/C++ programming languages and familiarity with programming in Python.
  • In-depth understanding of Linux internals, operating systems, and real-time systems.
  • Experience with performance testing and profiling tools.
  • Knowledge of hardware architecture and interfacing with development boards (e.g., Raspberry Pi, BeagleBone).
  • Demonstrated ability to work collaboratively within software engineering teams.
  • Familiarity with version control systems such as Git and CI/CD processes.


Technologies & Tools

The position utilizes a variety of technologies and tools, including but not limited to the Linux operating system, embedded development environments, cross-compilation tools, and debugging software. Candidates are expected to have familiarity with performance analysis tools, build systems like Yocto or Buildroot, and version control systems (e.g., Git). Proficiency in using integrated development environments (IDEs) such as Eclipse or Visual Studio Code is also beneficial.



Ideal Candidates

Ideal candidates for this position are characterized by their strong analytical skills and an unwavering attention to detail. They possess an innate curiosity and a willingness to tackle complex problems. A collaborative mindset and excellent communication skills are essential for working effectively within a team. Furthermore, they display a passion for technology and a commitment to keeping abreast of industry advancements in embedded systems and Linux optimization.

In 98 of the 191 countries we compare, we found no unemployment benefit on official sites. Compare countries →

View Similar Jobs

Matches Jobs

Similar jobs which you may be interested in. Typically using your existing skillset.