Hi, I'm Alex.

I'm a Full Stack Software Engineer from North Carolina. I currently work for The Social Institute building a learning platform with the MERN stack. I value constantly learning, clean code, and strong team communication. This site is my up-to-date portfolio and résumé. Feel free to reach out to me on LinkedIn or at alexrkoch(at)gmail.com.

A headshot of Alex Koch
 

Résumé

Mentor, Underdog Devs

07/2023 to Present

  • Underdog Devs is a group of software engineers helping aspiring developers who are either formerly incarcerated or from an economically disadvantaged background.
  • As a mentor I meet with a mentee once a week to help them with programming problems and portfolio projects. The ultimate goal is to help mentees apply for and find jobs, helping them at every step along the way.

Software Engineer, The Social Institute

06/2023 to Present

  • Front End Technologies: Typescript, React, Storybook, SCSS, Jest, Design Library.
  • Back End Technologies: NodeJS, Express, MongoDB, Cron server, Web Sockets.
  • Misc Technologies: Heroku, State Machines.
  • Developed a full stack web application on the MERN stack in the ed-tech industry.
  • Developed reusable UI components as part of a design library.
  • Experience working in a legacy codebase. Constantly improving the code quality, refactoring legacy code to typescript and newer patterns, and adding unit tests to an un-tested code base.
  • Experience in small operation DevOps. Created the team's first GitLab pipeline to manage deployments to staging and production environments. Continued to improve this pipeline to include running automated tests.
  • Always contributing to documentation, and actively improving the team's development process.

Associate Software Engineer, Optum (Contractor)

08/2022 to 06/2023

  • This position is a contract position through York Solutions LLC, which led from my participation in York's B2E program (see below in education).
  • Front End Technologies: Typescript, Angular, GraphQL, Storybook, SCSS, Jasmine, Karma.
  • Back End Technologies: Java (Spring Boot), Nest.JS, GraphQL (Hasura on top of a Postgres DB), and Camunda (BPMN & DMN).
  • Misc Technologies: Git, Jenkins, Sonar, Agile, Scrum, Rally.
  • Developed web application for healthcare industry using primarily Angular for the front end and Java Spring Boot for the back end.
  • Developed reusable UI components and also embedded those components into various microproducts.
  • Developed Java APIs, and also used Camunda BPMN and DMN to orchestrate back-end processes.
  • Practiced reactive programming paradigm for the full stack: strong skills in RxJS in Angular, and exposure to Project Reactor for Java.
  • Contributed to improving onboarding process and documentation for new hires.
  • Practiced agile software development on a 2-week sprint cycle.

Software Development Teaching Assistant, York Solutions

03/2022 to 08/2022

  • Technologies: Javascript, React, Redux, Bootstrap, Java, Spring Boot, Postgres, Docker, Git, Jira
  • Full-stack software development bootcamp that feeds into a full-time job as a contractor for one of York's clients.
  • Selected to begin program a few weeks early to prepare as teaching assistant for 2 cohorts.
  • Assisted students during lecture and during independent project work.
  • Assessed and graded student deliverables.
  • Taught lectures when primary instructor was not available.

Freelance Web Developer

08/2021 to 03/2022

  • Designed and developed WordPress websites for a variety of clients through Upwork.
  • Leveraged great User Experience (UX), Organic SEO, Modern Design, and High Performance to make sure my client's websites achieved their goals.
  • Continually improved my web development skills to branch out from WordPress into more complex front-end development.
  • Related Portfolio Items: AAA Non profit | Local Activist Group | Political Blog

Software Development - Self Study

01/2021 to 02/2022

  • Full time self-study, beginning primarily with Codecademy's Full-Stack path
  • Primarily learned Javascript, HTML, and CSS.
  • Proactively sought collaboration from other Codecademy students, forming a group with two other developers. The ultimate work product of this collaboration was the Reels Movie App

Development Geologist, Chevron

07/2018 to 12/2020

  • Used large datasets of both dynamic and static well log data to assess the subsurface.
  • Assessed subsurface risk and uncertainty to inform many aspects of project design and decision-making.
  • Worked in cross-disciplinary collaboration with project managers, engineers, and SMEs to develop and execute projects.

Education

Ongoing Forever

  • Full-stack Software Engineering Bootcamp, York Solutions B2E, 08/2022
  • M.S. Geology, University of Utah, GPA: 3.95, 07/2018
  • B.S. Geology, University of North Carolina Wilmington, GPA: 3.97, 05/2015
 

