Senior C Software Engineer - Remote
switch_account
Senior
location_on
Remote
attach_money
45 Tr
switch_account
Senior
people
1 người
location_on
Remote
We are seeking for deeply experienced Senior C Software Engineers to modernize and integrate a large legacy C estate consisting of approximately 100 repositories. The work supports migration from RHEL 4 to AlmaLinux 9 and later migration to AWS. This is not a general application-development role. It requires production-level C expertise, Linux systems knowledge, disciplined repository-by-repository migration, and the ability to preserve behavior while replacing or upgrading obsolete dependencies.What the Engineers Will DoInventory and classify repositories, binaries, build targets, dependencies, generated artifacts, interfaces, owners, test coverage, and runtime relationshipsReconstruct reproducible builds where documentation is incomplete and determine the actual compiler, linker, preprocessor, and feature flags used by each repositoryIdentify differences caused by modern GCC, glibc, system headers, libc behavior, ABI changes, stricter diagnostics, architecture assumptions, and removed or deprecated APIsTrace compile-time and run-time dependencies across repositories and establish a safe migration order for shared libraries, consumers, services, and batch componentsDistinguish genuine source defects from undefined behavior that only becomes visible under a newer compiler or operating systemRemediate portability issues involving integer widths, signedness, alignment, endianness, structure packing, pointer conversions, variadic functions, format strings, time APIs, filesystem semantics, and threadingDiagnose compiler optimization effects and select or correct flags without hiding defects through indiscriminate warning suppressionAnalyze static and dynamic linking, symbol resolution, SONAME/version changes, transitive dependencies, rpath/runpath, loader behavior, and binary compatibilityReplace, upgrade, isolate, or rebuild legacy third-party libraries while minimizing unnecessary changes to unaffected business logicUse debugging and analysis tools such as gdb, core dumps, sanitizers, Valgrind or equivalent memory analysis, strace, ltrace, perf, nm, objdump, readelf, and dependency inspection toolsCreate focused characterization and regression tests around existing behavior before remediation, then compare outputs, logs, files, database effects, and performance against the RHEL 4 baselineIntegrate migrated repositories into CI/CD with reproducible builds, explicit toolchain configuration, dependency controls, automated tests, and auditable migration statusCoordinate with the Solution Architect, Oracle SMEs, AWS engineers, testers, and customer maintainers to resolve cross-system issuesDocument decisions, unresolved risks, rollback considerations, and repository-level completion evidence