Henry Wu

Senior Software Engineer

  Taipei, Taiwan

Hello, there! I am Henry Wu, a JavaScript / Ruby on Rails engineer.

  • Specialized in JavaScript (ECMAScript 6) and Ruby
  • Focus on web back-end and infrastructure management

      https://henry40408.com

Work Experiences

Software Engineer  •  CakeResume

March, 2020 - Present

  • cakeresume.com
  • Back-end built with Ruby on Rails
  • Front-end built with self-developed server-side render engine
  • Back-end
    • Allowed business user to add FAQ and tech stack to improve transparency to candidates
    • Fixed incorrect IP address forwarded by server-side rendering service
    • Allowed business user to manage job applications as pipeline and manage their states
    • Upgraded Ruby on Rails from 4.x to 5.x
    • Allowed business user to invite user to apply certain job
    • Allowed business user to accept or reject job application in one click to simplify and accelerate hiring process
    • Built resume insights dashboard for user to track and interact with viewers
    • Implemented API for new editor, which was launched in September, 2020
    • Built recommendation letter system for user to recommend each other
    • Integrated Algolia Recommend for general recommendation
    • Allowed business user to buy seats for others and manage cost in a more flexible way
  • Job-seeking app iOS / Android
    • Built with Flutter 2, BLoC, Firebase Analytics, and Mixpanel
    • User can search, save, and apply for jobs
    • Performed semi-continuous delivery with Fastlane
    • 2,500 users active in March, 2021

Tech Lead  •  Hahow

May, 2019 - February 2020

  • Hired several engineers for 2C and 2B department
    • Hired 1 front-end (React) engineer and 1 back-end (Node.js) engineer for 2C department
    • Hired 1 Ruby on Rails engineer for 2B department
  • Held technical sharing, topics including DevOps, front-end, back-end, and info. security
    • Service Management: From rc.local to systemd
    • Pika & ESM
    • Review on Flutter after first-try
    • What do they means? Explain nouns in software engineering
      • e.g. What's the difference between Java and JavaScript
      • e.g. How to discriminate back-end and front-end

2B Backend Enginner  •  Hahow

May 2019 - February 2020

Backend Engineer  •  Hahow

January 2017 - May 2019

  • hahow.in
  • As back-end engineer
    • Maintained and implement new features with Express, Mongoose, and MongoDB
    • Deployed to production with Docker, Google Container Registry, and self-developed Slack bot
    • Made code-base and business logic more robust with API and unit testing
    • Unified naming convention and coding style with ESLint
    • Upgraded Node.js runtime from 0.10.x to 6.x
    • Designed and built video playback system on Wistia as fallback of Vimeo for certain regions
    • Introduced Imgix as content delivery network for images to reduce bandwidth cost
  • As server maintenance engineer
    • Manually maintained infrastructure on Google Cloud Platform
    • Automated testing environment provisioning on Google Compute Engine with Ansible
    • Replaced out-dated continuous integration platform built on Jenkins with CircleCI
    • Introduced Heroku-like platform Dokku for internal testing and product prototyping
    • Introduced Probot to automate code review and notifications on GitHub
    • Maintained Kubernetes cluster built on Google Kubernetes Engine for self-developed user tracking system like Google Analytics
    • Built a Slack bot with hubot to manually initiate deployment to production, which connects GitHub, CircleCI, Google Container Registry, and Docker engine on Google Compute Engine
  • As mobile engineer
    • Built a lightweight, cross-platform mobile app with Expo, a framework built on React Native for user to watch video of online courses
    • Successfully published on Google Play store
  • Interdepartmental support
    • Maintained a Slack bot built with hubot for colleagues to manipulate mailing list and perform data researching
    • Maintained a business intelligence system built on Metabase and write re-usable and composable SQL statements

Engineer  •  Sudo, Inc

June 2016 - November 2016

  • sudo.com.tw (Domain name has expired)
  • Back-end and front-end built with Ruby on Rails and React
  • Deployed to production with Capistrano
  • Maintained infrastructure on Amazon Web Services with Terraform
  • Built re-usable Amazon Machine Image with Chef
  • Built cross-platform mobile app with React Native and Redux
    • Bridged native layer with Objective-C
    • Deployed to Testflight for beta-testing with Fastlane

Skills

  Back-end

PHP / Drupal / Wordpress / Ruby on Rails / Node.js

  1. Built websites with Drupal 7 or Wordpress 4 and then build web applications with Ruby on Rails as a freelancer during university
  2. Used Ruby on Rails in Sudo and CakeResume
  3. Used Node.js in Hahow

  DevOps

Linux / Hashicorp / Ansible / Chef / Amazon Web Services / Google Cloud Platform / Heroku

  1. LPIC 101 acquired, expired in 2018
  2. Deployed websites and web applications to Linode or DigitalOcean as a freelancer during university
  3. Learned Docker and manage infrastructure on AWS with Chef and Terraform in Sudo
  4. Delivered web applications to Google Cloud Platform with Docker and Ansible in Hahow
  5. Delivered products to Heroku in CakeResume

  Front-end /   Mobile

jQuery / React / Redux / React Native / Flutter

  1. Used jQuery as a freelancer during university
  2. Used React and React Native in Sudo
  3. Used React and Expo in Hahow
  4. Used React and Flutter in CakeResume

  開發工具

Linux / Bash / vim / Visual Studio Code / JetBrains / Git

  1. Specialized in POSIX, shell programming and vim
  2. Used Visual Studio Code for minor modification, lightweight development, and prototyping
  3. Used JetBrains IDEs for regular development
  4. Performed version control with Git and collaborated with GItHub and BitBucket

  Other programming languages

Python / Go / Rust

  1. Implemented a tiny service which synchronizes MongoDB and PostgreSQL periodically with Python in Hahow, so colleagues can analyze data with SQL on business intelligence platform
  2. Implemented a tiny Slack bot to deliver web applications to production in Go
  3. Learned Rust and used it on side-projects

  SaaS / PaaS

Linode / DigitalOcean / Cloudflare / Algolia / Cloudinary / Mailchimp / Mailgun / New Relic / ECPay / TapPay / Papertrail / Rollbar / Sentry

  1. Deployed Drupal and Wordpress websites on Linode or DigitalOcean as a freelancer during university
  2. Configured domain names and DDoS prevention and read analysis on Cloudflare in CakeResume
  3. Integrated Aloglia with Node.js or Ruby on Rails for end-user to search in Hahow and CakeResume
  4. Configured and deliver e-mails with Mailchimp in Hahow, with Mailgun in CakeResume
  5. Monitored and improved performance with New Relic in CakeResume
  6. Integrated ECPay for payments in Hahow and TapPay in CakeResume
  7. Tracked and analyzed errors with Papertrail, Rollbar, and Sentry in Sudo, Hahow, and CakeResume

Live Projects

The Taiwanese Political Science Review

tpsr.tw / Drupal 7

Hai-Xia Info Magazine

haixia-info.com / Ruby on Rails 4

Educations


National Cheng-Chi University

Management Information Systems

2012 - 2016