Skills

Software Engineering

advanced

Abilities

  • Understand SOLID principles
  • Understand general data structures: Array, Linked List, Hash Map, Binary Heap, Segment Tree
  • Understand general sort algorithms, search algorithms
  • Analyze the time and space complexity of an algorithm
  • Design testable implementations by removing side-effects

Frontend Engineering

advanced

Abilities

  • Design an webapp in MVC pattern
  • Understand the lifecycle of React component
  • Design an application state in Flux, Redux
  • Understand HTTP

Experiences

  • Develop apps using Closure Library, React at work
  • Create this portfolio
  • Create hybrid apps using Cordova&Ionic/Onsen UI
  • Create browser games using Phaser
  • Read most parts of Prototype.js, Script.aculo.us, Zepto.js, CreateJS, Hyperapp

Java

advanced

Abilities

  • Understand how general GC algotirhm works
  • Understand how Spring DI works
  • Develop an webapp using Spring MVC
  • Design an application in model driven
  • Implement a distributed batch using Spark

Experiences

  • Develop webapps using Spring MVC at work
  • Develop a distributed batch using Spark at work
  • Join a open-sourced game server development of a MMORPG

Database Engineering

intermediate

Abilities

  • Understand CAP theorem
  • Understand general DB architectures: Master-Slave, Multi Masters, Consistent Hashing
  • Understand general DB indexes: Binary Tree, Hash
  • Design a table schema and relationships
  • Optimize an execution plan and improve the query performance: Join methods, Partitioning, Padding Factor

Experiences

  • Improve query performance in PostgreSQL, Oracle
  • Create a trigger function to pool the update logs
  • Solve HackerRank, LeetCode problems

C

intermediate

Abilities

  • Create simple tools
  • Understand how memory heap and stack work

Experiences

  • Implement popular algorithms
  • Solve AtCoder, LeetCode problems

Rust

beginner

Abilities

  • Create simple tools

Experiences

  • Implement popular algorithms
  • Solve AtCoder problems

Ruby

beginner

Experiences

  • Create RPG Maker VX extensions
  • Read most parts of RGSS2

PHP

beginner

Experiences

  • Create access counters, guest books, simple blog systems from scratch
  • Create FFAPHP extensions
  • Read the authentication part in WordPress

Shell Script

intermediate

Abilities

  • Create useful tools using POSIX-compatible shell script

Experiences

  • Customize my shell environment

Emacs Lisp

intermediate

Experiences

  • Contribute to Spacemacs
  • Customize my Emacs environment

Projects

Developing some subsystems of a financial system.

Developing a new attendance system product.

Accomplishments

  • Setup a type checker for the project
  • Maintain frontend coding conventions

Domestic tools to improve product developers' productivity.

A domestic framework to sync data between RDB and Cassandra.

Accomplishments

  • Create a testing tool for product developers
  • Create a data dumping feature to reproduce data-related issues

Creating a prototype for a Onboarding system product.