Hello!
My name is Phil Peble and I am a software developer that currently works for ActiveCampaign. I am primarily a backend engineer that writes in Ruby and Go but I have used other languages extensively in my past positions. If you would like more information on my skills and past experiences please see my resume below.
I live in the North Chicago suburbs with my wonderful partner, our son and two daughters, our cat, and our turtle. In my free time I enjoy reading, engaging in arguments regarding the efficacy of various political, economic, and environmental policies, gaming, and contributing code to open source.
Key facts
- Graduated from Northern Illinois University in 2006
- Was born in Georgia but spent time growing up in Kansas, Maryland, and finally Illinois
- Maintainer of Holidays gem since 2014
- Maintainer of Emissary Ingress since 2024
- Once ate a 1 pound cheeseburger at a Fuddruckers outside of St Louis
- Strong supporter (sometimes annoyingly so, depending on who you ask) of Test-driven development
- Strong supporter of SOLID principles
Resume
Experience
Staff Software Engineer - Platform Automation - ActiveCampaign
(June 2021 - Present)
- Help design and implement move to multi-region data centers
- Implement and maintain Argo CD for multi-region deployments
- Implement and maintain Temporal for mission-critical business logic
- Implement internal 'developer portal' that developers can use to monitor and deploy their applications to all regions
- Mentor junior developers
- Write ADRs and design documents for platform decisions and guide teams on implementation
- Work with developers to design and improve internal deployment and application tooling
- Implement and maintain automated release tooling for central monolith codebases
Senior Software Engineer - DevOps - ActiveCampaign
(April 2019 - May 2021)
- Implement API Gateway using Ambassador in order to help with redesign of monolithic applications
- Provide guidance and direction for switch to Kubernetes within the organization
- Maintain auto-scaling AWS EKS clusters in staging and production
- Develop custom deployment tooling for developers for all environments
- Implement and maintain CI/CD pipelines in GitLab
- Implement and maintain local development tooling used by all developers
- Maintain self-hosted GitLab used by all developers
- Develop self-service tooling for various AWS technologies (s3, sqs, etc) so developers could be empowered without relying on infrastructure teams
- Write extensive documentation explaining our tooling and new processes in kubernetes
Senior Software Developer - Sittercity
(March 2014 - December 2018)
- Work in an agile environment to develop highly-available applications in Ruby and Go
- Aim for near-100% test coverage of all projects to ensure minimal issues and maximum refactoring potential
- Work with product owners to write acceptance criteria and ensure business goals are met
- Mentor junior developers by emphasizing the SOLID principles and disciplined TDD
- Develop proof-of-concept projects to help guide direction of future work
- Develop RFCs and best practices along with other senior developers to influence technology direction
Software Engineer - Lou Malnatis
(November 2012 - March 2014)
- Worked with small dedicated IT staff to maintain, support, and extend existing Ruby on Rails applications servicing both front and back office functions
- Responsible for reengineering a myriad of existing applications that contained overlapping functionality into a single core internal application that serviced all levels of the organization (payroll, HR, catering, shipping, retail, purchasing, and accounting)
- Responsible for maintaining and rewriting existing shipping calculation application in Ruby on Rails. This application was used both internally (by customer service reps) and externally (by our customer-facing site) to determine the best delivery options for the shipping business
- Responsible for designing and facilitating new IT project implementation strategies across all levels of organization
Application Developer - Discover Financial Services
(June 2006 - November 2012)
- Helped develop, implement, and support a horizontally scalable and multi-threaded batch infrastructure utilizing Java and Unix/Linux shell scripting to execute time-critical and high-volume business-designed strategies in a production environment
- Helped develop, implement, and support real-time Java EE applications in Websphere to execute business-designed strategies in a high-availability production environment
- Both types of applications tied together various technologies, including Teradata/Oracle, IBM MQ, sockets, and file-based processing
- All aspects were configurable via an extensive set of property files, allowing for each sub-application to use only the features that it required
- Supported all team applications on a rotating 24/7 pager schedule
- Worked closely with product owners to define requirements
- Worked on efforts through all levels of project life-cycle
Skills
Languages
- Strong Ruby
- Strong Go
- Strong SQL
- Strong shell scripting
- Java
- HTML
- CSS
- C#
- Typescript
Proficiencies
- Object oriented principles
- Strong advocate of Test-driven development (it is really important to me. If you hate TDD then we probably won't be BFFs)
- Strong advocate of SOLID principles
- Strong advocate of agile (lower case 'a') development practices
- vim (I have used various IDEs in the past but really, really love vi)
- tmux (I really love tmux)
- Ruby on Rails
- Go kit
- PostgreSQL, mySQL, Oracle, Teradata
- Ubuntu, AIX, and Red Hat Enterprise Linux
- Docker
- git and Clearcase (please please please don't ask me to work with Clearcase again)
- ZeroMQ (and general socket/message queues)
- Data warehouse principles
- Google Cloud Platform
- AWS
- Terraform
- GitLab (and auto-devops)
- Kubernetes
Education
Northern Illinois University
- August 2002 - April 2006
- B.S. in Computer Science, Minor in History
Credits
This page is built with Solo, a Jekyll theme for single-page sites.
Last updated: 2024/08/07