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 responsible for enhancing and optimizing the performance of software running on embedded Linux systems. This role requires deep technical expertise in embedded software development, as well as a strong ability to collaborate with cross-functional teams to deliver high-quality, efficient, and reliable software solutions. The ideal candidate will have a passion for performance tuning, a solid background in system-level programming, and a proactive approach to solving complex challenges in embedded environments.
Job Responsibilities
- Design, develop, and optimize embedded Linux software for a variety of platforms.
- Implement performance enhancements and diagnose bottlenecks in existing codebases.
- Collaborate with hardware engineers to ensure software and hardware compatibility and performance.
- Conduct code reviews and provide mentorship to junior engineers to cultivate best practices in embedded development.
- Participate in the full software development lifecycle, from requirements gathering to unit testing and validation.
- Utilize profiling and debugging tools to measure and improve performance metrics.
- Stay up-to-date with the latest advancements in embedded technologies and Linux kernel developments.
Qualifications
- Bachelor’s or Master's degree in Computer Science, Electrical Engineering, or a related field.
- A minimum of 5 years of experience in embedded software development, specifically with embedded Linux systems.
- Proficient in C/C++ programming languages and scripting languages such as Python or Bash.
- Strong understanding of Linux internals, system calls, and kernel modules.
- Experience with performance profiling tools, memory management techniques, and optimizing algorithms.
- Familiarity with ARM architectures and cross-compilation techniques.
- Excellent problem-solving skills and ability to work collaboratively in a team environment.
Technologies & Tools
The role will involve working with various technologies and tools, including but not limited to embedded Linux distributions, cross-compilation toolchains, performance profiling tools (such as gprof and Valgrind), and version control systems like Git. Familiarity with build systems like CMake or Make, as well as container technologies like Docker, will also be beneficial for this position. Moreover, experience with continuous integration/continuous deployment (CI/CD) practices will enhance the development process.
Ideal Candidates
The ideal candidates for the Embedded Linux Senior Software Engineer - Optimisation position at Canonical will possess a strong analytical mindset and a profound passion for software optimization. They should exhibit excellent attention to detail and maintain high coding standards while being adaptable to ever-changing project requirements. Candidates should also be proactive communicators, capable of articulating complex technical concepts and collaborating effectively across diverse teams. A commitment to continuous learning and staying abreast of industry trends and advancements in embedded systems will further distinguish them in this role.
In software, telecom and media, hires came to 3.4% of jobs in September and layoffs to 1.7%, against 3.4% and 1% for all industries. The tech job market →
View Similar Jobs
Similar jobs which you may be interested in. Typically using your existing skillset.