Job Information
【Development and maintenance】
• Analyse, design, develop, as well as implement RESTful services and APIs.
• Be involved in the development life cycle and perform definition and feasibility analysis.
• Implement, integrate, and document a variety of software platforms through the REST API framework.
• Apply the latest software design techniques and contribute to the technical design of fresh solutions.
• Modify existing programs, prepare test data and functional specifications.
• Troubleshoot issues and solve problems, identify potential process improvement areas.
• Implement common APIs based on architecture guidelines and frameworks.
• Write object-oriented, clean, and maintainable code.
• Deliver quality results on time with minimal supervision.
【Core Technical Skills】
• Proficiency in Spring Framework: Spring Core, Spring MVC, Spring Data, Spring Security, Spring Boot.
• Spring Boot Features: Familiarity with key Spring Boot features such as auto-configuration, Spring Boot starters, and embedded servers (e.g., Tomcat) .
【Database Management & DevOps and Deployment Skills】
• Experience with Databases: comfortable with relational databases (e.g., MySQL, PostgreSQL) and ORMs like Hibernate. Knowledge of NoSQL databases (e.g., MongoDB) is often a plus.
• Spring Data: Proficiency in Spring Data JPA or Spring Data MongoDB is valuable for managing database operations in a Spring Boot application.
• Familiarity with CI/CD: Experience with Continuous Integration/Continuous Deployment tools (e.g., Jenkins, GitLab CI) for automating deployment processes.
• Containerization: Understanding of Docker, Kubernetes, and deploying Spring Boot applications in cloud environments (Google Cloud) is highly advantageous.
• Microservices Architecture: Familiarity with microservices architecture and how Spring Boot is used to develop microservices is often a requirement.
【System testing and operation】
• Write and perform unit / integration testing at the stage of system implementation to ensure good quality in line with company technical standards, and contribute to engineering wiki, and documents work.
• Implement processes and systems to monitor APIs heath, ensure production APIs are always running properly.
• Set up and monitor regular backup and restore testing including software, infrastructure, and data.
• Deliver support to team members. And investigate and resolve API errors to ensure Incident resolution in line with planned SLA agreement.
• Timely communication about incident resolution status to ensure transparency.
• Provide incident analysis and technical advice for improvement planning.
【Communication and Collaboration】
• Co-work with the team and review each other's code.
• Meet designers, developers, and project staff for alignment and progress updates.
• Gather and analyse requirements from other developers.
• Attend and speak at application development conferences and workshops.
• Document code so other developers can understand and contribute to it.
• Estimate the amount of time needed to deliver a given task.
【Technical advice and knowledge update and upgrade】
• Stay up to date with latest trends and advancements in software development
• Learn and test modern technologies, frameworks, and languages, and sharing them with colleagues.
• Decide on the best technologies and languages for the project
• Remain current on technology trends to keep our software as innovative as possible.
• Contribute to innovative and continuous improvement initiatives.
•Provide information about innovative technologies and industry trends to help improve efficiency and productivity.
Requirements
- Education Requirement: Bachelor’s degree or higher
- Development Experience: At least three years of Java software development experience
- Technical Skills:
o Proficient in using Spring Boot and JPA
o Practical experience in SQL database operations and optimization
o Familiar with Git version control tools - Project Experience: Involved in large-scale or long-term software projects (or experienced in modular project development)
- Communication Skills: Excellent team communication skills
Preferred Skills
- CI/CD Processes: Knowledgeable in using tools like Jenkins and GitLab CI to implement automated testing, building, and deployment
- Cloud and Containerization Technologies: Familiar with container technologies such as Docker and Kubernetes, as well as common cloud platforms (e.g., AWS, Azure, GCP)