Adam T. Carpenter
I am a computer programmer who has been developing and maintaining native and
web applications since 2018. I have also provided freelance systems
administration services and technical mentoring since 2016.
I am fluent in Rust, C#, Python, PHP, JavaScript, Bourne Shell, and HTML+CSS.
I am also familiar with Java, C, C++, and TypeScript. I have
used a variety of frameworks and libraries, as well as a myriad of web
servers, databases, and "DevOps" platforms.
I aim to create simple, performant, and well-documented software that solves
real problems with no surprises.
Work History
ADP Manager, Software Engineering
April 2022-Present, Norfolk, VA
- Manage team of eight software engineers, on site and remote
- Coordinate development of self-service portal with 2000+ DAU
- AI transcripts and summarization development workstream owner
- Design and implemented Argo BlueGreen rollout strategy for progressive deployments with zero downtime
- Promoted adoption of Google SRE practices in a paperwork-heavy change environment
- Created remote developer jump box to reduce onboarding time
ADP Software Engineer
June 2018-April 2022, Norfolk, VA
- Reverse engineered undocumented, proprietary protocol and created Angelshark to automate config changes. Sends commands over SSH channels to remote terminal emulators.
- TODO: CICD/site reliability engineering
- Co-authored custom authentication API and reverse proxy to serve as a container traffic router. Turns LDAP credentials into JWTs.
-
On-boarded and mentored team of six developers on organization DevOps
technology and practices. This included configuring and
knowledge-sharing a Jenkins CICD pipeline, local Docker Trusted
Registry, and IBM Cloud Private flavor of Kubernetes. This also
consisted of informal lectures on concepts such as continuous deployment
and delivery, the "12-factor" methodology, and containerization.
Skills
Software Engineering
-
Build performant, correct applications and services with a focus on
automating manual labor and making architects' and operators' lives easier.
-
Contribute to internal and client-facing front-end software that is simple
and easy to use.
-
Integrating with organizational build chains and DevOps pipelines for
deployments with zero surprises.
Systems Administration
-
Architect and arrange physical machines and the servers that run on them for
minimal downtime and secure, speedy operation.
-
Administer container orchestration clusters with dozens of "micro-services"
that need to communicate together to achieve a common goal. Apply
zero-downtime upgrade practices as well as high-availability horizontal
replica scaling for high-use applications.
-
Self-host a variety of tools, applications, and web servers for the purpose
of learning and ownership of digital property.
Technical Mentoring, Leadership
-
Transfer knowledge and skills in a practical, enjoyable fashion in language
that is [hopefully] easy to comprehend.
-
Take a senior role in directing a flourishing new team of developers to get
started quickly and achieve a state of production in little time.
-
Co-host informal lectures and "lunch and learns" on a variety of topics,
especially but not limited to computing.
Academic History
William & Mary B.S. Computer Science
Class of 2018, Williamsburg, VA
I have a Bachelor of Science in Computer Science from the College of William
and Mary. While there, I participated in several group software development
projects such as hybrid Android application testing and presided over the
campus Game Design Club.
About Me
I wrote my first program on a TI-84 in BASIC to help finish my high school
math homework faster. I quickly transitioned to building more complicated
programs but have continued to enjoy finding the smallest amount of code to
solve a problem quickly, correctly, and securely.
I grew up in and still call Hampton Roads, Virginia my home. In my spare time
I drive and maintain a classic car, a 1953 Hudson Hornet. I enjoy travelling
and being at home with my wife and cocker spaniel. I also self-host a web
server in a closet in my home.
I keep a public journal on my web site.