Full Time

Embedded Linux Senior Software Engineer - Optimisation

Canonical
$100,000 - $140,000* / year (about $48–$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 will play a critical role in enhancing the performance and scalability of our Embedded Linux solutions. This role involves working on software architecture and improvements, focusing on optimization and fine-tuning aspects of our Ubuntu-based operating systems for embedded devices. The successful candidate will collaborate closely with cross-functional teams to analyze system performance, identify bottlenecks, and implement innovative solutions that align with Canonical's commitment to quality and efficiency in the embedded space.



Job Responsibilities

  • Design, develop, and optimize embedded Linux systems for various hardware platforms.
  • Analyze system performance to identify bottlenecks and implement effective solutions.
  • Collaborate with hardware engineers to integrate software functionality effectively.
  • Contribute to architectural decisions to enhance system scalability and performance.
  • Write and maintain documentation for internal and customer-facing purposes.
  • Participate in code reviews and mentoring junior engineers in best practices.
  • Develop testing frameworks and tools to ensure software reliability and performance.


Qualifications

  • Bachelor's or Master's degree in Computer Science, Electronic Engineering, or a related field.
  • Minimum 5 years of experience in software development for embedded systems, specifically with Linux.
  • Extensive knowledge of C/C++ programming and experience with Python or other scripting languages.
  • Deep understanding of Linux internals, system architecture, and performance optimization techniques.
  • Experience with build and version control systems such as Git, Makefiles, or CMake.
  • Familiarity with system-level debugging tools and techniques.
  • Excellent communication skills and the ability to work collaboratively within a team.


Technologies & Tools

This position primarily utilizes a range of technologies and tools, including but not limited to embedded Linux systems, C/C++, Python, Git for version control, and build systems such as Make and CMake. Familiarity with debugging tools like GDB and system profiling utilities will also be essential for performance optimization tasks. The role will also require knowledge of cross-compilation techniques and experience with various hardware architectures.



Ideal Candidates

The ideal candidates for this position are those who demonstrate a strong analytical mindset and a passion for problem-solving in the field of embedded systems. They possess excellent programming skills along with a solid understanding of Linux internals. A proactive approach and the ability to work independently while being an effective team player are essential. Candidates should also exhibit a dedication to continuous learning and improvement, paired with a track record of delivering high-quality software solutions in a timely manner.

Asked to add a skill to your resume in a hurry? Pick the resume, type the skill, and Add a Skill gives you the lines to add. Add a skill →

View Similar Jobs

Matches Jobs

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