Linux Software Engineer
at Quarterhill
Saskatoon, SK, Canada -
Start Date | Expiry Date | Salary | Posted On | Experience | Skills | Telecommute | Sponsor Visa |
---|---|---|---|---|---|---|---|
Immediate | 31 Jan, 2025 | Not Specified | 01 Nov, 2024 | 5 year(s) or above | Computer Engineering,Docker,Package Management,Systems Engineering,Computer Science,Shell Scripting,System Automation,Performance Tuning,Automation Tools,Jenkins | No | No |
Required Visa Status:
Citizen | GC |
US Citizen | Student Visa |
H1B | CPT |
OPT | H4 Spouse of H1B |
GC Green Card |
Employment Type:
Full Time | Part Time |
Permanent | Independent - 1099 |
Contract – W2 | C2H Independent |
C2H W2 | Contract – Corp 2 Corp |
Contract to Hire – Corp 2 Corp |
Description:
Overview:
The Linux Software Engineer will be responsible for designing, developing, and optimizing Linux-based systems, particularly for edge computing environments. This role requires deep expertise in creating custom base OS images using tools like Kairos and Yocto, as well as a strong understanding of the specific challenges and requirements of edge computing. The engineer will also contribute to the overall architecture, and ensure that all systems meet the highest standards of performance, security, and reliability.
Responsibilities:
- Design, develop, and optimize custom base OS images tailored for edge devices, utilizing tools such as Kairos and Yocto.
- Collaborate with hardware engineers to ensure seamless integration of the OS with the underlying hardware, considering the specific constraints of edge environments.
- Work with edge hardware vendors to use board support packages (BSP).
- Configure, manage, and optimize Linux-based systems to ensure they are secure, stable, and performant, particularly in distributed edge computing environments.
- Implement system automation using shell scripting and other tools to streamline processes and improve efficiency.
- Develop and deploy Linux-based systems specifically designed for edge computing, ensuring they can handle the unique demands of edge environments, such as limited resources, network variability, and physical constraints.
- Optimize systems for low-latency, high-reliability operation in distributed edge networks.
- Collaborate closely with the software technical manger to design systems, develop and refine technical standards, including coding guidelines ensuring they align with the overall architectural vision and strategic goals.
- Ensure that the team consistently follows the established technical standards, offering mentorship and support to less experienced engineers.
- Conduct thorough code and configuration reviews, ensuring that all implementations meet the required quality standards and follow best practices.
- Identify potential issues early in the development cycle and work with the team to resolve them efficiently.
- Implement and maintain security measures for Linux systems, including patch management, vulnerability assessments, and secure configuration practices.
- Ensure compliance with industry standards and regulatory requirements, particularly in the context of edge computing.
- Develop and maintain comprehensive documentation for all aspects of Linux systems design, including architecture diagrams, system configurations, operational procedures, and troubleshooting guides.
This list of responsibilities might not cover everything you’ll end up doing.
Qualifications:
- Bachelor’s degree in Computer Science, Computer Engineering, or a related field.
- 5+ years of experience with Linux systems engineering and administration.
- Expertise in shell scripting, system automation, and security practices.
- Strong knowledge of Linux internals and networking.
- Extensive experience in configuring, optimizing, and securing Linux-based systems, particularly in the context of edge computing.
- Strong understanding of Linux internals, including kernel configuration, system performance tuning, and networking.
- Deep expertise in creating custom base OS images using Kairos and Yocto, with a focus on edge computing environments.
- Experience in cross-compilation, package management, and build automation tools.
- Hands-on experience with CI/CD tools like Jenkins for automating build, test, and deployment processes.
- Experience with containerization technologies (Docker, Kubernetes).
Benefits:
We offer a Total Rewards plan designed with you and your family’s health and wellness in mind that includes:
- Paid days off (i.e. vacation, sick days, bereavement leave)
- Health and Dental plans
- Retirement plans
- Employee and Family Assistance Program (EFAP)
- Employee referral program
We welcome applicants from all backgrounds, regardless of race, color, religion, sex, veteran status, sexual orientation, gender identity, national origin, age, or disability or any other protected characteristics in accordance with applicable federal, state/provincial, and local laws. We’re committed to creating a workplace where everyone feels valued and respected.
We appreciate all responses and will acknowledge only those being considered for an interview.
We respectfully request no calls or unsolicited resumes from Agencies
Responsibilities:
- Design, develop, and optimize custom base OS images tailored for edge devices, utilizing tools such as Kairos and Yocto.
- Collaborate with hardware engineers to ensure seamless integration of the OS with the underlying hardware, considering the specific constraints of edge environments.
- Work with edge hardware vendors to use board support packages (BSP).
- Configure, manage, and optimize Linux-based systems to ensure they are secure, stable, and performant, particularly in distributed edge computing environments.
- Implement system automation using shell scripting and other tools to streamline processes and improve efficiency.
- Develop and deploy Linux-based systems specifically designed for edge computing, ensuring they can handle the unique demands of edge environments, such as limited resources, network variability, and physical constraints.
- Optimize systems for low-latency, high-reliability operation in distributed edge networks.
- Collaborate closely with the software technical manger to design systems, develop and refine technical standards, including coding guidelines ensuring they align with the overall architectural vision and strategic goals.
- Ensure that the team consistently follows the established technical standards, offering mentorship and support to less experienced engineers.
- Conduct thorough code and configuration reviews, ensuring that all implementations meet the required quality standards and follow best practices.
- Identify potential issues early in the development cycle and work with the team to resolve them efficiently.
- Implement and maintain security measures for Linux systems, including patch management, vulnerability assessments, and secure configuration practices.
- Ensure compliance with industry standards and regulatory requirements, particularly in the context of edge computing.
- Develop and maintain comprehensive documentation for all aspects of Linux systems design, including architecture diagrams, system configurations, operational procedures, and troubleshooting guides
REQUIREMENT SUMMARY
Min:5.0Max:10.0 year(s)
Information Technology/IT
IT Software - Network Administration / Security
Software Engineering
Graduate
Computer science computer engineering or a related field
Proficient
1
Saskatoon, SK, Canada