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
 

