Skip to content

P. Cameron Presley - Resume

Table of Contents

About Me

I've been a software engineer for over a decade and in leadership for over five years. I pride myself in helping the team be successful while maintaining my technical aptitude as I don't believe you can be a technical leader without the ability to be in the work with your team.

One of my greatest strengths is that I can explain anything to anyone, tailoring my message to be effective with my audience. With this ability, I'm a natural coach and as such, have grown many engineers from intern->associate->mid->senior.

Another strength of mine is that Second, I excel at looking at a process, understanding the goal, and then fine tuning so that everything is better. This can be how a team approaches work, our development lifecycle, how we interact with clients, etc... Because of this strength, I can level up a group quickly because I can amplify our strengths and make the weaknesses a non-issue.

I enjoy learning new technology and I have a track record of picking up new technologies on the fly to accomplish new tasks.

Experience

Lean TECHniques

Professional Software Consultant

As a Professional Software Consultant, my main responsibility is to help our clients improve their software delivery practices and experiences by process coaching, technical coaching, custom tooling, or software delivery.

Client Accomplishments

Fortune 500 Financial Company

I developed a training program to teach their engineers modern software development using TypeScript and Amazon Web Services (AWS). As part of this training, engineers learned how to architect solutions using Lambdas, DynamoDB, SNS, SQS, EventBridge, and Fargate Tasks, all of which was deployed by leveraging the Amazon Cloud Development Kit (CDK).

In addition, I was an embedded technical coach for various teams, responsible for showing and guiding them on their technology modernization efforts. This involved both teaching modern development practices (vertical slicing, feature flags, test driven development) and DevOps practices (logging and metric analysis).

Education Company

In order to create a product differentiator, I architected and designed the ability for an admin to send out custom forms to parents and students. This feature was highly requested by their clients and saved an immense amount of manual work (clients would normally send out 1,000 forms at the beginning of the year). This involved designing a system to work with a React front-end, communicating with a .NET Core API, that stores data into Azure SQL DB, all of which in Azure.

To be successful, I worked with engineers and business stakeholders to define a three milestone approach that would allow for delivery in a tight timeline and to iterate on the design faster, getting feedback sooner. By creating Entity Relationship Diagrams, Sequence Diagrams, and User Workflows, the team was able to hit the ground running with minimal ramp-up time.

Lean TECHniques (LT) Accomplishments

  • Developed an internship onboarding program to help our interns become effective faster. This was an area that LT historically struggled in, but combining a mix of hands-on training and real-world projects, our interns were able to be effective within their first two weeks
  • To help improve our interview process, I lead a project team to replace a core component of our technical assessment by replacing a third party API with one that we wrote. This involved coaching the team on building various AWS Lambdas, with storage into DynamoDB, all behind an API Gateway.

Rocket Central

Senior Team Leader

In August 2022, a new initiative, the MyRocket Dashboard, was created where my team and I were selected to help get this project started.

The MyRocket Dashboard helps our client's in their biggest moments. Whether that's buying their first home, paying off debt, or opening up a credit card, my team builds the software that powers these experiences from the other parts of Rocket.

Accomplishments

  • In first three months, we launched the Home Buying Plan, the first part of the MyRocket Dashboard where clients could work on their approach for buying their first home
  • Created the launch plan for this product, coordinated the day of logistics, the quality testing, and various other aspects of launch
  • Worked with our Solution Architect on the technical approach for the API layer for MyRocket Dashboard, leveled up the team, and coordinated the on-time completion of the API so that other teams/departments could use it for their work
  • Coached other Team Leads on process improvements
  • Created a Teams Bot framework that allowed anyone to create their own bot quickly and to re-use existing bots I had created.
  • To get the engineering health of our product, I wrote a bot that calculated how long a pull request was open before being merged, giving us insight on where in the lifecycle we were spending time
  • To help reduce the amount of toil for on-call engineers, I wrote additional bots that automated stand-ups, daily checklists, and production deployments
  • To help our department feel closer, I created a bot that would pair members of the department together to get a coffee and converse
  • Interviewed Software Engineer and Team Leader candidates
  • Mentored Team Leaders
  • Coached Associate Software Engineers to Mid Software Engineers

Rocket Mortgage

Senior Team Leader

I was part of Rocket Pro TPO, where we helped our partners with the loan origination process for their clients.

My team was responsible for the loan once it was registered and we were responsible for making sure the information was accurate as this could cause issues for other teams if the info was missing or incorrect.