Portfolio

 
A screenshot of X readying to defeat O in a dramatic game of tic tac toe.

Tic Tac Toe - React and Websockets

Description: This is a 2-player tic tac toe game. First, the players choose whether they will be X or O. Then they alternate turns, with each move being emitted back to a Websocket Server, which shares the move with the opponent, creating a real-time playing experience. The game notifies both players when someone has won, and allows them to start a new game if desired.

I developed this to dust off my knowledge of React-Redux, as I've been working exclusively with Angular for a while. I also wanted to learn more about Websockets and Node servers. The app has plenty of rough edges, as I was mostly just coding for the happy path to get some practice.

Front End Tech: React, Redux, Typescript

Back End Tech: Node, Socket.io, Express, Typescript

 
A screenshot of the process manager app editor home screen.

Task Tracker - React & Java

Description: This app can be used to create and then follow processes that have steps. It allows for 2 different kinds of users: Editors and Followers. Editors can create and edit processes, define steps of those processes which can be answered as free text, multiple choice, or boolean. Followers can then "follow" and complete any of the processes. Tokens were used to identify each "following", and a record of the complete or incomplete followings can be accessed by the Editor.

The majority of the app was developed with rigorous Test Driven Development on both front and back end.

Front End Tech: Javascript, React, Jest, Redux, Bootstrap.

Back End Tech: Java, Spring Boot, Mockito, JUnit, Postgres, Docker

 
A screenshot of the movie app after searching for Star Wars.

Reels Movie Search - Vanilla JS

Problem: A hypothetical user is feeling nostalgic and wants to peruse movies in a random order selecting only the year and genre. Also, I needed practice writing Javascript, working with an API, and working on a collaborative team.

Action: I teamed up with two other code academy students (one back-end and one front-end, I was primarily front-end) to build a web app using vanilla JS on the front end with SCSS & BEM. The back-end is Node/Express, and is hosted on Heroku.

Result: The Reels movie app has a simple UI designed mobile-first, and faithfully returns a random list of movies from the selected year and genre for the user to flip through. Our team practiced using a Kanban board, and collaborating on GitHub.

Tech: Javascript, Asynchronous JS, using API data from JSON, HTML, CSS (SCSS & BEM), Node.js, Express.js, Github, Heroku.

 
A screenshot of the portfolio website.

Résumé and Portfolio Site

Problem: I needed a website to showcase my résumé and portfolio, and keep them up to date for the next time I'm on the job hunt! Also, now that I'm working almost exclusively in modern front end frameworks, its nice to practice a "vanilla" website with just HTML and SCSS.

Action: Create a simple, lightweight static web page with basic technologies. I used SCSS for a maintainable and symanic styling system. I also designed this page with some (I think) elegant and modern colors, font, and link transitions. I followed basic design best practices for spacing, padding, margin, etc. The site is mobile responsive, and looks great on any device.

Result: You tell me, do you like this site? It's the one you're on right NOW! I think its fit for purpose, and doing what I want it to. It's fun to get back to basics while maintaining the site, and its accessible to anyone considering me for a job.

Tech: HTML, CSS (css grid, flex box, BEM), SCSS (mixins, functions, variables), git, simple hosting on A2.

 
A screenshot of the Moose Club website hero banner.

Moose Club Responsive Website

Problem: The Moose Club, a fictitious fan club for my precious son, Moose the dog, needed a website for their organization. Their requirements were; A menu header with links to the various sections of the site, a large photo hero banner at the top, a short "About us" blurb, and a gallery of photos of their beloved Moose. The site needed to be mobile responsive. This was an exercise I made up to practice basic HTML and CSS with a responsive layout.

Action: I created this website using semantic HTML and SCSS & BEM to produce a maintainable stylesheet. I used media queries to make the webpage responsive. I also compressed the photos for a faster loading page.

Result: The Moose Club now has the code for a beautiful and responsive website with a lightweight footprint.

Tech: HTML, CSS (SCSS & BEM), Responsive Layout, Github.

 
A screenshot of the template app.

Python Groundwater Calculator

Problem: I was applying to a job that was a geoscience-focused developer job. The owner of the firm let me know that they worked heavily with Python, CI/CD, and Docker. I had plenty of Python experience, but had never worked with CI/CD and Docker.

