Linux Developer

  • Philadelphia, PA
  • Posted 7 hours ago | Updated 3 hours ago

Overview

On Site
$Competitive
Accepts corp to corp applications
Contract - Independent
Contract - W2

Skills

Real-time
Multithreading
Auditing
Collaboration
Middleware
Management
Sockets
Systems Architecture
Legacy Systems
Docker
Version Control
System Integration
Interfaces
API
Performance Testing
Software Release Life Cycle
Accessibility
Regulatory Compliance
SPI
Code Refactoring
Computer Science
Software Engineering
UI
Bash
Scripting
Build Automation
GTK
Qt
Bitbucket
Git
Workflow
Continuous Integration
Continuous Delivery
CMake
Debugging
GDB
Valgrind
OpenGL
Optimization
Performance Tuning
Documentation
Migration
C
C++
Linux
Linux Kernel
Scheduling
Graphical User Interface
Communication
IPC

Job Details

Responsibilities:
Design, develop, and maintain real-time, fault-tolerant desktop applications using C and C++ on Linux platforms
Migrate legacy GUI applications from Motif/X11 environments to modern Linux display protocols such as Wayland, using toolkits like GTK, Qt, or EFL
Write and maintain Bash scripts to automate build processes, deployment routines, and system-level diagnostics
Optimize application performance through multithreading, memory management, and low-latency scheduling techniques
Debug and profile applications using tools such as gdb, valgrind, perf, and strace to ensure stability and responsiveness
Implement secure coding practices and support audit-readiness for mission-critical systems
Collaborate with cross-functional teams to integrate GUI applications with enterprise platforms and middleware
Configure and support lightweight desktop environments and custom window managers, including MWM and Wayland compositors
Manage source code and development workflows using Bitbucket, Git, and CI/CD pipelines
Develop and maintain IPC mechanisms (e.g., sockets, shared memory, DBus) for inter-process communication
Document system architecture, migration strategies, and operational procedures for modernization initiatives
Participate in code reviews, refactoring efforts, and legacy system analysis to support long-term maintainability
Support containerized deployment of desktop applications using Docker in secure, isolated environments.

Deliverables:

Compiled binaries and executables for Linux systems, optimized for performance and reliability
Source code repositories with well-structured C/C++ code, adhering to coding standards and version control best practices
Bash scripts for build automation, deployment, diagnostics, and system integration
Makefiles or CMake/Meson build configurations for reproducible and portable builds across Linux distributions
-GUI application components, including migrated interfaces from Motif/X11 to modern toolkits like GTK, Qt, or Wayland-compatible frameworks
Documentation artifacts, such as API references, architecture diagrams, migration plans, and user manuals
Unit, integration, and performance test suites, with automated scripts and benchmarks for latency-sensitive applications
CI/CD pipeline configurations, integrated with Bitbucket or Git-based workflows for automated build and release cycles
Accessibility and compliance features, such as AT-SPI integration and support for screen readers or keyboard navigation
Legacy code refactoring reports, detailing modernization efforts from older GUI frameworks to current Linux standards


Requirements:

Bachelor's degree in computer science, Software Engineering, or related field (required)
Minimum 10 years of hands-on experience in C/C++ development on Linux systems
Expertise in C and C++ development for Linux desktop applications, including event-driven programming and UI logic
Proficiency in Bash scripting for build automation, deployment, and system-level integration
Experience with legacy GUI frameworks, including Motif, X11, and MWM, with the ability to analyze and refactor legacy codebases
Familiarity with modern display protocols, especially Wayland, including compositor-client architecture and protocol handling
Understanding of GUI migration strategies, including porting from Motif/X11 to toolkits like GTK, Qt, or EFL
Proficiency with Bitbucket and Git workflows, including branching, pull requests, and CI/CD pipelines
Experience with build systems such as CMake, Make, and debugging tools like gdb, valgrind,
Ability to work with low-level graphics APIs, such as OpenGL or Vulkan, for rendering and display optimization
Comfortable working in lightweight or minimal desktop environments, including configuration of .xinitrc, .Xresources, and custom window manager setups
Understanding of Linux system internals, including IPC, permissions, and performance tuning for GUI responsiveness
Strong documentation and communication skills, with the ability to translate technical migration plans into actionable development tasks.

Preferred:
10 years of hands-on experience in C/C++ development on Linux systems
Deep knowledge of Linux kernel scheduling policies for deterministic latency.
Ability to write custom Wayland protocols and implement both client and compositor-side extensions for specialized GUI behavior.
Experience with Zero-Copy Inter-Process Communication (IPC) use of share memory to reducing latency and improving performance
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.