Introducing HashiCode

June 17, 2019

Today I am excited to announce a new series of blog posts called HashiCode. I have been involved with the HashiCorp community for some time now, and I have loved the opportunity to contribute to some of my favorite tools because of the open source model of the company. Recently, I have been organizing the new HashiCorp User Group in St. Louis, a market that is starting to show a lot of interest in the various products the company offers. Combining these experiences with my day job has put me in the unique position as someone who is very familiar with the actual code base, but also interacts with end users on a regular basis.

I have found that many people put themselves in a box as either an engineer or an operator. In doing so, engineers are not as in-tune with how end users want the tool to function, and operators don’t have as full of an understanding of how the tools work, making it harder for them to make decisions on how to use them and whether to use them at all.

HashiCode posts will be technical deep-dives into HashiCorp tool code bases. They will involve learning more about Go and software architecture, as well the the actual functionality of the tools. If you are interested in contributing to the tools via open source, I cannot imagine a better place to get started. That being said, each of the posts will also tie back to a feature provided to end users. I will do my best to bring together the full picture, showing why certain decisions are made in the code to make the tools as successful and scalable as they have been.

I am so grateful for the time that random people on the internet, often halfway across the world from me, have helped demystify complex topics for me. As I continue to learn and do more, I feel the obligation to give back as well. The frequency of installments of HashiCode will vary based on how useful they are to the community, so please feel free to reach out to me if you find a particular post helpful or if you want me to write something on a specific topic.

Most of all, whatever community you find yourself in, do your best to make others feel welcome. I recently listened to an episode of Software Engineering Daily in which Will Larson stated: “The people I’ve worked with who I cherish and are the most technical, the most senior engineers I’ve worked with are folks who have a strong sense of service.” I love software engineering, but everything we do means nothing if caring for other human beings is not our end goal. Enjoy HashiCode Episode 1: Terraform Remote State Backend Locking and be excellent to each other!