Jesse Cai

Jesse Cai

Senior Software Engineer
I'm a senior software engineer with full-stack experience in frontend/backend web development, hybrid/native mobile app development, service/API design & development, and DevOps. I prefer working on projects on an end-to-end basis, from business analysis to solution shape-up, from prototyping to MVP delivering, from sketching on paper to final product shipping. Need help with your projects? Please feel free to check out my online resume and contact me.

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

Building frontend with modern JavaScript frameworks. Using React for widgets/components. Using Angular for SPA (Single Page Application). Using Vue for a mix of both.

HTML, CSS & JavaScript

Building beautiful web front-end with HTML markup and CSS styling. Handling smooth interactions with vanilla JavaScript.

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.
MySQL icon PostgreSQL icon Redis icon

Database Management

Managing relational databases running on MySQL and PostgreSQL. Using Redis for caching, message broker & key-value storage. Using PostgreSQL JSONB as NoSQL databases.
Principle-color

Product Design

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:
Kubernetes icon Terraform icon

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

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.