1

Linux Programmer Jobs in Toronto, ON (NOW HIRING)

The engineer will design and implement production-grade embedded Linux services for industrial communication, field I/O supervision, local alarm/event handling, internal maintenance web access ...

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 ...

Research Programmer

Toronto, ON · Hybrid

CA$82/hr

The Rotman Research Institute at Baycrest has an opportunity for a RESEARCH PROGRAMMER Position ... Must be capable of working within Linux. * Candidate must be comfortable working in both GUI and ...

Application Release Engineer Toronto ON Hybrid: 2 days a week in-office Experience: 10+ years ... Linux, AIX, Windows server infrastructure Top 3 Preferred Skills: 1. Linux/Unix Administration 2. ...

Application Release Engineer Toronto ON Hybrid: 2 days a week in-office Experience: 10+ years ... Linux, AIX, Windows server infrastructure Top 3 Preferred Skills: 1. Linux/Unix Administration 2. ...

Overview AML Technology is seeking a Programmer Analyst Advisory for the AML Tech Data Development ... Linux, Hadoop Spark, Hive, SQL/HQL, Tidal * Experience in managing and operations of large-scale ...

next page

Showing results 1-20

Linux Programmer information

See Toronto, ON salary details

$34.8K

$89.5K

$171.3K

How much do linux programmer jobs pay per year?

As of Jun 22, 2026, the average yearly pay for linux programmer in Toronto, ON is $89,454.00, according to ZipRecruiter salary data. Most workers in this role earn between $67,758.00 and $109,271.00 per year, depending on experience, location, and employer.

How much does a Linux programmer make?

The salary of a Linux programmer varies based on experience, location, and skill level, but typically ranges from $70,000 to $120,000 annually in many regions. Skilled programmers with expertise in Linux systems, scripting, and open-source tools tend to earn higher salaries, especially in specialized or senior roles.

What are Linux Programmers?

Linux Programmers are software developers who specialize in creating, modifying, and maintaining software that runs on the Linux operating system. They often work with languages like C, C++, Python, and shell scripting to develop applications, drivers, or system-level utilities. Linux Programmers may also contribute to open-source projects and work with various distributions of Linux. Their expertise includes understanding the Linux kernel, system libraries, and development tools. They are essential in environments where stability, security, and performance are critical.

What is the difference between Linux Programmer vs Linux Software Developer?

AspectLinux ProgrammerLinux Software Developer
Primary FocusWriting and debugging Linux-specific code, kernel modules, or system-level applicationsDesigning, developing, and maintaining software applications for Linux platforms
Required SkillsC, C++, Linux system calls, kernel developmentProgramming languages (C, C++, Python), application development, Linux environment
Work EnvironmentSystem-level environments, kernel development, embedded systemsApplication development, software engineering teams, Linux-based platforms
Common EmployersTech companies, hardware manufacturers, embedded systems firmsSoftware companies, IT firms, open-source projects

While both roles involve Linux, a Linux Programmer typically focuses on system-level and kernel development, whereas a Linux Software Developer concentrates on creating user-facing applications and software solutions for Linux platforms. The skills overlap but differ in scope and focus.

What Does a Linux Programmer Do?

As a Linux programmer, your job is to create software for use with Linux operating systems. This could include creating entirely new software, adapting existing software to work with Linux, or performing other tasks as a developer. Fulfilling the responsibilities and duties of a Linux programmer often requires planning out projects, determining which builds of Linux to test your software on, and translating client requests into specific programming goals. Most Linux programmers work in teams, though you may be the sole programmer if you focus on smaller projects. Some Linux programmers work from home instead of working from an office.

Is Linux written in C or C++?

Linux is primarily written in the C programming language, which provides low-level access and efficiency needed for operating system development. While some parts may use C++, the core of Linux is predominantly implemented in C, making it essential for Linux programmers to have strong C language skills.

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

To thrive as a Linux Programmer, you need strong proficiency in C/C++ programming, knowledge of Linux operating system internals, and experience with shell scripting. Familiarity with tools like Git, GCC, Make, and debugging utilities, as well as certifications such as LFCS or RHCE, are often important. Problem-solving ability, attention to detail, and effective teamwork are standout soft skills in this role. These skills and qualities are essential for developing robust, efficient, and secure software solutions within complex Linux environments.

Are Linux developers in demand?

Linux developers are in high demand due to the widespread use of Linux in servers, cloud infrastructure, and embedded systems. Skills in C, scripting, and familiarity with open-source tools increase employability in this field, which offers competitive salaries and opportunities across various industries.

What are some typical challenges Linux Programmers face when working on large-scale projects?

Linux Programmers working on large-scale projects often encounter challenges such as managing system compatibility across various Linux distributions, optimizing code for performance and resource efficiency, and debugging issues that may only appear under specific configurations or workloads. Collaborating with cross-functional teams, including DevOps and QA, is essential to ensure seamless integration and deployment. Effective communication and familiarity with version control systems like Git are also crucial for maintaining code consistency and addressing issues quickly in a collaborative environment.

Is Linux good for programmers?

Linux is highly regarded for programming due to its stability, open-source nature, and extensive support for development tools and languages. Many programmers prefer Linux for tasks such as software development, scripting, and system administration, often using command-line interfaces and package managers like apt or yum.
What are popular job titles related to Linux Programmer jobs in Toronto, ON? For Linux Programmer jobs in Toronto, ON, the most frequently searched job titles are:
What job categories do people searching Linux Programmer jobs in Toronto, ON look for? The top searched job categories for Linux Programmer jobs in Toronto, ON are:

