We are looking for System Engineers to design and develop database systems for our main product. You need to apply your software engineering knowledge and skills to solving complex backend problems in a fast-paced startup environment. As our product needs to handle data at a global scale, our database systems need to maintain high performance under pressure, and provide high standard scalability, reliability and security at the same time. As a System Engineer, you will be a key member of a small but talented engineer team, and your efforts will be critically important to the success of our product and the company. You will need to develop database architectures and data models on single servers, clusters, and clouds. You are expected to be very familiar with both relational and nonrelational database systems, including but not limited to setting up, operating, developing functionalities with, backing up, and recovering such database systems. You need to work well with existing architecture, codebase, tech stack, and data to improve the functionality and performance of our current database systems, and also develop new features to support the continuous growth of our product. You need to have a good team spirit and enjoy collaborating with other engineers to figure out the nature of problems, make hard decisions, overcome difficulties, and fulfill the business requirements.
- Design databases (e.g., MySQL, cassandra, redis) to support business applications, ensuring system scalability, security, performance and structural integrity.
- Develop database architectural strategies at the modeling, design and implementation stages to address business or industry requirements.
- Set up database clusters, backup, or recovery processes.
- Design database applications, such as RESTful API, data transfer mechanisms, global temporary tables and function-based indexes to enable efficient access of the generic database structure.
- Set up and ensure database connections with Spring framework, websocket, Nginx server and others to meet business or industry requirements.
- Comunicate and provide technical support to internal staff and clients.
- BS/MS degree in Computer Science, Computer or Electrical Engineering, Mathematics or related field.
- Experience with Unix/Linux operating systems , database(e.g., MySQL, cassandra, redis) and spring framework is preferred.
- Expertise in designing, analyzing and troubleshooting large-scale distributed systems.
- Systematic problem-solving approach, coupled with strong communication skills and a sense of ownership and drive.
- Ability to debug and optimize code.