1

Linux Devices Software Engineer Jobs in Toronto, ON

We develop Okta cloud services and client software that allow users to seamlessly login to devices ... The Staff Software Engineer in Test Opportunity We seek a passionate and experienced C++ / Linux ...

About This Role We are looking for a Senior Embedded Linux Engineer to work on software development for industrial high-power conversion and power-management systems based on ARM System-on-Module ...

We are seeking a talented and motivated Perception Software Engineer to join our growing team. In ... Experienced working with embedded system running RTOS/Linux and knowledgeable with threading ...

... software engineer to join our development team. You'll work across our platform, from backend ... Linux (Ubuntu) * Tools: JIRA, Bitbucket // Required Skills / Experience * 2-5 years of experience ...

We are looking for an enthusiastic and motivated software engineer to join our marketplace teams ... Basic understanding of command-line tools and Linux environments. * An eagerness to learn about ...

We are seeking a skilled Software Engineer with strong experience in Java, Spring Boot, REST APIs ... Develop, maintain, and optimize Unix/Linux scripts using Shell, Korn Shell, AWK, and Perl, ensuring ...

next page

Showing results 1-20

Linux Devices Software Engineer information

What are the key skills and qualifications needed to thrive as a Linux Devices Software Engineer, and why are they important?

To thrive as a Linux Devices Software Engineer, you need strong programming skills in C/C++, knowledge of operating system concepts, and experience with embedded systems, usually supported by a degree in computer science or related fields. Familiarity with Linux kernel development, device drivers, version control systems like Git, and debugging tools is essential. Problem-solving ability, attention to detail, and effective communication help you collaborate with cross-functional teams and tackle complex technical challenges. These skills ensure robust, efficient device software that integrates seamlessly with the Linux ecosystem and meets project requirements.

What does a Linux Devices Software Engineer do?

A Linux Devices Software Engineer is responsible for developing, testing, and maintaining software that enables hardware devices to work with the Linux operating system. This often involves writing device drivers, optimizing system performance, and ensuring compatibility between hardware and Linux distributions. They work closely with hardware engineers and contribute to open-source projects to improve device support. Their role is crucial in making sure that new and existing hardware can function efficiently on Linux-based systems.

What is the difference between Linux Devices Software Engineer vs Embedded Software Engineer?

AspectLinux Devices Software EngineerEmbedded Software Engineer
Required CredentialsBachelor's in Computer Science or related, Linux/Unix certificationsBachelor's in Electrical Engineering, Computer Engineering, or related, embedded systems certifications
Work EnvironmentDeveloping software for Linux-based devices, often in office or lab settingsDeveloping firmware for embedded hardware, often in labs or manufacturing environments
Industry UsageConsumer electronics, IoT devices, industrial equipmentAutomotive, medical devices, consumer electronics
Common Search/ComparisonYesYes

The main difference between a Linux Devices Software Engineer and an Embedded Software Engineer lies in their focus. Linux Devices Software Engineers primarily develop software for Linux-based hardware, while Embedded Software Engineers work on firmware for various embedded systems. Both roles require similar technical skills and certifications but differ in the target platforms and environments.

What are some common challenges Linux Devices Software Engineers face when integrating hardware with the operating system?

Linux Devices Software Engineers often encounter challenges such as ensuring compatibility between diverse hardware components and the Linux kernel, debugging low-level driver issues, and addressing performance bottlenecks. Working closely with hardware teams, they may need to interpret hardware specifications and troubleshoot timing or communication problems. Staying up-to-date with kernel updates and community best practices is crucial, as device support and APIs can change rapidly. Effective collaboration with other developers and open-source contributors also plays a key role in resolving integration issues and optimizing device performance.
Staff Software Engineer in Test, Linux

Staff Software Engineer in Test, Linux

Okta

Toronto, ON • Hybrid

Other

Posted 20 days ago


Job description

The Okta Verify Team

Okta Verify Team builds desktop and mobile applications for authentication and authorization across Okta-protected resources. Our mission is to enable customers to access these resources securely. We develop Okta cloud services and client software that allow users to seamlessly login to devices and use Okta authenticators to access applications securely. 

The Staff Software Engineer in Test Opportunity

We seek a passionate and experienced C++ / Linux Staff Software Engineer in Test to join our dynamic team. We are looking for someone who is excited about testing and automation for the Linux Platform and can build for this enterprise setting.  Okta Engineering strongly believes in automated testing, UX design, and an iterative process to build high-quality next-generation software.  

The ideal candidate is passionate about leading quality strategy for large-scale, mission-critical client applications on Linux platform.This is a great opportunity to work in an environment of scale, work in a talented and passionate group, build processes, and be front and center in Okta's vision of passwordless access to any application. The role gives the candidate an excellent opportunity to learn about interesting problems in security and identity space. It also has a lot of visibility within Okta and has great growth potential.

What you'll be doing 

  • Collaborate with the product management, development, and cross-functional teams using JIRA and Confluence tools to define test plans based on business requirements and application software designs.
  • Work with software engineers and engineering management to scope, plan and execute automation and test efforts
  • Master, improve, and innovate upon our existing tools and automation for Desktop clients and Web applications
  • Interface with Product Management, Development, Documentation, and UX teams
  • Partner with Customer Support and field teams to understand customer use cases and build relative test plans
  • Develop and maintain high quality functional, regression, and end-to-end tests for Okta Verify app.
  • Work closely with Linux community and Beta programs to certify Okta Verify readiness on major and minor OS upgrades. 
  • Develop and maintain automation code in C++/C# and .NET Core

What you'll bring to the role

  • 6+ years of product testing and test automation experience
  • Able to write new and maintain existing automated test cases
  • Experience testing Linux desktop applications built on C# and .NET Core
  • Experience working with databases such as MySQL, DynamoDB, etc.
  • Experience with C++, C#, .NET, or similar Client automation tools.
  • Experience building and maintaining CI/CD pipelines (e.g., CircleCI, GitHub Actions, Xcode Cloud)
  • Knowledge and experience in testing Web services
  • Experience with security and single sign-on concepts
  • Experience with Windows Desktop application testing is a plus
  • Experience with some of the following technologies and services is a plus.
  • Test experience or academic knowledge of client applications
  • Experience with collaboration tools like JIRA, Confluence, etc

(P25319_3473238)

#LI-Hybrid

#LI-BB1