Accomplishments

  • Overhauled the work intake process for the team. Before, we were delivering one/two stories in a sprint was now delivering ten stories in a sprint
  • Coached the team to be more full-stack by developing individual training plans and 1-1 coaching on missing skills
  • Developed an onboarding plan for an intern
  • Interviewed Software Engineers and Team Leader candidates
  • To help fellow team leads to problem solve, I created TL Office Hours where we could bring up concerns and workshop solutions together
  • Coached the team to be comfortable with production support by showing them firsthand, supporting their mistakes, and teaching how to document fixes
  • Coached my product owner on vertical slicing, feature flags, and how we could ship more frequently
  • Repaired relationships and adjusted the reputation that the team had from before, improving our effectiveness and teams willing to work with us
  • To catch production issues faster, I created Data Quality scripts that would flag problematic loans before they would impact production so that we could fix it.
  • In order to know the team and grow individuals, I develop coaching plans, helping team members find the right spot, and overall, help everyone be successful

SentryOne

Staff Software Engineer

Technical Lead Developer

Software Development Engineer Lead

Senior Software Engineer

As a Senior Software Engineer, I wrote software for the S1 Plan Explorer product, a tool that allowed database admins to see the execution plan for their queries and offer suggestions for improvements.

As a Lead, I was responsible for the growing and coaching of an engineering team to work on the SentryOne SQL Sentry product, a tool that allowed database administrators to monitor their databases and catch issues before their users did.

Accomplishments

  • Overhauled the onboarding process for new engineers so that they could contribute after their first sprint
  • Mentored multiple interns to Associate Engineers, multiple Associate Engineers to Mid Software Engineers
  • Created the technical approach for an important request, enabling us to close the largest deal in SentryOne history
  • Led the team developing SentryOne Monitor, our SaaS solution for performance monitoring, leveraging technologies like Docker, .NET Core, Azure, and Terraform
  • Overhauled our CI/CD pipelines from GUI definitions to YAML files
  • Onboarded an engineering team into a new product and tech stack, requiring learning about MySQL, Golang, Docker, Kubernetes, and AWS
  • Completed performance reviews, bonuses, raises, and coaching conversations for the team
  • Worked with the members of the team to define career goals and how to get them there

Pilot Flying J

Application Architect II

Senior Software Engineer

At Pilot, my responsibility was to help our engineers be "more effective", which in this case, improving the quality and speed of which code was being shipped to production. With this context, I was an engineering coach, training teams and improving individual skill sets.

Accomplishments

  • I designed and implemented an enterprise wide continuous integration / continuous deployment workflow for applications. For the first team, this led to production deployments taking 4 hours down to 6 minutes. The approach developed here was the foundation for other teams to use going forward.
  • As part of individual learning, I created training presentations and labs to teach software architecture, SOLID design principles, automated testing, refactoring, source control, and pair programming.
  • To reduce the amount of ramp-up time on new projects, I created multiple solution templates that demonstrated layered architecture, plugin architecture, and Domain Driven Design principles.
  • By working with our Supply and Distribution team for a quarter, I was able to optimize their process of work and delivery which reduced their amount of production hot fixes by 40%.

InVizion LLC

Programmer Analyst III

At InVizion, I was responsible for the development and quality of the InVizion Analyzer, a tool that allowed project managers to complete "What-If" scenarios regarding resource management.

Accomplishments

  • To improve the release process, I fine-tuned our installer creation step from taking hours to minutes by automating the process using WiX.
  • When a contractor was unable to finish a project, I led the team to come up with a design which I implemented, getting the project back on track
  • In order to reduce regressions in our software, I spearheaded writing tests for our code base and in turn, trained other team members on testing. In the first year alone, we improved code coverage from 10% to 55% which in turn dramatically decreased our bug count.
  • In response to customer request, I have implemented multiple stand alone features for the application including non-government fiscal years, custom import formats, and relationship loop detection.

DAXOR Corporation

Software Engineer

I was responsible for the software that accompanied the Blood Volume Analyzer 100, a diagnostic medical device.

My responsibilities included writing code, developing documentation, writing automated tests, traveling to client for maintenance, and working with management in the development of new features.

Accomplishments

To help give engineers a stable production environment, I created the Continuous Integration/Continuous Deployment process for DAXOR by using Jenkins to automate the process of spinning up a new VM, installing our software upon there, which reduced the time needed to deploy our software and reduced the number of errors from testing our code.

Epic Health Systems

Software Developer

I was one of the software developers responsible for Data Courier and EMFI, tools that allow for data to be sent from one Epic installation to another.

Community Involvement

Certifications

Education

Maryville College - Maryville, TN

  • Bachelor of Arts - Computer Science
  • Bachelor of Arts - Mathematics