Sign in

Software Engineer Python

Urbana, IL
May 12, 2020

Contact this candidate


Shean Lin** • • 510-***-****


Recurse Center, Sabbatical — February 2020 - Ongoing

● Studied distributed systems, Golang, and concurrency at self-directed programming sabbatical.

● Implemented a distributed file system, consensus module, and membership system, while also blogging about their mechanics and the process of implementing them.

● Created blog and self-updating web gallery (, to host writing and photography.

● Presented project progress and interesting findings to peers at weekly talks. Granular, Software Engineer — June 2018 - December 2019

● Separated legacy Python2.7 codebase into Python3.7 microservices, allowing teams to work on individual dockerized services without building a monolithic codebase, saving many hours of wasted developer time.

● Coordinated with designer to create a Google-maps style landing page, replacing the functionality of several legacy pages and streamlining user experience.

● Reused or built Python/Flask APIs and React components and their accompanying unit tests.

● Wrote and explained SQL queries to product managers to quantify user behaviors and prioritize new feature development.

Department of Defense, Software Engineer Intern — March 2017 - January 2018

● Converted storm modeling codebase from Excel VBA to C# and reduced runtime by 93%.

● Redesigned SQL schema to implement web caching for C#-Silverlight application.

● Created Python scripts for trend analysis of arbitrarily large time-series datasets. PROJECTS

Distributed File System – – [ golang, docker ] Takes and distributes files from clients evenly across an arbitrary number of servers.

● Files are replicated to multiple servers to maintain file availability even when some servers fail.

● Servers track state through replicated logs and can restore their state in the event of a failure.

● Servers emulated locally with Docker containers and Docker-Compose. Raft Consensus Module – – [ golang, docker ] Raft network where a leader server replicates changes to an ordered log across multiple servers.

● Servers rapidly elect new leader in the event of a failure and forward clients to the new leader.

● New servers can join the network at any time and begin receiving log updates.

● Generic state application API allows the consensus module to be used with any replicated-log state machine. Self Updating Photography Site – – – [AWS S3/EC2/Lambda, python ] Fast, responsive static web gallery whose pages are generated from files inside an S3 bucket.

● S3 bucket upload events create SQS messages which are consumed by an image processing Lambda function.

● Cronjob on EC2 instance runs Python script to generate and deploy pages to another S3 bucket. SKILLS

Programming Languages: Golang, Python, Javascript/Typescript, SQL Frameworks and Tools: Docker, Flask, AWS S3/Lambda/SQS, SQLAlchemy, PostgreSQL, React/Redux, Alembic LEADERSHIP AND TEACHING

UIUC Outdoor Adventure Club, Trip Organizer – January 2014 - present

● Organized 2 to 10 day long outdoors trips with up to 80+ people to locations all across the US.

● Taught backpacking skills and Leave No Trace practices to beginner campers. Python Tutor – December 2018 - January 2020

● Explained programming concepts to students aged elementary to post-college.

● Guided students through choosing and building projects suitable for their skill level.

Contact this candidate