Bertrand J Kuo, Developer in Sunnyvale, CA, United States
Bertrand is available for hire
Hire Bertrand

Bertrand J Kuo

Verified Expert  in Engineering

Full-stack Web Developer

Location
Sunnyvale, CA, United States
Toptal Member Since
May 17, 2019

Bertrand is a true full-stack web developer who is equally at home editing complex SQL while creating offline-capable mobile web applications using the latest front-end technologies. He takes the time to fully understand problems to ensure that the resulting solution is the right one. Bertrand is currently located in Taipei, Taiwan, but he is willing to move some of his work hours to overlap with US East Coast morning hours if necessary.

Portfolio

Loop Commerce
React, JavaScript, Kotlin, Amazon S3 (AWS S3), Amazon CloudFront CDN, Grails...
F5 Networks
Ruby on Rails (RoR), PostgreSQL, HTML5, Full-stack Development
Flywheel, Inc.
Amazon Web Services (AWS), Jenkins, Node.js, PostGIS, Riak, EventMachine, Ruby...

Experience

Availability

Full-time

Preferred Environment

Git, RubyMine, Ubuntu

The most amazing...

...thing I've developed is a mobile progressive web app for note taking that is more responsive than Google's own web app for a similar purpose.

Work Experience

Senior Back-end Engineer

2019 - 2020
Loop Commerce
  • Developed back-end processes to support our main Giftnow gifting service for our eCommerce merchant clients.
  • Integrated the system with a large number of merchant product APIs, stored value vendor APIs, and order management system APIs. When APIs were unavailable, I wrote code to automate the same tasks using web automation techniques with Puppeteer.
  • Managed our team's deployment and release processes, verifying that each release was fully tested and consisted of only those changes we intended to release.
Technologies: React, JavaScript, Kotlin, Amazon S3 (AWS S3), Amazon CloudFront CDN, Grails, Groovy, GraphQL, HTML5, Full-stack Development

Ruby on Rails Engineer

2015 - 2017
F5 Networks
  • Designed and developed a web portal used by customers and our support staff.
  • Created charts and visualizations key metrics of interest using Highcharts.
  • Automated the configuration of F5s and other vendors specialized networking hardware.
  • Created an audit log mechanism so that all configuration changes could be tracked.
  • Supported efforts to achieve and maintain PCI compliance.
Technologies: Ruby on Rails (RoR), PostgreSQL, HTML5, Full-stack Development

Senior Software Engineer

2013 - 2014
Flywheel, Inc.
  • Designed and developed back-end services for San Francisco's premier taxicab-hailing platform.
Technologies: Amazon Web Services (AWS), Jenkins, Node.js, PostGIS, Riak, EventMachine, Ruby, RabbitMQ, HTML5, Full-stack Development

Senior Software Engineer

2012 - 2013
Tapjoy
  • Scaled a Rails-based ad-serving platform to handle 30,000 requests per second.
  • Migrated platform(s) from Rails 2.3.8 to 3.0.15, and then from 1.8.7 to 1.9.3, and then from SimpleDB to Riak, and from a monolithic towards an SOA architecture.
  • Resolved production issues and monitored server health.
  • Led a team to deliver new mobile ad products on time against an aggressive schedule.
Technologies: Service-oriented Architecture (SOA), Riak, Ruby on Rails (RoR), Ruby, GitHub, HTML5, Full-stack Development

Mobile/HTML5 Developer

2011 - 2011
Moblyng
  • Built large games (~20,000 LOC on client, ~25,000 LOC on server) in JavaScript and PHP.
  • Developed solutions to address mobile device limitations and undocumented device-specific behaviors.
Technologies: MongoDB, Membase, Node.js, PHP, Canvas, CSS, JavaScript, HTML5

Ruby on Rails Developer

2010 - 2011
Aon Hewit
  • Developed a complex Rails application in an enterprise setting.
  • Wrote CSV import and export scripts that handled the many data formats used by various employers and health insurance companies.
  • Constructed a system to track agent licensing and certifications.
Technologies: Backbone.js, jQuery, JavaScript, CSV, Ruby on Rails (RoR), Ruby, HTML5, Full-stack Development

F5 | Problem Solving

Dig deeper to understand the assumptions and contexts that lead people to differing conclusions about a topic.

For a while at F5 Networks, QA was kicking back a lot of our checked code. It turned out that the tickets were not very well specified, so there were often misinterpretations on how features were supposed to work and how tickets could be tested by QA. The solution was to communicate more with fewer assumptions about the reader's available context and background info.

I also learned to use visual aids (screencaps) and restatements to demonstrate my understanding of what any particular ticket is requesting so that if anyone has a different interpretation, the differences could be resolved early.

Flywheel | Work Process

Be open to trying things out. Don't take things personally. However, once a decision is made then everyone should commit to it.

At Flywheel, a decision was made to write new microservices to handle a feature. I opposed this with the rationale that our distributed architecture was already hard to debug and unwieldy and we should extend existing services instead. Once the decision was made to continue on the path of the new service, I committed and offered to build more observability features into the system to help ameliorate the predicted difficulties instead.

Frameworks

Ruby on Rails (RoR), Grails

Libraries/APIs

REST APIs, Sidekiq, Vue, Vuex, ActiveRecord, React, EventMachine, Node.js, jQuery, Backbone.js

Languages

CSS, Ruby, JavaScript, SQL, HTML5, HTML, GraphQL, Groovy, Kotlin, PHP, Python

Tools

GitHub, RubyMine, Git, Amazon CloudFront CDN, RabbitMQ, Jenkins, Canvas, NGINX

Platforms

Linux, Ubuntu, Amazon Web Services (AWS), Android, Docker

Storage

Redis, Amazon S3 (AWS S3), Riak, PostGIS, Membase, MongoDB, PostgreSQL

Other

Back-end, Full-stack, Full-stack Development, CSV, Mobile App Development, Junos OS

Paradigms

Service-oriented Architecture (SOA)

2001 - 2003

Master's Degree in Electrical and Computer Engineering

Carnegie Mellon University - Pittsburgh, PA, USA

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring