About the role
We are looking for an experienced Linux Software Engineer with 6-10 years of hands-on experience in Linux software development, packaging, build systems, automation, and release engineering. The ideal candidate will have strong expertise in Debian Linux environments, package management, Bash scripting, software build and release processes, and troubleshooting complex system and dependency issues.
The role involves working closely with software development, QA, and release engineering teams to package, test, automate, and deliver reliable software for Linux-based platforms. The candidate should be comfortable debugging build and installation failures, improving automation, performing regression and stability testing, and working with programming languages such as C, C++, Go, or Python.
The core responsibilities for the job include the following:
Linux Software Packaging and Release:
- Package, build, test, and release software applications and components for Debian Linux-based environments.
- Develop and maintain Debian packages, including package metadata, dependencies, installation scripts, and configuration requirements.
- Manage software releases across different Linux environments and versions.
- Troubleshoot packaging, installation, configuration, and runtime issues.
- Ensure software packages meet quality, compatibility, dependency, and release standards.
- Support software upgrades, patches, hotfixes, and maintenance releases.
Build and Dependency Management:
- Design, maintain, and improve software build processes and build automation.
- Troubleshoot complex build failures, compilation errors, dependency conflicts, linker issues, and installation failures.
- Analyze and resolve package dependency issues across Linux environments.
- Work with build tools, package repositories, libraries, and system-level dependencies.
- Improve build reliability, reproducibility, and release efficiency.
- Identify potential compatibility issues across different Linux distributions and versions.
Automation and Scripting:
- Develop and maintain automation scripts using Bash/Shell scripting.
- Build automation solutions using Python, Go, C, or C++ where appropriate.
- Automate software packaging, testing, deployment, validation, and release processes.
- Develop scripts and tools to reduce repetitive manual work.