Kỹ năng
Mô tả công việc
• 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
• 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
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.
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
• 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
Thời gian làm việc
Trong tuần: Từ thứ 2 - thứ 6
Trong ngày: Từ 08:00 giờ - 17:30 giờ
Quyền lợi ứng viên
- Opportunities to onsite and work with big customers, advanced technology, personal development...
- Opportunity to work in groups with many leading experts in the field of domestic and international IT.
- Opportunity to implement ambitious projects in many countries, gain exposure to the latest technologies and learn from talented colleagues.
- Work in a youthful, vibrant, modern and multicultural environment. Communication activities and events on holidays take place regularly.
- Promotion opportunities based on capacity with corresponding rank increases and salary increases.
- Have the right to participate in soft skills training courses (logical thinking, creative thinking, communication skills, project management skills, negotiation skills...) and Japanese language classes.
- And many other attractive benefits...
- Opportunity to work in groups with many leading experts in the field of domestic and international IT.
- Opportunity to implement ambitious projects in many countries, gain exposure to the latest technologies and learn from talented colleagues.
- Work in a youthful, vibrant, modern and multicultural environment. Communication activities and events on holidays take place regularly.
- Promotion opportunities based on capacity with corresponding rank increases and salary increases.
- Have the right to participate in soft skills training courses (logical thinking, creative thinking, communication skills, project management skills, negotiation skills...) and Japanese language classes.
- And many other attractive benefits...
Địa chỉ làm việc
Cầu Giấy - Hà Nội







