P. Cameron Presley - Resume
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.
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.
- 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
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.
- 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
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.
- Overhauled the onboading 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.
- 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%.
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.
- 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.
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.
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
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.
- Presented at over 70 conferences (see https://blog.thesoftwarementor.com/speaking-schedule)
- Microsoft MVP in Developer Technologies (2015-2022)
- Director of Speaker Relation for CodeStock (2018-2022)
Maryville College - Maryville, TN
- Bachelor of Arts - Computer Science
- Bachelor of Args - Mathematics