中文版>>

Personal Information

Working Experience

SAP Labs China ( 2016.10 ~ )

Architect, Web development(Frontend/backend), DevOps and data engineer

Architect/SAP Concur ( 2021.1 ~ )

Design and develop "SAP Concur eFapiao" service, what is a fapiao auto-recognition and validation system base on NodeJS and WeChat mini program.

  • DevOps

    • Operating and deploying the project on AWS and Kubernetes
    • Service registration and discovery base on Concur customized Istio+Envoy service mesh
  • Backend development

    • Backend service base on NodeJS and NestJS framework
    • The data backend is AWS distributed database DynamoDB
  • Data engineering:

    • Collecting metrics generated by the running service and integrate with data pipeline with AWS S3 and AWS Kinesis data stream
    • Utilizing AWS Glue Job to implement data ETL Job base on Spark
    • Utilizing Grafana and AWS Athena to query and visualize collected metrics data
  • Machine learning:

    • Deploying OCR model base on PaddleOCR to mark those unrecognized fields of fapiao image
    • Training key information extraction model base on SDMG-R model and perform information extraction from fapiao image

Senior DevOps/SAP Jam Collaboration ( 2020.3 ~ 2020.12 )

SAP Jam Collaboration(a.k.a Jam) is a collaboration tool based on Ruby on Rails as backend and ReactBackboneJS as frontend.

  • Lead the DevOps team evolving the architecture. Including introducing Consul which works with HAproxy we already have to implement dynamic service registration/discovering and Service Mesh in legacy data centers which do not have the infrastructure for Kubernetes; introducing Prometheus for refactoring original logging system and monitoring system.
  • Work with international teams. Achieved around-the-clock support of DevOps topics across multiple timezone.

DevOps/SAP Jam Collaboration( 2019.3 ~ 2020.3 )

  • Migrate the whole project to AWS Kubernetes from SAP owned data-center which was deployed with docker container
  • Writing Terraform for managing infrastructure
  • Splitting and decoupling micro services into individual Helm Charts and deploying them separately
  • Utilizing ArgoCD for implementing GitOps workflow
  • Deploying Istio service mesh and implementing canary deployment, traffic monitoring and etc

Full Stack Developer/SAP Jam Collaboration ( 2017.10 ~ 2019.3 )

Both frontend and backend(Ruby/NodeJS/Golang) development.

  • Frontend:

    • Creating an abstract layer for combine BackboneJS and React components organically, implemented division of new and old code
    • Migrate new features' development to using React/Typescript/Styled-Component tech-stack while not affect old code and feature.
  • Backend:

    • Maintaining Ruby on Rails backend service
    • Implementing micro-services based on NodeJS, including server-side-rendering service for React components and pre-rendering service for SEO
    • Implementing file storage service based on Golang. The major purpose was providing a unified interface for storing files to media like NAS file system, AWS S3 Bucket, Azure Blob Storage and etc

Frontend Developer/SAP Jam Community ( 2016.10 ~ 2017.10 )

SAP Jam Community is a social platform based on EmberJS/Vue and Ruby on rails. During this period of job, my major job was frontend developing. Other then creating EmberJS component, I also wrote a front-back-end-separated management tool using Vue.

CareerBuilder China ( 2016.4 ~ 2016.10 )

Intern Web developer

Implement web service based on AngularJS/Ruby on Rails/NodeJS

Certifications

aws certified solutions architect associate

Skill

Familiar with

  • Web developing:Javascript Typescript/HTML/CSS Styled-Component/Webpack/NodeJS
  • DevOps: Docker/Kubernetes/Terraform/iptables/Consul/HAproxy/AWS
  • Web framework: React/Vue/NestJS
  • Data engineering: AWS Athena, AWS DynamoDB

Know about

  • Web: Ruby on Rails/GraphQL/Golang/SEO
  • DevOps: Jenkins Groovy/Service Mesh/AWS/Git Ops
  • K8S related: Istio/EFK/Helm/ArgoCD
  • Data engineering: AWS Glue(Spark), MySQL
  • Machine learning: PaddlePaddle/CNN/SDMG-R