What I do
I have more than 10 years' experience building software for internal projects & external clients. Below is a quick overview of my main technical skill sets and technologies I use. Want to find out more about my experience? Check out my online resume.
Ruby & Rails
Building websites/web apps since the age of Ruby 1.8/Rails 3.2. Using Ruby as the primary scripting language for daily tasks. Using Rails mostly for websites/service/apps backends.
React, Angular & Vue
Ionic & React-Native
Building cross-platform mobile apps with hybrid technologies: Ionic for UI & PhoneGap/Cordova plugins for native functions, or React/JSX for UI & React-Native to bridge to native code.
PHP & WordPress
Building branding websites using WordPress CMS. Using PHP for developing customized themes & plugins. Using webhooks as API to connect to other services for automation purposes.
Cloud Server Management
Managing cloud server/instances on AWS, Linode & DigitalOcean. Using VPS from Linode & DigitalOcean projects without scaling requirements. Using AWS for large-scale projects.
Managing relational databases running on MySQL and PostgreSQL. Using Redis for caching, message broker & key-value storage. Using PostgreSQL JSONB as NoSQL databases.
Designing products while keeping direct users in mind. Prototyping with Sketch, animating with Principle, and Demonstrating with Figma.
What I am exploring
New technologies always fascinate me, and I never stop learning new skills because I know it's the only way to maintain competitiveness and to survive in this fast-evolving industry. Latterly, I'm exploring these technologies below:
Docker, Kubernetes & Terraform
Managing environments for development and production has long been a pain in the process of application development, especially for large projects with multiple components/sub-systems. Containerizing with docker, orchestrating with K8s, and provisioning with Terraform unifies the process and makes engineers focus more on application development.
Swift, SwiftUI & Combine
Swift finally turned 5.2 in 2019, and the language & API look stable enough for native iOS app development. Also, with the introduction of SwiftUI/Combine, a declaration way of building user interfaces is much more friendly to engineers with a web development background.
Elixir & Phoenix
Elixir is a functional language running on Erlang VM with powerful language features like pattern matching and super-fast performance. Phoenix is a web framework written in Elixir, which provides a full-stack toolbox ideal for modern web development.
Serverless emerges as a new paradigm for web application development, which removes the server layer from the stack. Writing applications only in functions against AWS Lambda API and delegating all maintenance jobs to the Cloud is a unique experience in engineering.