About the Role
Job Summary
We are looking for a Computer Software Engineer to join our Database & Storage Infrastructure team in Singapore, supporting our distributed database and storage platforms.
Responsibilities
- Research, design, and develop computer and network software, and specialized utility programs, to manage large-scale database and storage systems.
- Analyze user and system requirements, and develop software solutions by applying principles and techniques of computer science, engineering, and mathematical analysis.
- Update software, enhance existing software capabilities, and develop and direct software testing and validation procedures for database and storage services.
- Work with computer hardware engineers to integrate hardware and software systems, and contribute to performance specifications.
- Build tooling and automation for monitoring, capacity planning, backup, and incident response.
- Participate in on-call rotations and production incident remediation.
Requirements
- Bachelor's degree or higher in Computer Science, Information Technology, Programming & Systems Analysis, Science (Computer Studies), or Software Engineering.
- Familiar with TCP/IP, Data Structures, Algorithms and other protocols, and have good knowledge of operation system, network, database, computer architecture.
- Basic understanding of database concepts (indexing, transactions, ACID, MVCC, Raft, sharding, CAP, high availability).
- Proficient in one or more programming languages such as Golang/Java/Python/Rust.
- 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.
- Familiar with Unix/Linux operating systems and networking is preferred.
- Experience in MySQL, Redis, MongoDB, HDFS, HBase is preferred.
Requirements
Bachelor's degree
A degree in Computer Science or related field is required.
Programming languages
Proficiency in languages such as Golang, Java, Python, or Rust is necessary.
Database concepts
A basic understanding of database concepts like indexing and transactions is needed.
TCP/IP knowledge
Familiarity with TCP/IP, data structures, and algorithms is required.
Nice to Have
Unix/Linux experience
Familiarity with Unix/Linux operating systems is preferred.
Database technologies
Experience with MySQL, Redis, MongoDB, HDFS, or HBase is a plus.