Forest Hoffman

Musings about Go, TypeScript, and Node.js.
Read more

Software Engineer II

  • PayPal
  • Sep 2021 - Present

Go Engineer

  • The Home Depot
  • Sep 2019 - Aug 2021

Frontend Engineer

  • Coder
  • May 2018 - May 2019

CSIS Lab Tutor

  • Grossmont-Cuyamaca Community College District
  • Aug 2016 - May 2018

Full Stack Web Developer

  • Forest Hoffman
  • Oct 2014 - May 2018

Web Developer

  • Grossmont Union High School District
  • Sep 2013 - Sep 2017

IT Services Intern

  • San Diego Supercomputer Center
  • Jun 2013 - Aug 2013


Sep 01, 2021
Sep 01, 2021
Started a new role at PayPal
Excited to join PayPal as Software Engineer II! 🎉
Software Engineer II, PayPal
Aug 19, 2021
Aug 19, 2021
Wrote a Blog Post
Built a CICD pipeline

Combining GitHub Secrets and Actions 

While searching for a CI/CD solution for a side project of mine, I discovered the GitHub Secrets feature. Using GitHub Actions, you can setup automated builds triggered in various customizable ways. If part of your automation pipeline includes deployment or delivery to a third-party, you’re probably going to be using some kind of authorization token. Common knowledge dictates that storing super secret authorization files in plain text is a big no-no, so in comes GitHub Secrets to save the day!

--> Keep reading...
Aug 05, 2021
Aug 05, 2021
Joined an Early Adopter Program
I'm super excited to check out Polywork as one of the first early adopters. Oh and btw IO is by far the most superior of the AI-Assistants! 🔥 😎 🤖
Aug 01, 2021
Aug 01, 2021
Left a role at The Home Depot
Ended my journey as Go Engineer at The Home Depot!
Go Engineer, The Home Depot
Jan 14, 2021
Jan 14, 2021
Wrote a Blog Post
Wrote a Tutorial

Intercepting RESTful Responses with Middleware 

Assuming that an in-house server is not simply a middleman for the communication between the client and a third-party API, there should be some sort of quality control over the responses clients receive. The standard Go net/http package provides some functionality to intercept incoming requests before they reach their intended target (Handler). However, there is no pre-baked method of intercepting outgoing responses before they reach the client.

-> Keep reading...


Oct 29, 2020
Oct 29, 2020
Wrote a Blog Post
Wrote a Tutorial

On Mocking Functionality in Go Tests 

The back-bone of Go is composed of Interfaces and Structures. Interfaces allow for grouping supported functionality into logical groups, much like Classes in other languages. Defining what a logical group might do is the job of an Interface. Whereas Structures house the actual implementation of the functionality. Structures describe what a logical group actually does, within the context of its Interface. The caveat is, Go does not support explicitly defining relationships between Interfaces and Structures.

-> Keep reading...
Get your own page like this