Senior Embedded Linux Engineer

SOCOMEC

Brampton, ON • On-site

Full-time

Posted 6 days ago


Job description

Socomec Group (Socomec) is a global leader in electrical equipment engineering and manufacturing, specialized in low voltage energy performance.
Socomec North America (NAM) is Socomec's organization overseeing all operations in North America.

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 technology. The engineer will design and implement production-grade embedded Linux services for industrial communication, field I/O supervision, local alarm/event handling, internal maintenance web access, device diagnostics, firmware update, and handover to manufacturing/service teams. The products supported by this role are used in high-power electrical environments where redundancy, reliability, serviceability, controlled recovery, and fault-tolerant operation are core design expectations.

The ideal candidate has already shipped or brought up at least one embedded Linux product and is comfortable working close to hardware. The role requires independent execution of embedded software architecture, implementation, debugging, test strategy, validation support, and documentation.

Key Responsibilities And Accountabilities

  • Design and develop robust embedded Linux applications and background services for industrial monitoring, control, diagnostics, communication, and data management on ARM-based platforms, ensuring reliable operation, maintainability, and production readiness.
  • Support Linux platform customization, BSP integration, image generation, peripheral enablement, boot configuration, and board bring-up activities using Yocto/OpenEmbedded, vendor SDKs, or Torizon-based development environments.
  • Develop and maintain reliable industrial communication services using Modbus RTU, Modbus TCP, RS485, UART, Ethernet, and TCP/IP while ensuring fault tolerance, communication integrity, and seamless integration with external monitoring and control systems.
  • Develop and maintain a lightweight embedded web interface for local configuration, commissioning, diagnostics, alarm review, and service access, including secure authentication, REST APIs, and real-time system visibility.
  • Implement alarm management, event handling, historical logging, and fault reporting functions that support system visibility, traceability, service diagnostics, controlled recovery, and long-term operational stability.
  • Integrate software with digital and analog I/O, serial interfaces, watchdogs, RTCs, and other hardware peripherals while supporting system diagnostics, troubleshooting, validation, and manufacturing test activities.
  • Develop and support local operator interfaces using Qt/QML or equivalent technologies, ensuring seamless integration between display functions, system status, alarms, diagnostics, and configuration workflows.
  • Apply software engineering best practices including code reviews, testing, debugging, version control, documentation, and release management to deliver maintainable and production-quality embedded software. 

Essential Qualifications, Experience, And Skills

  • Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Embedded Systems, Software Engineering, or related field.
  • Minimum 7 years of embedded Linux or industrial embedded software experience.
  • Experience bringing at least one embedded Linux product from prototype to field deployment, production test, or customer validation.
  • Experience with industrial, power, automation, monitoring, gateway, data-acquisition, or field-I/O products is strongly preferred.
  • Must be able to work independently with limited supervision and provide clear architecture notes, trade-off analysis, and handover material.
  • Embedded Linux development on ARM-based SoM platforms.
  • Yocto Project, OpenEmbedded, BitBake, vendor SDKs, and Torizon OS.
  • C/C++ application development for embedded Linux systems.
  • POSIX programming including threads, sockets, timers, IPC, file I/O, and memory management.
  • Python and shell scripting for automation, diagnostics, testing, and deployment.
  • Linux system architecture, systemd services, journald, watchdogs, users/groups, networking, and security fundamentals.
  • U-Boot, Linux kernel fundamentals, device tree, pinmux configuration, and board bring-up.
  • Industrial communication protocols including Modbus RTU, Modbus TCP, RS485, UART, Ethernet, and TCP/IP.
  • Serial communication debugging and protocol analysis using Wireshark, tcpdump, libmodbus, Modbus Poll, QModMaster, and related tools.
  • Development of lightweight embedded web interfaces and REST APIs.
  • HTML, CSS, JavaScript, WebSocket, Server-Sent Events, authentication, access control, and HTTPS/TLS implementation.
  • Hardware interfacing using GPIO, I2C, SPI, UART, USB, RTC, watchdogs, and nonvolatile storage.
  • Hardware/software debugging using oscilloscopes, logic analyzers, serial consoles, and protocol analyzers.
  • Ability to read schematics and support hardware bring-up and validation activities.
  • Qt/QML development for embedded Linux HMI applications.(optional)
  • TouchGFX experience for STM32-based or companion-MCU display solutions is an asset.(optional)
  • Integration of HMI applications with alarms, logs, diagnostics, configuration, and backend services.
  • Data logging, event logging, persistence, and power-loss-aware system design.
  • Secure software update and recovery mechanisms using RAUC, SWUpdate, Mender, OSTree, or similar frameworks.
  • Factory image generation, deployment automation, production support, and field recovery procedures.
  • Version control and development tools including Git, GCC/G++, CMake, GDB, Valgrind, clang-tidy, cppcheck, and CI/CD workflows.

Compensation: $110,000 to $130,000 CAD

Upon request, we will provide reasonable accommodation for disabilities to support participation of candidates in all aspects of the recruitment process. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex or national origin.

All applications are reviewed directly by the Socomec North America Talent Acquisition team and other human reviewers. No automated or AIbased systems are used to make decisions in the application review process.

We thank all those who apply. However, only those candidates selected for an interview will be contacted.

#LIZDG