Stephen McPhee

Morrison, CO 80465 · (303) 908-6992 · stephen.t.mcphee@gmail.com

Full Stack Software Engineer with a focus on backend development, API design, and cloud-based infrastructure. Experienced with Ruby on Rail , SQL, and containerized deployments using Docker and AWS. Exposure to Java, JavaScript, and Python and their frameworks, with active progress toward AWS Solutions Architect Associate certification. Holds a Biology Degree, bringing a data-driven and systems-thinking approach to problem-solving. Comfortable collaborating in Agile teams and contributing to production environments. Open to roles in software development, data infrastructure, or analyst paths.


Experience

Software Engineer Intern → Volunteer Developer

Mountain Lark Software
May 2017 - August 2022

Started as an intern and tasked with building a greenfield RESTful API for a social media/messaging platform for Drum Corps International (DCI).

Continued to contribute post-internship, as a volunteer developer. Focusing on debugging and feature development in a production application with thousands of users.

DCI Messaging Platform

  • Collaborated and built from the ground up a cross-platform messaging app for DCI, serving thousands of users.
  • Designed and deployed a secure RESTful API with JWT authentication and Docker based deployment.
  • Built a Flutter/Dart interface for cross-device support, integrating with backend services.
  • Participated in Agile ceremonies, architecture discussions, and code reviews.
Tech Stack: Ruby on Rails, Flutter, Dart, JWT, Docker, PostgreSQL, Postman

Spinup.dev

  • Continued post-internship development on a live production platform with a large active user base.
  • Delivered enterprise-level features, resolved critical bugs, and maintained service reliability.
  • Integrated new tools and streamlined internal workflows across a multi-service codebase.
  • Provided mentorship to junior contributors, reviewing code and offering architectural feedback.
Tech Stack: Ruby on Rails, Docker, PostgreSQL, Vue, JavaScript, HTML, Go, Python

Freelance Software Developer

August 2023 - Present

Developed and delivered software solutions for clients as an independent engineer, focusing on backend architecture and full-stack support.


  • Designed and implemented a new backend system with a custom API and web scraper to replace a deprecated third-party data source.
  • Collaborated with a sports media startup to launch their website, providing full-stack development, deployment strategy, and long-term technical guidance.
Tech Stack: Python, MSSQL, JavaScript, React, Ruby on Rails, Azure, Kubernetes

Career Transition

January 2023 - August 2023
Career Break

During my professional development break, I embarked on a deliberate career transition, leaving my previous role to explore opportunities aligned with my biology degree post-graduation. Motivated to enhance my skills, I attended the Turing School of Software and Design, specializing in back-end software engineering. There, I delved into API development, honed my skills in Ruby on Rails, and mastered Object-Oriented Programming. Over the rigorous seven-month coding program, I accumulated over 1700 hours of hands-on software work, seamlessly integrating my biology expertise with coding proficiency. Now, armed with a blend of biological knowledge and technical prowess, I am eager to apply these skills in my next professional role.

Back End Developer Student

During my time at Turing, I had the chance to dive into developing web applications with small, collaborative teams of 2 to 4 people, all while sticking to Agile practices. Over more than 1700 hours, I received a ton of technical instruction, worked on independent projects, and took job readiness courses. This training led me to successfully complete 13 projects; group, paired, and solo, as well as tackle 16 coding challenges and assessments, all using Ruby on Rails.

Tech Stack: Ruby on Rails, GraphQL, PostgreSQL, Sidekiq, Redis, AWS S3

Server

Le Peep Restaurants

During my time in food service, I adeptly managed various roles, including host, busser, coffee bar, and dishwasher, in a fast-paced and collaborative environment. This experience honed my ability to adapt quickly and work efficiently with my team. I successfully balanced part-time work during school and transitioned to full-time hours post-graduation from MSU Denver, showcasing strong multitasking abilities and an unwavering commitment to service excellence.

May 2017 - August 2022

Human Anatomy and Physiology Lab - Teaching Assistant

Metropolitan State University of Denver - Biology Department

As an anatomy and physiology teaching assistant, I honed my teaching skills through hands-on experience in the classroom. Tailoring learning materials to accommodate diverse learning styles became second nature, fostering an inclusive learning environment where every student could thrive. This role sharpened my interpersonal skills and public speaking abilities, as I engaged with students in both one-on-one sessions and large group lectures. Collaborating closely with fellow TAs allowed us to share best practices and enhance the overall learning experience for our students.

