Job Responsibilities:
1. Lead the overall architecture design and technical roadmap planning of the company's software, guide and review the code implementation of team members;
2. Develop software development standards, testing strategies, and quality assurance systems, standardize R&D process systems, and ensure the quality and reliability of software products;
3. Responsible for technical breakthroughs and exploration of new technologies in key modules of the system;
4. Coordinate the allocation of R&D resources, guide the handling of various problems that arise during the project development process, ensure R&D quality and timely delivery;
5. Responsible for maintaining the technical documentation system, knowledge sharing, technical training, and other related tasks;
6. Manage the technical team, guide and train team members, improve the overall technical level and development efficiency of the team;
Job requirements:
1. Bachelor's degree or above, major in computer software or related fields; Over 7 years of development experience, and over 2 years of experience in managing small R&D teams;
2. Proficient in data structures, multi-threaded programming, familiar with commonly used design patterns, strong architectural and business abstraction abilities, capable of business system modeling, high availability and high scalability system design, and complex system refactoring capabilities;
3. Familiar with JVM, including memory model, class loading mechanism, and performance optimization;
4. Familiar with containerization systems such as Docker, familiar with the design and application of distributed systems, familiar with mechanisms such as distribution, caching, and messaging, able to apply commonly used distributed technologies reasonably, and solve practical architecture problems;
5. Familiar with the principles of commonly used open source frameworks and components, including SpringMVC, Springboot, Springcloud, Dubbo, MyBatis, Redis, RocketMQ, nacos, etc./bookeeper, familiar with common