Vietnam
about 1 hourRequired 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.