August 2014 - May 2020

Education

Turing School of Software and Design

Back-end Engineering Program
ACCET Certificated in back-end engineering

Completed a seven-month ACCET-accredited program, accumulating 1700 hours of hands-on software development experience.

January 2023 - August 2023

Metropolitan State University of Denver

Bachelor's Degree - Biology

GPA: 3.25

Minor: Japanese Language

Five plus years of experience as a Human Anatomy and Physiology Laboratory Teaching Assistant, involving lecture delivery and the creation/administration of laboratory practicals.

Embarked on an educational journey that spanned eight years, driven by my genuine passions. It started with Exercise Science, transitioned to Teaching, and eventually led me to my true calling: a Biology major with a specialization in Human Anatomy and Physiology. This evolution reflects my commitment to aligning education with what truly inspires me, both professionally and personally.

August 2013 - December 2021

Skills

Programming Languages & Tools
What I'm Learning
What I Want to Learn
Workflow
  • Test Driven Development
  • Object Oriented Programming
  • Model View Controller
  • REST and GraphQL API Development
  • Cross Functional Teams
  • Agile Development
  • SDLC

Projects

DCI Messaging App

Project Repo

The DCI Messaging Platform is a real-time communication tool built for the Drum Corps International (DCI) community. I was the primary developer on the project, leading technical design with guidance from the team at Mountain Lark Software. What began as an internship opportunity evolved into a long-term collaboration where I owned the majority of architectural and development decisions.

From the start, I designed the backend API to prioritize security, scalability, and clarity. I implemented JWT based authentication, encrypted password storage, and enforced strict user permission boundaries. Each endpoint was crafted to support both mobile and web clients, ensuring consistent and reliable interactions across devices.

The application's infrastructure is containerized using Docker, allowing for seamless handoffs across deployment, staging, and production environments. For testing and iteration, I built a front-end interface using Flutter and Dart, which not only validates the backend logic but also provides a clean cross-platform user experience.

To ensure the platform remains stable and secure, I implemented role-based access control, scoped actions to user IDs and added protections for admin-level functionality. The API also includes caching strategies to mitigate third-party rate limits and reduce load on external services.

NOTE: the back-end repository is private and unviewable, but the front end test repo is what linked.

P10 Racing

CHANGE-ME Project Repo

I have gained knowledge from my experiences at and after Turing, and P10 Racing serves as a platform for ongoing work, experimentation, and the application of my learning. It contributes to my continuous growth as a developer.

I originated this project as a Formula 1 fan game tracked in a spreadsheet. P10 allows players to predict the 10th-place finisher in each race. Points follow a bell curve, with the maximum awarded for accurate 10th-place predictions. Bonus points are given for correctly guessing the first non-finisher. The player who has the most points at season-end wins.

To ensure user security, P10 employs password salts and hashes for password encryption during the login process. JSON payloads and tokens are utilized to manage user claims, restricting access based on roles. P10 has also implemented a guest pathway that enables a showcase mode, allowing users to explore the app without the ability to initiate any creative or destructive actions.

For administrative tasks, an admin state is established, ensuring that only authorized personnel have access to critical functions. Logged-in users can only perform actions associated with their username and/or user ID. The project's CSS is developed using SCSS, with ongoing efforts to enhance the visual appeal, incorporate user-friendly features, and optimize responsiveness across various devices.

To mitigate API rate limits, P10 has implemented a caching mechanism on all of the applications main views, storing pages for 15 minutes to minimize the risk of exceeding the API's rate limit.

The learning process for this project doesn't end here, and there are numerous features I plan to incorporate in the future. Check P10's README for a detailed list of upcoming additions and improvements.

Special thanks to some very talented individuals who generously shared their expertise, helping me learn new things and turning this project from a desire into a reality. Their contributions are acknowledged in the project's README, where you can find links to their profiles.

RentInform - A Demo Competition Winning Project

Front-end Repo Back-end Repo

RentInform was my final project during my third quarter at Turing. In collaboration with three other back-end students, we embarked on a two-week journey to create a full-stack application. We conducted daily standups to coordinate our tasks and implemented sprints to better organize our workflow, ensuring consistent deadlines.

We embraced a versatile approach, with each team member contributing to both front-end and back-end aspects based on individual interests. The back-end, a REST API developed in Ruby on Rails, saw my involvement in assisting with various tasks. I played a key role in implementing Continuous Integration with CircleCI and configuring background workers using Sidekiq and Redis. These workers seamlessly handled data purification and seeding of our database with rental properties from a CSV file, with one job triggering another in tandem.

