Resume
Narrative
I started out studying physics at university, and even though I found my true calling in computer science, the physicist mindset for problem solving and breaking things into smaller intuitive pieces has always stuck with me. I love solving engineering problems, specifically trying my best to reduce complexity as much as possible. I've found that the balance between general abstractions and concrete implementations is is a very fine line that's at the core of good system design.
Most of my professional and personal work has been with with web technologies, so I have strong fundamentals in that area. As a hobbyist, I've tinkered with artificial intelligence, image processing, programming languages, graphics programming, and audio programming. I love open-source software and making contributions when I can to the projects I use. In the future, I'd like to get more deeply involved on an open source project.
I try very hard not to be dogmatic and keep an open mind to other solutions and ideas. I love mentoring new developers and the challenge that comes with giving them just the right hints and guidance while letting them have space to make mistakes or try things that I wouldn't do.
I enjoy exploring multiple ways to solve a problem while comparing them to break down their trade-offs and fundamental differences. However, I'm still a pragmatist, and I accept that code will never be perfect. For this reason I've found it's best to work iteratively, start simple, and address the pain points of design as they come.
Personal Details
Education
Bachelor of Science in Computer Science
University of Oklahoma, Norman
2010 to 2015
Professional Experience
Sr Software Developer / Team Lead
- Full stack web development
- Led a team of 7 software developers
- Maintain and improve business critical pay calculation engine
- Processing high volume of clock punches to calculate pay, and all the caching problems that come with it
- Built internal tool comparison testing based on feature flags
- Created a tool to "unarchive" pay calculations when needed
- Mobile Time Clock with offline mode
- Mobile Time Card for Managers
- Shift Zones Rewrite, pay calculation based on time/day
- TA Portal, a dynamic question based setup wizard in React
IT Support Tech IV
- Deployed and managed Linux servers and desktops
- Built internal tools, eg WiFi DHCP reservation web app
Lab Systems Administrator
- System system administrator for 900+ windows desktops
- Built and optimized windows images, reduced login times
Other Work
- Cheese Box - Built the kiosk software for this for-hire photobooth. It had a web front-end, a golang server, and a c++ driver to talk to a Cannon DSLR camera.
- Albion Stats Website - A 3rd party stats website for an online game.
- PHP Analyzer - A PHP static analysis tool and LSP based on rust-analyzer.
- PHP Meminfo Treemap - A treemap visualization tool for php-meminfo dumps. Also contributed upstream improvements to php-meminfo.
Skills
- JavaScript/TypeScript, Go, PHP (a little Rust, C#, Java, C/C++)
- Full stack web development
- Mentoring software developers