Computer Software Engineer (Junior Level)
XIAOMI TECHNOLOGIES SINGAPORE PTE. LTD.
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 software and specialized utility programs to manage large-scale database and storage systems effectively.
- Analyze user and system requirements to create software solutions using computer science, engineering, and mathematical principles.
- Update and enhance existing software capabilities to improve database and storage services.
- Develop and direct software testing and validation procedures to ensure system reliability.
- Collaborate with infrastructure, platform, and business engineering teams to integrate systems and contribute to performance specifications..
- Build tooling and automation for monitoring system health, capacity planning, backup processes, and incident response.
- Participate in on-call rotations and respond to and remediate production incidents to maintain system availability.
Requirements
- Bachelor's degree or higher in Computer Science, Information Technology, Programming & Systems Analysis, Science (Computer Studies), or Software Engineering.
- Proficient in one or more programming languages such as Golang, Java, Python, or Rust.
- Strong knowledge of TCP/IP, data structures, algorithms, operating systems, networking, databases, and computer architecture.
- Basic understanding of database concepts including indexing, transactions, ACID, MVCC, Raft, sharding, CAP theorem, and high availability.
- Familiarity with Unix/Linux operating systems and networking.
- Experience with MySQL, Redis, MongoDB, HDFS, or HBase.