Jiajin WenFull Stack Web Developer
- Email: email@example.com
- Phone: +86 13750032522
2013 - 2017: Sun Yat-sen University Nuclear Engineering
# Work Experience
Currently responsible for building the company's core underlying components.
# Work Projects
In the course of my work, I have been involved in various business development and infrastructure components. The following are some of the projects I have been independently responsible for.
# Account System Microservice
- In order to reduce the duplication of development work for user data acquisition between different services and to solve the problem of sharing login state across modules, a separate account management microservice was developed. It is used for pulling data such as users, roles and permissions, and verifying session.
- This service exposes GraphQL services to the public so that it is easy to get all kinds of related data of accounts. DataLoader is used to wrap different types of databases.
# Kubernetes Development Environment
- As the number of developers in the company increased, developers sharing one development environment led to frequent service failures, along with inconsistent code versions and old database structures.
- We designed a k8s-based development environment and related command line tools to ensure that everyone has a separate development environment with the latest code and data. Also modified the deployment of all microservices to support Docker deployments.
- Reduced the time to create a development environment from one week to three minutes, dramatically improving development efficiency and gaining wide recognition among developers. It also provided sufficient experience for the company to deploy Docker services on production environment in six months.
# Agile Development and Release Processes Based on GitFlow
- The company's increased release frequency was causing confusion with parallel releases, and had caused several release mishaps.
- After a thorough discussion with other departments, I designed a new release process based on GitFlow: a dual master + develop branching strategy with a unified release schedule to achieve fast and stable release iterations. In the process, I built GitLab CI runner and CI configurations for front-end as well as back-end projects from scratch.
- After the process went live, it was able to support the company's three weekly feature iterations and multiple daily bug fix iterations.
# Open Source Experience
A Typora-like WYSIWYG Markdown rich text editor. Supports online and offline use. Uses Google Firebase as a back-end service.
# jest-puppeteer-istanbul github.com/ocavue/jest-puppeteer-istanbul (opens new window)
A Jest plugin that outputs code coverage information to end-to-end integration tests based on Jest and Puppeteer (Headless Chromium API).
# Community Projects
# Professional Skills
- Expert user of TypeScript, Python and Go.
- Familiarity with Django, gRPC, Protocol Buffers, gORM and React.
- Familiarity with MySQL, MongoDB, Redis.
- Experience building and maintaining development and deployment tools such as Docker, Kubernetes, GitLab, GitLab CI, GitHub Actions, Serverless.