Vietnam
Published on: September 23, 2026
Required Experience
8+ years of substantial, hands-on production development in pure C, beyond academic work or occasional C++ interoperability
Deep experience with large, multi-repository C systems on Linux
Strong knowledge of C89/C90, C99, and relevant later-language behavior, with the judgment to modernize safely without unnecessary rewrites
Strong GCC and GNU toolchain experience, including preprocessing, compilation, assembly, linking, warnings, optimization levels, debug symbols, feature-test macros, and architecture-specific flags
Advanced debugging of memory corruption, use-after-free, double-free, leaks, buffer overruns, race conditions, deadlocks, crashes, and non-deterministic defects
Experience with Make and complex legacy build systems; ability to understand or modernize recursive Makefiles, generated configuration, shell-driven builds, and custom build scripts
Strong understanding of static and shared libraries, ELF binaries, ABIs, dynamic loaders, symbol/version conflicts, and Linux process behavior
Experience migrating software across major Linux or toolchain generations
Experience designing regression evidence for systems with limited automated tests
Ability to review unfamiliar code quickly, make minimal-risk changes, and explain technical tradeoffs clearly
Migration-Relevant Libraries and Tooling
Candidates should have direct experience with several of the library and tooling families identified in the existing migration assessment, especially where old versions, changed APIs, recompilation, or replacement may be required:
OpenSSL and TLS/cryptography API migrations
OpenSOAP and gSOAP service integrations
GCC and GNU build/toolchain changes
Perl and XML parsing modules used by build or runtime workflows
Mono or mixed-language/runtime dependencies where present
SQLite and database client integrations
cURL and network-transfer integrations
OpenThreads or other threading/runtime libraries where present
Apache and Sendmail integrations
Shell and operational tooling including awk/gawk, ksh, vi/vim, and related scripts
Oracle client libraries, headers, connectivity, and application dependencies
The exact versions and final remediation path will be confirmed during repository assessment. Candidates are not expected to know every listed utility, but must demonstrate the ability to analyze unfamiliar native dependencies and determine whether to upgrade, rebuild, replace, isolate, or retain them safely.
As part of our hiring process, this role may use Keystone AI’s artificial intelligence or automated tools to assist with reviewing and screening applications. These tools support, but do not replace, human judgment in making hiring decisions.
Your application will be considered complete only after you have completed the full registration process on the Keystone AI platform, including creating your profile, uploading your CV, and submitting your application. The AI interview is optional but encouraged and is not required for your application to be considered.
By submitting your personal data and/or resume, you give consent to collection, use and disclosure of your personal data and/or resume by the company (or its agent) for the purpose of the processing and administration by the company relating to this job application. Read our Privacy Policy.
CGP Group is an affirmative equal-opportunity employer and recruitment firm. We evaluate qualified applicants without regard to race, color, religion, creed, gender, sexual orientation, gender identity, marital status, national origin, age, veteran status, disability, or any other protected class. Information provided in this advertisement is for recruitment purposes only.