On the front end, I took the lead in integrating Google Cloud functionality for seamless user authentication through Google OAuth. Another significant contribution was in styling the website using TailwindCSS, providing me with an opportunity to enhance my full-stack development skills.

Upon achieving our Minimum Viable Product (MVP), we had additional time to add some compelling features. Personally I helped create an external API call to enrich each rental property show page with additional data. The project earned special recognition as our cohort's top project, securing our representation in Turing's Demo Competition.

Participating in Demo Comp, where projects are showcased to Turing peers, alumni, and members of the Denver Tech Community, was a remarkable experience. RentInform not only won the competition but stood out as a full-stack web app created by back-end students, competing against full-stack projects from students in the fourth and final quarter.

One aspect in which I take pride is the documentation quality. Taking charge of the READMEs from the beginning ensured thorough documentation, enabling anyone to clone and deploy our project independently.

This project was undeniably challenging but, in the end, incredibly rewarding. The tight timeframe pushed me to learn and adapt quickly, forcing me to discern what was worth the time investment and to not let perfection become the enemy of progress. Through the process, I gained invaluable experience by rapidly acquiring and applying new skills. The project pushed the boundaries of what I thought I was capable of, and I emerged as a better developer because of it.

Game Night - A Demo Competition Project

Back-end Repo Deployed Link

Game Night served as my capstone project, culminating my experience at the Turing during the final quarter. I collaborated with a dynamic full-stack team comprising seven developers, including four front-end specialists, two fellow classmates on the backend, and myself. The project spanned 10 intensive days, featuring daily stand-up meetings to coordinate tasks.

In this collaborative effort, my primary focus was on crafting the backend API using Ruby on Rails, seamlessly integrated with the front-end through GraphQL. Notably, I took the lead in incorporating an external API call to OpenAI's ChatGPT AI. This functionality empowered our system to analyze the user's game collection and generate personalized recommendations based on their preferences. Throughout this sprint, I dedicated approximately 70-75 hours to backend development, also providing support to the front-end team as needed. The culmination of our efforts led to the selection of our group by peers and classmates to represent our cohort in Turing's Demo Competition.

A day before our scheduled code freeze and submission to the competition organizers, we encountered an unforeseen obstacle: the external API we relied on to seed our database with game objects had shut down. This revelation occurred in the interim between our project presentation, our selection for the Demo Competition, and the actual competition itself. In response to this crisis, I quickly realized that I had not rebuilt the database since the API shutdown.

In collaboration with another backend developer, we promptly adapted our approach. Instead of relying on the now-defunct API, or refactoring our whole project to consume a different XML API instead of JSON, we successfully pivoted to seeding the database with a CSV file. This file was extracted from my local database, serving as an effective patchwork solution under the circumstances. While this adjustment was a temporary fix, it underscored our team's ability to think on our feet and navigate unforeseen challenges. Looking ahead, a priority for further development would be to re-establish the external API call to ensure a more robust and sustainable solution for seeding the backend's database.

Please Note: The backend API for this project is hosted on a platform that undergoes shutdown when not in use. As a result, users may experience a brief delay, lasting a handful of seconds, when initially visiting the site. During this time, the backend is in the process of spinning up to ensure optimal functionality,

Interests

Beyond immersing myself in the dynamic world of software and tech, I'm a die-hard supporter of the Colorado Avalanche, passionately cheering for many of my city's sports teams. My fervor for Formula 1 inspired me to developed a fan app to elevate our fan game from a spreadsheet to a full-fledged web application. When the weather permits, I embrace my love for golf. As a dedicated craft beer enthusiast and avid cook, I like to explore the culinary arts. That pretty much covers leisure activities--other than coding, my intellectual journey includes daily Japanese practice, aiming to conquer the Japanese Language Proficiency Test.

Fitness of body and mind is important to me. I accomplish the "body" part by lifting heavy circles off the ground and putting them back again. The "mind" part is taken care of by following a day of coding and learning with an evening of engaging conversations and video games with friends scattered across the country.


Awards & Certifications

  • AWS Certified Solutions Architects - Associate (In progress, expected 05/2025)
  • Eagle Scout - Boy Scouts of America - November 2011
  • ACCET-accredited certificate in back-end engineering - Turing School of Software and Design
  • 1 st Place - RentInform - Turing School of Software and Design - Demo Tech Competition July 2023