I am a full-stack software engineer with 5 years of professional experience, and . I enjoy working with a friendly team that takes satisfaction in their work.
- Source Control: Git CLI, Git GUI, GitHub, Bitbucket, Azure DevOps
- Continuous Integration, Deployment: Travis CI, Circle CI, AppVeyor, Azure Pipelines, custom (cron job + shell script)
FACTS SIS | 2015 - Present
I am currently working for FACTS SIS on the SIS(Student Information System) product. Schools use the SIS for Admissions, Attendance, Communication, Health Info, Gradebooks, Report Cards, Class Scheduling, Staff/Student/Family Info, Transcripts, and more.
I work with a team to fix issues that clients have, and develop new features or new projects for thousands of schools. I ship code regularly, and I enjoy helping my fellow team members.
- I created an internal tool to greatly shorten the amount of time it takes to convert customer data from a particular SIS into our SIS. I estimate that this saved over 100 of man-hours of work for the conversion team since its inception two years ago.
- I created a test suite that would batch-scan schools, and would quickly verify that our cloud migration was working as intended. I estimate that without this tool, the same testing would have cost over 50 man-hours of highly repetitive work.
- I have been the primary maintainer of multiple "Integrations", which is a source of recurring income for our company.
- Many of the integrations use REST APIs to sync school data with 3rd party school-related software, such as Learning Management Systems. One such system that I maintain, is a partial OneRoster API provider implementation.
- I have created a mailing-label system so schools can print Mail Labels, ID Cards, barcodes, and more onto standard Avery label sheets.
- I track down, and solve a variety of issues. E.g. invalid client data, security issues, optimizing slow database queries, etc.
- I'm the primary maintainer for a system that builds SQL queries for data stored in 50+ tables. The user selects data fields, filters, and sorting options, and the system exports a spreadsheet of the selected data.
Personal Projects | 2009 - Present
- I wrote Tab Emitter, which provides a node.js-like Event Emitter object in the browser to emit events between multiple same-origin tabs
- I wrote Comics RSS, which serves RSS feeds for over 500 comic strips, which are generated by my automated script that scrapes gocomics.com
- I helped write Just Login, an email-based authentication library for node.js servers
- I have created hundreds of pull requests on Github to various open source projects
- I wrote Snake, Tetris, and an 8-Queens Solver in C