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 pivotal role in enhancing the performance and efficiency of embedded Linux systems. This position requires a deep understanding of both software design and hardware platforms. The successful candidate will be responsible for identifying opportunities for optimisation and implementing solutions that enhance the overall functionality of embedded systems. Collaboration with cross-functional teams and an active engagement in performance profiling, troubleshooting, and debugging activities will also be essential for this role.
Job Responsibilities
- Design, develop, and optimise embedded Linux software solutions for diverse hardware platforms.
- Conduct performance analysis and identify bottlenecks within the system to drive improvements.
- Collaborate with hardware engineers to ensure seamless integration of software and hardware components.
- Employ profiling tools to monitor system performance and implement optimisation techniques effectively.
- Participate in code reviews and contribute to best practices in software development and documentation.
- Support debugging efforts for complex issues on various embedded platforms.
- Stay updated with industry advancements and continuously learn new technologies related to embedded systems.
Qualifications
- Bachelor’s degree in Computer Science, Electrical Engineering, or a related field; Master’s degree preferred.
- 5+ years of experience in embedded software development with a strong focus on Linux environments.
- Expertise in C/C++ programming languages and strong understanding of data structures and algorithms.
- Hands-on experience with performance optimisation techniques in embedded systems.
- Proven ability to work with hardware interfaces and drivers, including GPIO, I2C, SPI, and UART.
- Familiarity with real-time operating systems (RTOS) and performance profiling tools.
- Strong analytical and problem-solving skills, with a keen attention to detail.
Technologies & Tools
The Embedded Linux Senior Software Engineer - Optimisation role will primarily involve using a variety of technologies and tools, including but not limited to, Linux kernel and user-space development, cross-compilation toolchains, version control systems like Git, and performance analysis tools such as gprof and perf. Additionally, experience with kernel modules, real-time applications, and debugging tools (e.g., GDB) will be essential for success in this position.
Ideal Candidates
The ideal candidate for this role is a motivated individual with a passion for embedded systems and a track record of delivering high-quality software solutions. They possess strong communication skills, allowing them to work effectively within multidisciplinary teams. A proactive approach to problem-solving, combined with an eagerness to learn and adapt in a fast-paced environment, will distinguish a successful applicant. Candidates should also exhibit a creative mindset and the ability to think critically about complex challenges, showcasing their potential to contribute positively to Canonical's innovative projects.
Claiming unemployment in Michigan? Its agency asks for 3 unique work search activities a week. What it asks →
View Similar Jobs
Similar jobs which you may be interested in. Typically using your existing skillset.