- 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
|
- 24x7 system availability
- 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.
|