Action: I conceived a fake groundwater flow direction problem to flex my geoscience knowledge, while giving me a chance to develop the new skillsets needed for the job interview. I created a docker image that would run my Python tool in the command line and calculate the groundwater flow direction based on input measurements. I set up a CICD pipeline using Github Actions, which would build my docker image, run my unit tests, and if all was successful push the updated image to Docker Hub.

Result: I created a functional command line tool which calculates groundwater flow direction from 3 points of data. I got great feedback on this project during the interview, but unfortunately didn't get the position (cest la vie!)

Tech: Python, Pytest (Unit Tests), CICD: Github Actions & Docker Hub.

 
A screenshot of the Love Island Stats data collection app.

Love Island Data Collection App

Problem: Ever since becoming a Love Island fan a few years ago, I've wanted to do a data project similar to what @Bachelordata does for the Bachelor Franchise. Ultimately my attempts have failed because collecting data on the show ruins my viewing experience, which I cherish so much. Part of that was due to the experience of collecting data- just typing it into a spreadsheet. I needed a quick, ergonomic, and convenient way to capture data on my tablet while watching the show from my couch.

Action: At the time I made this, I was making WordPress websites as a freelancer, so I chose WordPress as my tool to make this app to strengthen skills that were relevant to me at the time. I used Bootstrap to layout the UI of the app, and PHP and SQL to create, read, and delete from the database.

Result: I used the app to record detailed data from about 10 episodes of Love Island Australia Season 3 before I decided yet again that it was too much work for a side project, and just continued to watch without collecting data. The app has a clean and intuitive data collection structure, and is easy to use from a tablet while watching the show. All intended database operations work for the action and islander data.

Tech: WordPress, HTML, CSS, Bootstrap, PHP, mySQL, UI/UX Design, Bluehost.

 
A screenshot of the Wake County Housing Justice Coalition home page.

Local Activist Group Website - WordPress

Problem: The Wake County Housing Justice Coalition, a local housing activist group, needed a website to share information about their organization, write blog posts, take contacts from the community, manage upcoming events and volunteer registration, and display a twitter stream in the side bar. They had no major requirements on design but asked for something simple that aligned with their color theme.

Action: I created a WordPress website for them using a Bootstrap-based theme. I customized the theme to fit their needs, and added an events plugin to help with the volunteer registration and event management, which required a bit of PHP customization. I also re-worked their logo to be more web-friendly. I set them up with their own Bluehost account and launched the website for them..

Result: I created the project within budget and met all requirements. The group was happy with their site and use it to engage with their community.

Tech: WordPress, HTML, CSS, Bootstrap, PHP, UI/UX Design, Bluehost, CPanel.

 
A screenshot of the AAA meeting registration form page that I worked on.

Nonprofit Org - WordPress with Ecommerce

  • All Addicts Anonymous needed a WordPress developer to take care of some regular updates, and also re-build some pieces of their site.
  • Implemented WooCommerce for their site to replace their store which used paypal-buttons exclusively. Started setting them up for further automation with their printer by leveraging automated emails through Woo.
  • Refactored an existing static form into a dynamic form for meeeting registrations, and improved accessibility of the form labels.
  • Set up a staging site so the client could see changes I was making in development before pushing to the live site. This was a major challenge considering the technical limitations of their site being hosted on wordpress.com (as opposed to a self-hosted WordPress solution)
  • Set up a way for the organization to store their resource PDFs on the by category.

Tech: WordPress, HTML, CSS, PHP, UI/UX Design, WooCommerce, Paypal API, .

 
A screenshot of the Anti Debt Agenda home page.

The Anti Debt Agenda Blog - WordPress

Problem: The client, Bob, wanted a website to share his blog posts about his political interests in the ongoing debt crisis in the US. He wanted a simple, clean design that was easy to read and navigate. Bob is not comfortable with technology, so he needed a developer who could take care of the technical aspects of the site and make it easy for him to update. The features he wanted were all the core blog features: home page with an intro and recent posts, categories, a list of links to other blogs, and an email registration for his readers to recieve new blog posts.

Action: I created a WordPress website for bob using a simple and flexible theme. I customized the theme to fit his needs, and added a plugin to help with the email registration. I set him up with his own Bluehost account and launched the website for him.

Result: I created the project within budget and met all requirements. Bob was happy with his site and posts periodically with informative articles.

Tech: WordPress, HTML, CSS, UI/UX Design, Bluehost, CPanel.