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
Canonical is seeking a highly skilled Embedded Linux Senior Software Engineer with a strong focus on optimisation to join our dynamic team. In this pivotal role, the engineer will be responsible for designing, developing, and enhancing embedded Linux systems, ensuring optimal performance and resource efficiency. The successful candidate will collaborate closely with cross-functional teams to implement innovative solutions, debug complex systems, and contribute to the evolution of our embedded offerings, driving advancements that align with industry standards and customer needs.
Job Responsibilities
- Design, develop, and optimise embedded Linux applications and systems for maximum performance and efficiency.
- Conduct performance analysis and profiling to identify bottlenecks and implement appropriate improvements.
- Collaborate with hardware engineers to understand platform constraints and execute hardware-software integration.
- Manage the full software development lifecycle, from requirement gathering and design through to deployment and maintenance.
- Contribute to architecture discussions and influence system design decisions.
- Document development processes, code changes, and system configurations for future reference and team collaboration.
- Mentor junior engineers and foster best practices in software development within the team.
- Stay updated on industry trends in embedded software and Linux development, suggesting relevant improvements.
Qualifications
- Bachelor’s or Master’s degree in Computer Science, Computer Engineering, or a related field.
- A minimum of 5 years of professional experience in embedded software development with a strong focus on Linux.
- Proficiency in C/C++ programming languages and experience with system-level programming.
- Deep understanding of embedded systems architecture and hardware interfaces.
- Experience with performance optimisation techniques and profiling tools.
- Familiarity with Agile development methodologies and continuous integration practices.
- Knowledge of cross-compilation and version control systems such as Git.
- Strong problem-solving skills and the ability to work in a collaborative team environment.
Technologies & Tools
The Embedded Linux Senior Software Engineer will be working with various technologies and tools including, but not limited to, Linux Kernel, Yocto, Buildroot, various real-time operating systems (RTOS), GCC, GDB, and performance analysis tools such as Valgrind and perf. A solid understanding of hardware interfaces like I2C, SPI, and UART is essential, alongside familiarity with cloud technologies for software deployment and management.
Ideal Candidates
The ideal candidate will exhibit strong analytical and critical thinking skills and possess a keen attention to detail. They will thrive in a fast-paced environment and be capable of managing multiple priorities while adhering to deadlines. A passion for technology and continuous learning, coupled with excellent communication skills, will distinguish them as a collaborative team member who brings innovative ideas and solutions to the table.
Unemployment does not last the same number of weeks everywhere. In Virginia it is paid for 12 to 26 weeks, depending on your earnings. How it works there →
View Similar Jobs
Similar jobs which you may be interested in. Typically using your existing skillset.