Search by job, company or skills

Sustaining Software Engineer Distributed Storage

Sustaining Software Engineer Distributed Storage

arcfra pte. ltd.
8-11 Years
SGD 13,000 - 25,000 per month
  • Posted 2 hours ago
  • Be among the first 10 applicants

Job Description

About the Role

Arcfra is looking for a Sustaining Software Engineer with a strong background in distributed systems, storage technologies, and C/C++ development.

In this role, you will be responsible for maintaining and improving our production-grade storage products. You will investigate complex software defects, troubleshoot customer-reported issues, develop reliable fixes, and work closely with support, QA, and engineering teams to ensure product stability.

This is a hands-on engineering position. It combines software development, production troubleshooting, root-cause analysis, and customer issue resolution. The ideal candidate enjoys working on mature and complex systems, understands how software behaves in real-world production environments, and is comfortable debugging problems across multiple layers of the system.

Key Responsibilities

  • Maintain and improve distributed storage and data infrastructure products.
  • Investigate and resolve customer-reported product issues, including performance degradation, service interruptions, data-path failures, and unexpected system behavior.
  • Reproduce production issues in laboratory or test environments and identify their root causes.
  • Develop, review, test, and deliver high-quality bug fixes using C or C++.
  • Analyze system logs, core dumps, stack traces, performance metrics, and storage-related diagnostic information.
  • Troubleshoot issues involving distributed systems, storage engines, networking, operating systems, concurrency, and hardware interactions.
  • Work closely with customer support and field engineering teams to collect technical information and provide troubleshooting guidance.
  • Collaborate with product development teams on complex defects, architectural improvements, and product reliability.
  • Create diagnostic tools, scripts, test cases, and internal documentation to improve troubleshooting efficiency.
  • Participate in product release validation and ensure fixes are safely backported to supported product versions.
  • Contribute to improving product observability, serviceability, stability, and maintainability.

Required Qualifications

  • Bachelor's degree or above in Computer Science, Computer Engineering, Software Engineering, or a related field.
  • Strong programming experience in C or C++.
  • Solid understanding of data structures, algorithms, multithreading, memory management, and network programming.
  • Practical experience with Linux systems and Linux debugging tools.
  • Good understanding of distributed systems concepts, such as replication, consistency, consensus, fault tolerance, distributed state management, and failure recovery.
  • Experience with one or more storage technologies, such as: Distributed storage systems/ Block, file, or object storage/ Storage virtualization/ RAID, snapshots, replication, or data protection/ Local file systems or storage engines/ NVMe, SCSI, iSCSI, Fibre Channel, or NVMe over Fabrics.
  • Strong troubleshooting and root-cause analysis skills.
  • Ability to read and understand a large and mature codebase.
  • Ability to communicate technical findings clearly in written and spoken English and Chinsese.
  • Willingness to work directly with customer-facing teams on complex production issues.
  • Must be a Singapore citizen, permanent resident, or hold a valid Singapore work permit.

Preferred Qualifications

  • Experience developing or maintaining distributed storage products.
  • Experience with Ceph, SPDK, RocksDB, LevelDB, distributed databases, or similar infrastructure software.
  • Familiarity with Linux kernel storage, device drivers, file systems, or networking subsystems.
  • Experience analyzing core dumps with GDB and diagnosing memory corruption, deadlocks, race conditions, and performance bottlenecks.
  • Experience with observability and diagnostic tools such as perf, eBPF, Valgrind, AddressSanitizer, strace, SystemTap, or similar tools.
  • Familiarity with Python, Bash, or other scripting languages for testing and automation.
  • Experience in enterprise infrastructure, cloud platforms, hyper-converged infrastructure, or data centre products.
  • Previous experience in sustaining engineering, escalation engineering, product support engineering, or site reliability engineering.

What We Value

  • A strong sense of ownership and responsibility for product quality.
  • Patience and persistence when investigating difficult technical problems.
  • The ability to distinguish symptoms from root causes.
  • A practical engineering mindset focused on reliable and maintainable solutions.
  • The ability to work effectively across engineering, QA, support, and customer-facing teams.
  • A willingness to understand both the product source code and the customer's production environment.

More Info

Job Type:
Industry:
Employment Type:

Key Skills

Linux debugging tools

distributed systems concepts

Linux systems

root-cause analysis

About Company