computer software engineer(A102428)
Role details
Job location
Tech stack
Job description
We are seeking a Senior Computer Software Engineer to lead technical work on the company's database and storage infrastructure platforms in Singapore. You will research, design, and develop large-scale, specialised software systems that power our database and storage services, and partner with hardware and platform engineers to deliver highly available, cost-efficient infrastructure operating at scale across multiple data centres.
Responsibilities
-
Responsible for the design, implementation, monitoring, maintenance, troubleshooting, and optimisation of large-scale database and storage systems, ensuring high availability, scalability, and reliability.
-
Research, design, and develop computer and network software, and specialised utility programs, for distributed database and storage platforms operating at PB-scale and across multiple data centres (including relational and analytics databases, NoSQL systems, and Hadoop-based big-data platforms).
-
Update software, enhance existing software capabilities, and develop and direct software testing and validation procedures, including performance, failover, chaos, and data-integrity testing for database and storage services.
-
Work closely with computer hardware engineers and data-centre operations teams to integrate hardware and software systems, and develop detailed specifications and performance requirements for storage media, server SKUs, and network topology.
-
Build tools, automation, visualizations, and monitors to facilitate the operation and optimization of the global infrastructure.
-
Establish operational standards, runbooks, SLO/SLI frameworks, and on-call practices for the database and storage platform team.
-
Mentor junior engineers, conduct design and code reviews, and lead knowledge transfer and technical training.
Requirements
Bachelor's degree or higher in Computer Science, Information Technology, Programming & Systems Analysis, Science (Computer Studies), or Software Engineering.
-
3+ years of production experience designing, building, and operating large-scale distributed database and/or storage systems.
-
Deep proficiency in at least one systems language (Java, Go, C++, or Rust) and strong grasp of distributed-systems fundamentals (CAP, consensus, replication, fault tolerance).
-
Experience integrating hardware and software systems and defining hardware performance requirements in partnership with infrastructure or hardware engineering teams.
-
Ability to communicate in Mandarin and English, in order to support coordination and collaboration with Mandarin-speaking stakeholders, teams, and business partners across regional markets.
-
Hands-on production experience operating one or more of: MySQL,Redis, HDFS, Elasticsearch, HBase, or comparable distributed systems is preferred.