Tech enthusiast and accomplished software developer, systems engineer, and database administrator that is passionate about learning and helping others
Skilled software developer with proficiencies in the following:
- Programming in both object-oriented and functional programming techniques
- Architecting and developing multi-threaded and concurrency-safe applications
- Building regular expressions
- Tuning code for performance and memory utilization
- Managing code with version control
- Working in an agile environment
Database Development & Administration
Skilled in both database administration and database development in both SQL and NoSQL datastores with proficiencies in the following:
- Querying, modifying structures, and programming using native SQL
- Installing, maintaining, and administering Microsoft SQL Server, MySQL, and Postgres SQL
- Administering headless servers
- Implementing key-value pair storage, hash maps, and queueing in NoSQL stores
- Profiling servers to find issues and confirm solutions
Infrastructure Deployment & Maintenance
Skilled in creating and deploying infrastructure as code with proficiencies in the following:
- Designing containers
- Managing containers using Kubernetes, Docker Swarm, and Docker Compose
- Managing servers using Ansible
- Deploying servers on bare metal or via hypervisors (VMware, Hyper-V)
Skilled in deploying, configuring, and maintaining Linux, Unix, and Windows operting systems with proficiencies in the following:
- Managing headless Linux and Unix servers
- Managing Windows servers at scale using PowerShell
- Configuring and deploying core operating system services
- Keeping deployments consistent using desired-state configuration management
Skilled in implementing security best practices and risk mitigation with proficiencies in the following:
- Interpreting network vulnerability scan data
- Mitigiating common web vulnerabilities in code and application servers
Skilled in network design and implementation with proficiencies in the following:
- Designing and implementing networks at scale
- Effectively using subnetting, routing, and VLANs
- Configuring and deploying DNS
- Deploying and maintaining firewalls and VPNs
Guetzli Image Optimization
Designed a distributed system to bulk-process over nine million images on our web properties. Utilized Google Container Engine to distribute processing across 3,600 containers across three regions, and maintained an average of over 99% CPU utilization, allowing it to complete nearly two years’ processor time in under 3 days. Wrote a high-performance queueing system, download queue, worker processes, and downloaders and distributed via containers both on-premise and in cloud infrastructure. This reduced our image sizes by about 80% on average.
Golang - Kubernetes - Google Cloud
Developed a system utilizing Docker for developers to build and scale local development environments. It provides easier and faster deployment, lower resource consumption while running, and greater consistency between developers than previously used solutions. It was designed with scalability in mind and is easy to extend to handle additional projects and increases in project scope. Its artifacts are human readable and can be modified by the developers to fit their needs.
Golang - Docker
Docker Registry Web UI
Used React to create an interface to view the contents of an internally hosted Docker registry. It organizes and displays all images and links to internal documentation for the images.
NodeJS - React
Docker Automatic Build Tool
Developed a tool to hierarchically build Docker images. It allows for the use of inheritance, reduces code duplication, and maps build dependencies while providing a consistent build experience for all users.
Golang - Docker Cloud
External DNS Update Tool
Created a CLI to use for public DNS records. It validates against previously common mistakes and provides a desired-state driven configuration which enables the use of version control.
SQL Server High-Availability Cluster
Utilized SQL Server 2012 RC releases to test and configure a Failover Cluster supporting AlwaysOn technology, which was put into production at General Availability release. It solved read / write contention issues by splitting workloads based on intent and purpose, significantly increasing performance.
SQL Server - Windows Server
Ordered by proficiency
- Linux - CentOS, Ubuntu, CoreOS
- Unix - FreeBSD, MacOS
- Docker + Compose & Swarm
- Microsoft Hyper-V
- VMware vSphere
Ordered by proficiency
- Microsoft SQL Server
- MySQL / MariaDB
- Stack Overflow - August 2017 - Present
Site Reliability Engineer - August 2017 - Present
Ensure that all supporting services for Stack Overflow properties are online, performant, and secure. Develop and implmement tooling and processes to manage large sets of infrastructure effectively with a small team.
- WebstaurantStore - July 2011 - August 2017
Site Reliability Engineering Manager - November 2016 - August 2017
Lead the Site Reliability Engineering (SRE) team of eight supporting over 100 developers. Guided SREs in orchestration and deployment strategies, developed supporting tools, and trained employees on issue resolution.Web Operations Manager - October 2012 - November 2016
Built up the Web Operations team from scratch to eight Site Reliability Engineers, eight Database Administrators, and four Systems Engineers. Developed high-availability and infrastructure strategies that reduced hardware budgets by over 50% while providing greater performance.Database Administrator - October 2011 - October 2012
Lead an architecture revamp to solve availability and performance issues. Designed and implemented a highly replication strategy to meet both redundancy and performance goals. Reduced SQL transaction times by over 80% on average.Web Developer - July 2011 - October 2011
Led a development team for a high-traffic e-commerce site. Trained new hires to get them up to speed.
- YDOP Internet Marketing - May 2010 - July 2011
Lead Developer - May 2010 - July 2011
Created project specifications and implementation plans for client work. Developed modular, reusable components for client delivery. Increased developer productivity and reduced learning curve for new developers.
- Sharp Innovations - March 2008 - August 2010
Web Developer - March 2008 - August 2010
Develop software based on client needs. Manage servers, access, security, and databases.
Creating database objects; working with and manipulating data within SQL Server; troubleshooting and optimizing queries.
Installing, configuring, maintaining, securing, and troubleshooting SQL Server instances.
Implementation of database and programming objects; optimization and troubleshooting of database applications.
Bachelor of Science: Computer Science
September 2006 - December 2008
Graduated Magna cum Laude