Andrew McClain, Developer in Atlanta, GA, United States
Andrew is available for hire
Hire Andrew

Andrew McClain

Verified Expert  in Engineering

Back-end Developer

Atlanta, GA, United States

Toptal member since July 21, 2023

Bio

Andrew is a software engineer specializing in back-end technologies with eight years of experience building scalable, maintainable, distributed systems to solve complex problems. His Java and Spring Framework expertise enables him to get projects off the ground quickly and smoothly.

Portfolio

Posit
Git, Distributed Software, C++11, Bash Script
NICE
Java, Git, Distributed Software, AWS IAM, Amazon EC2, AWS CloudFormation...

Experience

  • Jenkins - 8 years
  • Git - 8 years
  • Linux - 8 years
  • Distributed Software - 7 years
  • Docker - 6 years
  • Spring Boot - 6 years
  • Java - 6 years
  • Spring Microservice - 4 years

Availability

Part-time

Preferred Environment

Windows, Linux, Java, IntelliJ IDEA, Git, Jenkins

The most amazing...

...thing I've designed is a persistence abstraction layer to migrate all storage seamlessly from the disk to the database.

Work Experience

Senior Software Engineer

2021 - 2023
Posit
  • Spearheaded the migration from hard-coded on-disk storage to a flexible storage interface implementing multiple storage back ends for cloud support.
  • Performed a feasibility study and exploratory design for a project to reduce user friction in auto-provisioning environments through integration with identity providers over a SCIM API.
  • Supported customers in troubleshooting configuration issues and installation problems, identifying bugs, and tracking those issues through GitHub Issues to address pain points.
Technologies: Git, Distributed Software, C++11, Bash Script

Software Engineer

2015 - 2021
NICE
  • Acted as a primary maintainer of the infrastructure, including managing Gradle, virtual machines, Docker images, TeamCity, Jenkins, ELK monitoring stack, and Bitbucket.
  • Developed the company's core analytics products utilizing AWS, Cassandra, Docker, Elasticsearch, Kafka, and Spring Boot.
  • Used Docker containers as a tool for repeatable testing and in a microservice architecture.
Technologies: Java, Git, Distributed Software, AWS IAM, Amazon EC2, AWS CloudFormation, Docker, Docker Swarm, Spring Microservice, RESTful Microservices, Microservices, Microservices Architecture, Gradle, Spring Boot, Bash Script

Experience

Microservice Architecture for Customer Interaction Analytics

In the pursuit of migrating a large interaction analytics platform from the massive servers of a data center to a nimble swarm of EC2 instances, we needed to rebuild our application as a group of microservices.

Each service was extracted from the functional definition of our software, and over several months, we reached feature parity with the original monolithic system. Using load balancers and auto-scaling rules, the data processing nodes were able to rise to meet large batch processing dumps and scale back down during periods of relative quiet.

Education

2007 - 2012

Bachelor's Degree in Computer Science

Kennesaw State University - Kennesaw, GA, USA

Skills

Tools

IntelliJ IDEA, Git, Jenkins, Gradle, AWS IAM, AWS CloudFormation, Docker Swarm

Languages

Java, Bash Script, C++11

Frameworks

Spring Microservice, Spring Boot

Paradigms

Microservices, Microservices Architecture

Platforms

Linux, Docker, Windows, Amazon EC2

Other

Distributed Software, Software Engineering, RESTful Microservices

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring