Hao Yang
Verified Expert in Engineering
Back-end Developer
Chengdu, Sichuan, China
Toptal member since August 31, 2022
Hao is a back-end engineer with over six years of experience. He has worked as a developer, DevOps, and tech leader. He is familiar with the Java stack, DevOps, and agile methodologies. He likes to use best practices like TDD, pair programming, and others, to make development efficient and produce clean and maintainable code. Hao has a successful track record of collaborating with numerous Fortune Global 500 clients, assisting them in developing applications that cater to millions of users.
Portfolio
Experience
Availability
Preferred Environment
Agile, Java, Kotlin, Spring Boot, DevOps, Microservices, Amazon Web Services (AWS), Kubernetes, Docker, Jira
The most amazing...
...thing I've led and built is an open-source project to measure development performance based on Google's four key metrics theory. It has 300+ stars on GitHub.
Work Experience
Senior Developer
M2 Communications
- Acted as a senior software engineer, participated in developing a cryptocurrency exchange platform, and helped transform the monolithic application to a microservices architecture. The product is online now.
- Implemented a robust verification process for CAPTCHA generation and validation, ensuring the security and integrity of transactions on the platform.
- Built a notification service from scratch by myself, which could send emails and SMS, and it was used by many other services.
- Collaborated effectively within a fully remote team, communicated frequently with team members, and successfully met tight deadlines.
Tech Leader
ThoughtWorks
- Collaborated with a leading Australian streaming company, successfully split the monolithic application into microservices, and provided APIs for the front end to render the pages. This project serves millions of users.
- Acted as the tech leader, focused on coding, solution design, and requirement analysis.
- Used Spring WebFlux as the framework for this project, and most of the team members didn't have experience. To solve this, I utilized sessions and code reviews to help the team members get on board quickly.
- Promoted best practices like pair programming, test-driven, and trunk-based development to help the team transfer knowledge more frequently and improve efficiency.
Tech Leader
ThoughtWorks
- Built an application based on Google's four key metrics theory. It integrates with CI/CD pipelines and uses the data to calculate metrics, which help teams measure development performance and identify improvement areas. It has 300+ stars on GitHub.
- Acted as the tech leader, focusing on solution design, coding, and maintaining the codebase after it was open-sourced.
- Analyzed the data from CI/CD pipelines and designed the algorithm for each metric calculation.
- Designed a solution that separates the calculation and integration logic; it makes the integration easy and won't impact the calculation logic. The app needed to integrate with various pipelines.
- Communicated with other teams to integrate our product and gathered valuable feedback. This feedback was analyzed and implemented, improving the project.
- Encouraged the team to use test-driven development (TDD) in this project; in the end, the unit test coverage was more than 90%.
Senior Developer
ThoughtWorks
- Worked with a world-leading mining group and created products such as a mining site visualization system, a blast notification system, and an equipment utility analysis system. These systems served 1,000+ users, improving site efficiency and safety.
- Acted as the key back-end developer and DevOps, focused on back-end coding, solution design, infrastructure setup, and maintenance.
- Took on most of the responsibilities in the back end, as a back-end engineer, which included writing most of the code (6+ services) and troubleshooting. I once successfully completed the backend development under a tight two-week deadline.
- Charged with the code quality. For example, I used TDD during the development, and the unit test coverage was more than 95%.
- Helped the team set up infrastructures like a CI/CD pipeline and Kafka and maintained the Kubernetes cluster. I've also implemented a solution for crossing AWS accounts and Kubernetes cluster deployment, which was used by many other teams.
Senior Developer
ThoughtWorks
- Collaborated with a leading insurance company to build an online insurance claim system and an online insurance purchasing platform.
- Designed and implemented an SMS verification flow, which sends an SMS to the user, and the user can only do further operations after they verify the code. It integrated with the Redis and guarded the safety of the application.
- Helped onboard and train three junior developers for six months, helping them identify areas of weakness in their skill set and develop study plans. All of them passed probation periods successfully.
Back-end Developer
Tencent
- Developed an application to help staff record working hours. The whole department of 100+ people used the app.
- Helped new team members in onboarding and interviewed employees with different roles to analyze requirements.
- Learned C# and web development in three months with no previous experience.
Experience
Four Key Metrics Calculator
https://github.com/thoughtworks/metrikMining Site Visualization Tool
As a key back-end developer and DevOps, I developed a series of microservices and ETL and helped the team build and maintain infrastructures like CI/CD pipelines and Kubernetes cluster. In this project, we encouraged the team to try new technologies like Kotlin, GraphQL, and Kafka, helping the team develop an atmosphere of technology fanaticism and sharing.
An Australian Leading Streaming Platform
Education
Bachelor's Degree in Computer Science
Southwest Minzu University - Chengdu, China
Certifications
AWS Certified Solutions Architect Associate
AWS
Skills
Libraries/APIs
REST APIs, React
Tools
Apache Maven, Gradle, Jenkins, Jira, GitHub, Amazon Simple Notification Service (SNS), GitLab CI/CD, RabbitMQ, Git, Terraform
Languages
Java, Kotlin, SQL, Python, GraphQL, JavaScript
Frameworks
Spring Boot, WebFlux, Spring, JSON Web Tokens (JWT), JPA, Spring Microservice, Angular
Paradigms
Agile, DevOps, Test-driven Development (TDD), Pair Programming, Microservices, Microservices Architecture, Object-oriented Programming (OOP), REST, Unit Testing, ETL, Key Performance Metrics, Event-driven Architecture
Platforms
Amazon Web Services (AWS), Apache Kafka, Kubernetes, Docker, JVM, Amazon EC2, Google Cloud Platform (GCP), Linux
Storage
Amazon DynamoDB, PostgreSQL, NoSQL, MySQL, MongoDB, Redis, Spring Data, SQL Server 7, Elasticsearch
Other
CI/CD Pipelines, Serverless, Back-end Development, Large Scale Distributed Systems, Solution Design, GitHub Actions, Team Leadership, API Integration, APIs, Video Streaming, Infrastructure as Code (IaC), Real-time Streaming, Amazon Kinesis, Back-end, Distributed Systems, Metrics, Technical Leadership, Static Analysis, Architecture, Java 17, SaaS, Data Engineering, Front-end
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring