John McGuin

Henry

I hope that this page will tell a little bit of a story about my professional journey, and answer questions about my role changes and motivations. Please consult my resume for more succinct, bulleted information about these roles.

Owner / Software Engineer - The Way Software Development, LLC

Technologies: Elixir, Phoenix, NestJS, Node.js, TypeScript, ExpressJS, ecto, Prisma ORM, Mongoose ODM, MongoDB, PostgreSQL, Redis, Phoenix LiveView, elm, htmx, Astro, Angular, AngularJS, GitHub Actions, Terraform, Fly.io, DigitalOcean, Docker

I started The Way Software Development, LLC in 2016 while contracting for Kanso Software. While operating as a services business, Kanso was my “blue chip” client. While most of my software contracting was for Kanso, I also took on side projects throughout a variety of industries, including the medical space, a sports management app, an uptime monitoring service, and more. In addition to the diversity of industries, I was also able to work across an array of different technologies.

I made the difficult decision to leave Bamboo Rose in order to pursue my dreams to pursue my own startup. It is here that I let my love affair with Elixir / Phoenix breathe and started building with this stack in earnest.

Senior Software Engineer - Backbone / Bamboo Rose

Technologies: Vue.js, Angular, NestJS, GraphQL, MongoDB, Mongoose ODM, Auth0, Docker, AWS, CircleCI

While talking shop with my mentor from Kanso Software, he presented the thought of joining up with him again over at Backbone. He had worked his way up to VP of engineering there and they were looking to grow and deepen their team. It was a tough choice to leave Slalom so early, without giving it the shot I planned on giving it, but the opportunity was there to really grow into a technical leadership role and have high ownership over the product and technical direction that the team was taking.

I came on as a software engineer and quickly felt like I was having a high impact at Backbone, moving from a project scope and project based mentality to a more broad scope around the product and organization as a whole. I was leading large key initiatives for the organization as well as building internal systems and processes for growing the effectiveness and productivity of the dev team, such as developing a Shopify app integration, a users migration to Auth0, internal tooling like OpenAPI backend support and client side code generation, and more.

I worked at Backbone for a little over 2 years, seeing the product through to acquisition in 2023 by Bamboo Rose. I served as interim team lead over a team of 7 during acquisition. I was offered the role to continue as team lead of the Backbone team within Bamboo Rose. I left on good terms only to pursue my own startup.

Software Engineering Consultant - Slalom

Technologies: Angular, GraphQL, Node.js

After years of working for Kanso Software, I felt like I was growing stagnant. Kanso had a massive product stuck on Angular.js while the tech was actively reaching end of life. I felt too early in my career to get stuck supporting deprecated technologies. This, and a hunger to learn more and broaden my experience, led me to consulting.

I joined Slalom as a software engineering consultant. For my first (and only) placement, I worked on a team as staff augmentation to an internal team at a large telecomm company. I began the placement primarily as an Angular front end engineer, facilitating the migration of their website from Angular.js and JSON APIs to Angular and GraphQL APIs. I established good relationship with the internal team and became a go to resource for cross team communication and technical implementation, working very tightly integrated into the telecomm company.

Once the team was up and running, I was able to build a custom tool for QA which allowed them to test and validate GraphQL queries throughout environments. This tool facilitated QA efforts and also became a valuable resource for our internal sprint planning. Working in a large organization posed its challenges with regards to communication and this tool provided us a source of truth into the state of the backend feature support, allowing us to better plan. This was my first time experiencing internal tooling type work and really enjoying the impact of working on higher level goals over features. This experience gave me a better understanding of building software as a team and running projects as a team, in a more broad sense.

Software Engineer - Kanso Software

Technologies: TypeScript, Node.js, ExpressJS, MongoDB, Mongoose ODM, Angular.js, ngrx, Ionic, Capacitor

Kanso Software works on a housing management product. The focus was at the time and has historically been on American Indian housing. Eventually, they made a pivot to include public housing.

I entered Kanso with about a year’s worth of experience slinging HTML and jQuery primarily, with a marginal amount of server side Node.js experience. At Kanso, it was clear early on that this was a team of full stack developers where the expectation was to have a high level of proficiency across the stack. I had a long way to go but had the eagerness to get there. It was here that the team lead also took me under his wing and served as a mentor for me. This is a relationship that I continue to hold to this day and still consider him a mentor, although the relationship has certainly changed over time.

Over time and with guidance, I built my chops up more and more to the point where I was just an engineer on the team, no longer considered a junior. I eventually developed to the point where I could lead feature development and own projects from end to end. I even became a subject matter expert for parts of both the product and technical stack.

Software Engineer - Human Design

Technologies: mithril.js, jQuery, SquareSpace, Node.js, ExpressJS

Human Design was my first job outside of the coding bootcamp I finished in the summer of 2015. This was a design focused agency that did dev work as well. Most development client work was done in SquareSpace CMS, with some custom integrations done in Node.js as well.

I cut my teeth here and was surprised by the high intensity nature of agency work. I struggled to meet deadlines and was thrown into the deep end into a role that, frankly, I was not qualified for. But, I survived! I also learned that I wanted to work on product.

When an opportunity to pursue product development at Kanso Software was presented, I couldn’t pass it up. I’ve primarily been building product ever since.