Foo Lim, Developer in Santa Clara, CA, United States
Foo is available for hire
Hire Foo

Foo Lim

Verified Expert  in Engineering

Software Developer

Location
Santa Clara, CA, United States
Toptal Member Since
July 16, 2020

Foo is an experienced software engineer specializing in back-end architecture, Python microservices, big data, ETL, reporting services, Docker, and Kubernetes. He increased operations efficiency by 400% after automating a significant portion of the workflow, reducing hours of manual processing time to mere minutes for a large client. Foo understands how to scale companies smoothly with robust, reliable service architecture.

Portfolio

2nd Address
Python 3, Redshift, Amazon Web Services (AWS), Web Architecture, SQL...
Vungle
Data Warehouse Design, Data Warehousing, Python 3, Docker, ETL...
Canvis.io
Amazon Web Services (AWS), Amazon S3 (AWS S3), Web Architecture, SQL...

Experience

Availability

Part-time

Preferred Environment

Data Pipelines, Amazon S3 (AWS S3), Apache Kafka, PostgreSQL, MySQL, Docker, Python

The most amazing...

...company and software project I founded for the greentech industry is called Carbonflow. We were early adopters of AWS and Grails that users loved.

Work Experience

Principal Software Engineer

2016 - 2019
2nd Address
  • Created multiple Python/Flask/SQLAlchemy API microservices to split off the monolith system. Streamlined existing processes with product management.
  • Increased operations efficiency by 400% after automating most of the workflow. Hours of manual processing time turned to minutes. Eventually, nearly everything was automated with alerts issued only when exceptions in workflow occurred.
  • Integrated new microservices with third-party APIs: DocuSign (e-signatures), Onfido (ID verification), SendGrid (emails), & Corelogic (background checks). Worked with front-end engineers on the user experience to seamlessly integrate these products.
  • Collaborated with product management to define specifications on product features and delivery dates. Communicated early when specifications weren't clear or when trade-offs were needed for on-time delivery.
  • Built a back-end chat product feature so potential and existing customers could interact with the customer care team and landlords on our platform.
  • Managed the offshore team to integrate the existing product with new microservices.
  • Introduced Docker into the development and DevOps workflow, making engineers more agile, quicker to set up, and easier to integrate into the workflow.
Technologies: Python 3, Redshift, Amazon Web Services (AWS), Web Architecture, SQL, Web Programming, SendGrid API, DocuSign, Amazon S3 (AWS S3), Docker, MySQL, SQLAlchemy, Flask, Python

Staff Software Engineer

2014 - 2016
Vungle
  • Introduced a Kafka data pipeline that streamed 1.4 billion events per day into various topics for reporting, data science needs, and archival.
  • Developed a polyglot reporting API service using the Play Framework and Scala for customer-facing dashboard and internal reporting usage.
  • Scaled an external data collection service that collected hundreds of millions of events a day for real-time stream processing and micro-batching into Redshift with Scala and Node.js.
  • Provided guidance on system architecture within the data pipeline.
  • Built Docker containers for use in testing and development used in other groups.
  • Maintained two Kafka clusters in different AWS VPCs and implemented Secor for backing up Kafka to Amazon S3.
Technologies: Data Warehousing, Data Warehouse Design, Python 3, Docker, ETL, Web Architecture, SQL, Web Programming, Amazon Web Services (AWS), Play Framework, MongoDB, Node.js, Flume, Amazon S3 (AWS S3), Redshift, Scala, Python, Apache Kafka

Software Architect

2012 - 2014
Canvis.io
  • Re-architected a non-performant Ruby on Rails photo-sharing mobile app by migrating storage and deployment to AWS.
  • Revised queries between MySQL and Apache Solr to optimize performance. Analyzed and eliminated bottlenecks to increase stability and performance.
  • Developed Juggernaut/Redis deployment for Websocket communications.
  • Utilized AngularJS to re-architect the UI using a REST API to revitalize the product into a single-page app.
  • Integrated the Yahoo Placefinder service for geolocation and Bing Maps for showing locations.
Technologies: Amazon Web Services (AWS), Amazon S3 (AWS S3), Web Architecture, SQL, Web Programming, WebSockets, Apache Solr, MySQL, Angular, Ruby on Rails (RoR), Ruby

Senior Application Engineer

2008 - 2011
Carbonflow
  • Served as a founding engineer. Architected the cloud-based project, document management, and financial forecasting software for the carbon offset market.
  • Oversaw technology decisions to use AWS (when it was still relatively new), Grails, Groovy, AJAX, and MySQL.
  • Developed IT and operational servers such as SVN and Trac for San Francisco and worldwide satellite offices.
  • Collaborated with the CEO and other subject matter experts in gathering requirements, data modeling, coding business logic, and UI design.
Technologies: Amazon S3 (AWS S3), Web Architecture, SQL, Web Programming, Amazon Web Services (AWS), Ajax, MySQL, Groovy, Grails

Successfactors

2006 - 2008
Software Engineer
  • Built web services using WS-I compliant WSDL using XML Schema and published to integration partners and users.
  • Assessed customer needs, delivered functional specifications, and code for fast turn-around delivery.
  • Developed a new internal web service API, leveraging annotations available in EJB 3.0 and JAX-WS on the JBoss 4.0.5 application server platform.
  • Created regression tests for monitoring production.
  • Built tools to help customer service become more agile to customer needs.
Technologies: ETL, Web Architecture, SQL, Web Programming, Web Services Description Language (WSDL), Apache Axis, JAX-WS, Enterprise Java Beans (EJB), JBoss, Java

Podcast Ad Network Reporting and Architecture

https://up.audio
A site for podcast advertisers and publishers to discover opportunities. The main app is written in Ruby on Rails using MongoDB on AWS. I implemented a polyglot microservice in Python/Flask/SQLAlchemy using PostgreSQL for reporting with the ability to summarize in different dimensions. I introduced Docker and Kubernetes for agile testing and deployment, then Terraform to document infrastructure as code. I worked with the CEO to come up with reporting API requirements and existing engineers to integrate with RoR code for the display of reports.

Back-end Microservices with Docker

Created back-end microservices with Python to increase the efficiency of the operations team. I built a messenger feature for potential and existing customers to interact with landlords and cooperated with front-end engineers and product management to provide a great user experience. I then integrated this with third-party APIs such as DocuSign, Onfido, CoreLogic, and SendGrid.

Other

Web Programming, API Integration, APIs, Software Architecture, Software Development, Programming Languages, Data Warehousing, DocuSign, WebSockets, Ajax, Data Warehouse Design, Enterprise Java Beans (EJB)

Languages

Python 3, SQL, Python, JavaScript, Scala, Ruby, Groovy, Java, Web Services Description Language (WSDL)

Frameworks

Flask, Spark, Play Framework, Ruby on Rails (RoR), Angular, Grails, Apache Axis

Libraries/APIs

SQLAlchemy, jQuery, SendGrid API, Node.js, JAX-WS

Paradigms

ETL, Web Architecture

Platforms

Apache Kafka, Docker, Amazon Web Services (AWS), Kubernetes, JBoss

Storage

MySQL, Redshift, Amazon S3 (AWS S3), PostgreSQL, MongoDB, Data Pipelines

Tools

Flume, Apache Solr

2000 - 2002

Master of Science Degree in Computer Science

University of California - Davis, California, USA

1996 - 2000

Bachelor of Science Degree in Computer Science and Engineering

University of California - Davis, California, 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