Linux Acquisition Software Development

2 days ago

Ottawa, ON, Canada Jobtailor Full-time $90,000 - $140,000 Contract
  • Design, implement, and maintain acquisition software components for Linux platforms
  • Develop and maintain Linux kernel drivers for frame grabbers and GigE Vision acquisition devices
  • Develop user-space libraries, APIs, SDK components, and GenTL producers
  • Optimize software performance, memory usage, and throughput for high-bandwidth image acquisition systems
  • Investigate and resolve complex issues involving hardware, drivers, operating systems, and customer applications
  • Support integration with GenICam, GenTL, GigE Vision, CoaXPress, and Camera Link HS standards
  • Create, maintain, and execute automated software tests
  • Develop unit tests, integration tests, and system-level validation suites
  • Improve software test coverage and quality metrics
  • Perform root-cause analysis and debugging of software defects
  • Utilize static code analysis, sanitizers, and other quality assurance tools
  • Participate in design reviews, code reviews, and cybersecurity assessments
  • Contribute to CI/CD pipelines and automated build systems
  • Develop scripting and automation tools using Python and shell scripting
  • Support software packaging, deployment, and installation on Linux distributions
  • Leverage and evaluate AI-assisted development tools and technologies
  • Apply AI techniques for log analysis, test generation, anomaly detection, and software engineering workflows
  • Work closely with hardware, FPGA, product management, QA, and customer support teams
  • Participate in technical discussions, project planning, and architecture reviews
  • Contribute to technical documentation and knowledge sharing

Requirements

  • Bachelor’s or Master’s degree in Computer Science, Software Engineering, Computer Engineering, Artificial Intelligence, or equivalent experience
  • Strong software development experience in C and C++
  • Programming experience in Python
  • Experience developing software on Linux platforms
  • Experience with multithreaded and concurrent software development
  • Experience debugging complex software issues in Linux environments
  • Understanding of Linux system internals and operating system concepts
  • Knowledge of source control (Git), code reviews, automated testing, and continuous integration
  • Experience developing and maintaining unit tests
  • Strong analytical and problem-solving skills
  • Ability to work effectively in a collaborative multidisciplinary team environment
  • Strong written and verbal communication skills in English
  • Experience developing Linux kernel drivers
  • Experience with PCIe, DMA, interrupt handling, and high-performance I/O systems
  • Experience with Ethernet protocols
  • Experience with machine vision, image acquisition, or industrial automation systems
  • Familiarity with GenICam, GenTL, GigE Vision, Camera Link HS, CoaXPress, or similar imaging standards
  • Experience with static analysis and security-focused development practices
  • Experience using sanitizers such as ASAN, TSAN, and UBSAN
  • Experience with automated test frameworks and test-driven development (TDD)
  • Familiarity with cybersecurity principles and secure software development lifecycle
  • Experience with Docker, virtualization, or cloud-based development environments
  • Experience using AI-assisted coding, testing, and software development tools
  • Knowledge of GPU architecture and programming

Core Competencies

Demonstrates expertise in developing and maintaining software components for Linux platforms, including Linux kernel drivers and user-space libraries. Proficient in utilizing AI techniques and tools for software development and testing, while ensuring high performance and quality through automated testing and debugging.

Highest-signal resume keywords

  • C Programming
  • C++ Programming
  • Linux Kernel Driver Development
  • Python Programming
  • Automated Testing Frameworks

Hard Skills

  • Linux Software Development
  • Multithreaded Programming
  • Debugging Complex Software Issues
  • Static Code Analysis
  • Unit Testing
  • Continuous Integration
  • High-Performance I/O Systems
  • Machine Vision
  • Image Acquisition
  • AI-Assisted Development Tools

Soft Skills

  • Analytical Problem-Solving
  • Collaborative Teamwork
  • Written C