Job Description
Summary
What you'll do
- Write clear, efficient and maintainable code and conduct unit tests.
- Participate in the system architecture design and technology selection, and provide suggestions for the technological development of the product
- Continuously optimize existing services and make improvements based on feedback.
- Use version control tools to manage code and ensure good code management habits.
- Participate in the technical sharing and communication of the team to promote the improvement of the team's technical capabilities.
Job Requirements
Position Overview
- Responsible for the design, development and optimization of the core market information system of the exchange. It is required to have profound experience in developing high-concurrency and low-latency systems, and be proficient in network programming and performance tuning.
What you'll need
- Java Basics: Over 5 years of Java development experience, proficient in JVM principles, memory models, and garbage collection mechanisms
- Netty Framework: Deeply proficient in the Netty framework, familiar with NIO, AIO, and Reactor patterns, with practical experience in large-scale projects
- Performance tuning: Possess system-level performance tuning capabilities, including JVM tuning, network tuning, and database tuning
- Multithreading concurrency: Proficient in Java concurrent programming, familiar with thread pools, lock mechanisms, CAS, volatile, etc
- Network Protocols: In-depth understanding of TCP/UDP protocols, familiar with protocols such as WebSocket and HTTP/2
- Technical stack requirements
- Development frameworks: Spring Boot, Spring Cloud, MyBatis/JPA
- Message middleware: Kafka, RocketMQ, Redis, etc., familiar with message queue design patterns
- Databases: MySQL, Redis, InfluxDB and other time series databases
- Monitoring tools: Prometheus, Grafana, JProfiler, Arthas and other performance analysis tools
- Containerization: Experience in Docker and Kubernetes deployment
- Professional experience requirements
- Industry background (preferredRelevant working experience in finance, securities, futures, and digital currency exchanges
- Experience in developing high-frequency trading systems and real-time market information systems
- Have a deep understanding of the business processes of the exchange
- Project experience
- High-concurrency systems: System design and development experience with over 100,000 QPS processed on a single machine
- Low-latency systems: System optimization experience with millisecond-level and microsecond-level response times
- Big data volume processing: Implementation experience of TB-level data processing and storage solutions
- 7× 24-hour: High-availability system architecture design, rapid fault recovery capability
Job Responsibilities:
- Write clear, efficient, and maintainable code, and unit test it.
- Participate in system architecture design and technology selection, and provide advice for product technology development.
- Continuously optimize existing services and make improvements based on feedback.
- Use version control tools to manage code and ensure good code management practices.
- Participate in the team's technology sharing and exchanges to promote the improvement of the team's technical capabilities.
Job requirements:
Required skills
- Java Basics: More than 5 years of Java development experience, proficient in JVM principles, memory model, and garbage collection mechanism
- Netty framework: Deeply master the Netty framework, familiar with NIO, AIO, and Reactor modes, and have practical experience in large-scale projects
- Performance tuning: Have system-level performance tuning capabilities, including JVM tuning, network tuning, and database tuning
- Multi-threaded concurrency: Proficient in Java concurrent programming, familiar with thread pool, lock mechanism, CAS, volatile, etc.
- Network protocols: In-depth understanding of TCP/UDP protocols, familiarity with WebSocket, HTTP/2 and other protocols
Technology stack requirements
- Development framework: Spring Boot, Spring Cloud, MyBatis/JPA
- Message middleware: Kafka, RocketMQ, Redis, etc., familiar with message queue design patterns
- Database: MySQL, Redis, InfluxDB and other time series databases
- Monitoring tools: Prometheus, Grafana, JProfiler, Arthas and other performance analysis tools
- Containerization: Docker and Kubernetes deployment experience
Professional experience requirements
- Industry background (preferred)
- Relevant work experience in finance, securities, futures, and digital currency exchanges
- Experience in developing high-frequency trading systems and real-time market information systems
- Have an in-depth understanding of the exchange's business processes
Project Experience
- High-concurrency system: System design and development experience for single-machine processing 100,000+ QPS
- Low-latency systems: System optimization experience with millisecond and microsecond response times
- Large data processing: TB-level data processing and storage solution implementation experience
- 7×24 hours: High-availability system architecture design and rapid fault recovery capabilities
Skills
- Communications Skills
- Database Management
- Development
- Java
- Software Engineering
- SQL
- Team Collaboration