About 2

about me

Here is a little background

As an ambitious and innovative Computer Science and Data Science graduate from the University of Wisconsin-Madison, I am deeply passionate about leveraging technology to create meaningful and user-centered solutions. With hands-on experience as the CTO of DiscoverE Inc. and a Software Engineer at EasyJobs Inc., I have honed my skills in developing scalable, high-performance applications, managing diverse teams, and delivering projects using Agile methodologies. My technical expertise spans a wide range of programming languages, libraries, and frameworks, including Python, Golang, Java, FastAPI, React, and AWS services.

Driven by my curiosity and commitment to excellence, I have also engaged in impactful research projects, most notably the Work Conserving Scheduler Cooperative Lock under the guidance of Professor Yuvraj Patel and Professor Remzi Arpaci-Dusseau. This experience has allowed me to explore complex concepts, develop valuable collaboration skills, and further solidify my dedication to the field of computer science.

As a proactive learner and an adaptable professional, I am eager to contribute my skills and knowledge to a team that shares my vision for innovation and excellence. I am confident that my diverse skill set, strong work ethic, and passion for problem-solving will enable me to make a significant impact in any organization.

Experiences

Lead Software Engineer

Discover-E

Jan 2023 - Present

  • Designed and implemented MongoDB database to efficiently manage and store data with high variability
  • Developed a backend service using FastAPI that is hosted on EC2, enabling concurrent and stable requests to the database
  • Engineered an automated ETL pipeline for daily web scraping and data extraction, optimizing data processing workflows and ensuring consistent, up-to-date information for end-users
  • Self-learned, wrote, and deployed a user-friendly front-end interface that is built using React, Typescript, and TailwindCSS by utilizing the figma design sheet that is created by the UI/UX team all within 3 weeks
  • Successfully led and managed a team of 5, utilizing Agile methodologies to ensure efficient project delivery, seamless collaboration, and continuous improvement
  • Implemented a CI/CD pipeline using CircleCI to automate the deployment of the application

Software Engineer

EasyJobs

Jan 2022 - Dec 2022

  • Building a new ETL pipeline that is capable of handling daily data updating of 3 million data records using AWS Lambda, AWS S3 and Serverless Framework
  • Building an api endpoint to receive scraped data from AWS by building a RESTful service using python flask
  • Construct a comprehensive testing suite and build an automated testing pipeline, which integrated pytest and CircleCI, triggered automatically and significantly reduced time to manual testing
  • Writing scripts to automate ElasticSearch query generation, providing daily database integrity checking by directly sending data statistics to slack by utilizing api endpoints.
  • Building and maintaining mysql databases as a temperamental storage to store daily scraping results, preventing it from directly transferring to production, adding a layer of protection to data
  • Improve user experience by building filter functionality of different searches, which is built using Google Map SDKs, and BertTopic Model to create classification for data

Projects

Work Conservative Scheduler Coorperative Lock

  • Scheduler Cooperative Locks (SCL) is a family of locking primitives introduced to address the scheduler subversion problem, where lock usage patterns determine which thread runs, potentially undermining CPU scheduling goals. SCL aims to provide proportional lock allocations that match the CPU scheduler's allocations, ensuring fair access to resources for each thread. This is achieved by offering an equal or proportional time window, known as lock opportunity, within which each thread can acquire the lock.
  • While SCL has been effective in addressing scheduler subversion and improving fairness among threads, it has a shortcoming in that it is not work-conserving. In SCL, there can be instances where no thread holds the lock, but other threads are unable to acquire it because they are not the slice owner. This limitation can lead to inefficient use of resources and reduced system performance.
  • To address the limitations of SCL, I helpd to develop a Work Conserving Scheduler Cooperative Lock (WC-SCL) that allows multiple threads to share a lock slice, increasing lock efficiency and fairness among threads. I designed new heuristics for pairing mechanisms, built a benchmark suite, and implemented a Python-based simulator to test these mechanisms. By analyzing each thread's past critical section and non-critical section time, I aimed to better predict the future lock acquiring behavior of individual threads, ultimately leading to improved lock management and performance.

skills

Hover over a skill to see its fullname

Python

JavaScript

TypeScript

React

Next.js

Vue

Flask

FastAPI

Scrapy

Scikit-Learn

Pandas

AWS

AWS Lambda

AWS EC2

AWS Route53

AWS DynamoDB

Elasticsearch

Docker

MySQL

MongoDB

SQLite

REST API

HTML

CSS

C

Go

GitHub

SQL

contact me

I have got just what you need.Let's Talk.

(+1) 207-286-7026

Pittsburgh, PA, US

chalice.chu@gmail.com