C/C++

Senior C Software Engineer - Remote

settings_input_antenna Remote

KỸ NĂNG

  • C/C++

MÔ TẢ CÔNG VIỆC

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 Do

  • Inventory and classify repositories, binaries, build targets, dependencies, generated artifacts, interfaces, owners, test coverage, and runtime relationships

  • Reconstruct reproducible builds where documentation is incomplete and determine the actual compiler, linker, preprocessor, and feature flags used by each repository

  • Identify differences caused by modern GCC, glibc, system headers, libc behavior, ABI changes, stricter diagnostics, architecture assumptions, and removed or deprecated APIs

  • Trace compile-time and run-time dependencies across repositories and establish a safe migration order for shared libraries, consumers, services, and batch components

  • Distinguish genuine source defects from undefined behavior that only becomes visible under a newer compiler or operating system

  • Remediate portability issues involving integer widths, signedness, alignment, endianness, structure packing, pointer conversions, variadic functions, format strings, time APIs, filesystem semantics, and threading

  • Diagnose compiler optimization effects and select or correct flags without hiding defects through indiscriminate warning suppression

  • Analyze static and dynamic linking, symbol resolution, SONAME/version changes, transitive dependencies, rpath/runpath, loader behavior, and binary compatibility

  • Replace, upgrade, isolate, or rebuild legacy third-party libraries while minimizing unnecessary changes to unaffected business logic

  • Use debugging and analysis tools such as gdb, core dumps, sanitizers, Valgrind or equivalent memory analysis, strace, ltrace, perf, nm, objdump, readelf, and dependency inspection tools

  • Create focused characterization and regression tests around existing behavior before remediation, then compare outputs, logs, files, database effects, and performance against the RHEL 4 baseline

  • Integrate migrated repositories into CI/CD with reproducible builds, explicit toolchain configuration, dependency controls, automated tests, and auditable migration status

  • Coordinate with the Solution Architect, Oracle SMEs, AWS engineers, testers, and customer maintainers to resolve cross-system issues

  • Document decisions, unresolved risks, rollback considerations, and repository-level completion evidence

YÊU CẦU CÔNG VIỆC

  • 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.

Preferred Qualifications

  • RHEL 4, AlmaLinux 9, modern RHEL, Rocky Linux, or comparable enterprise Linux migration experience

  • Experience with Oracle-backed transaction-processing applications

  • Experience with monolithic backend platforms, nightly jobs, batch processing, file-based interfaces, and stateful integrations

  • Experience migrating native applications to AWS EC2 or supporting subsequent cloud migration

  • Experience with CI/CD for native code and artifact/version management across many repositories

  • Experience with security hardening, SELinux, TLS modernization, and vulnerability remediation

  • Experience using AI-assisted tools for code inventory, dependency analysis, remediation suggestions, or test generation while retaining human review

  • Automotive, financial transaction-processing, government, industrial, or other high-consequence legacy-system experience

Expected Evidence from Candidates

  • A concrete example of a major Linux, compiler, or library migration personally performed

  • An example of diagnosing a difficult production C defect and the tools used

  • An example of untangling multi-repository or shared-library dependencies

  • An explanation of how to preserve behavior when tests and documentation are incomplete

  • An explanation of how to choose compilation flags for correctness, diagnostics, reproducibility, and performance

  • An example of integrating legacy C builds into automated pipelines

QUYỀN LỢI

  • Receive 100% salary from the onboarding date.

  • Participate in company activities: Teambuilding, travel, vacation and other activities.

  • Work with large and advanced systems, have the opportunity to develop comprehensive technology skills with complex problems, requiring high accuracy.

MỨC LƯƠNG

up to 45 triệu
work Loại hình làm việc :
Remote
event Hạn ứng tuyển:
30/09/2026
date_range Kinh nghiệm:
8 năm
school Học vấn:
Không yêu cầu
people Số lượng:
1
switch_account Cấp bậc:
Senior

Hỗ trợ ứng tuyển

hr
email
anhlp1@hatonet.com

Việc khác cùng kỹ năng