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 be instrumental in enhancing the performance of embedded systems by leveraging advanced software engineering techniques. This role involves collaborating with cross-functional teams to design, implement, and optimize software solutions that meet the demands of a variety of embedded environments. The ideal candidate will have a solid background in Linux kernel development, as well as a passion for improving system efficiency and contributing to innovative product deployments.



Job Responsibilities

  • Design, develop, and optimize embedded Linux software for diverse hardware platforms.
  • Collaborate with hardware engineers to ensure efficient hardware-software integration.
  • Perform code reviews and provide constructive feedback to junior engineers.
  • Utilize profiling tools and techniques to analyze system performance and identify bottlenecks.
  • Document processes, code, and testing protocols for future reference and learning purposes.
  • Engage in agile development practices, collaborating in sprints and iterative product releases.
  • Troubleshoot and resolve performance issues in embedded Linux systems.


Qualifications

  • Bachelor's degree in Computer Science, Electrical Engineering, or a related field.
  • Proven experience in embedded systems development, particularly with Linux-based distributions.
  • Profound knowledge of C/C++ programming languages and kernel-level development.
  • Experience with system optimization techniques and performance profiling.
  • Familiarity with hardware interfaces and protocols (I2C, SPI, UART, etc.).
  • Strong problem-solving skills and attention to detail.


Technologies & Tools


The position requires a strong command of various technologies and tools utilized in embedded software development. Candidates will work with tools such as Git for version control, GNU Debugger (GDB) for troubleshooting, and profiling tools like Valgrind and perf to analyze system performance. Familiarity with Continuous Integration/Continuous Deployment (CI/CD) environments and Docker for containerization will also be beneficial.



Ideal Candidates


The ideal candidate for this position will be a proactive and innovative thinker, eager to contribute to a dynamic team environment while taking ownership of their tasks. They should exhibit a collaborative mindset, showing a willingness to engage with both technical and non-technical team members. Excellent communication skills, along with a passion for technology and a commitment to continuous improvement, are essential for succeeding in this role. A problem-solving attitude and the ability to adapt to evolving challenges will ensure optimal performance in a fast-paced setting.

Our resume checker is free and needs no account: upload a resume and see what to fix. Check my resume →

View Similar Jobs

Matches Jobs

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