09 December, 2019

Deploying Your Static Websites to AWS in Style Using Github Actions

GitHub Actions is gaining popularity for its simplicity and for the fact that a ton of repositories live in GitHub already. With the general availability of Actions, it’s now easy to incorporate your CI/CD practices into your repository. Before we use to have to use third-party tools like Travis CI…

25 November, 2019

Three Tips for Attending Your First AWS re:Invent Conference

It’s that time of year. The massive developer conference Amazon throws is right around the corner and every AWS minded developer is getting very excited. A full week of AWS sessions in Las Vegas is in store starting December 2nd. But re:Invent is about much more than the talks and parties. It’s a…

24 October, 2019

How to Run Docker Containers via AWS Elastic Container Service

There are many different compute services within Amazon Web Services. There is the serverless route with AWS Lambda where you can provision your workload and run it only when you need it. Elastic Compute Cloud (EC2) allows you to run any workload inside of virtual machines that you pay for by the…

11 October, 2019

How to Unlock More Resilient Microservices by Being Idempotent

Idempotent is a funny word when used outside of the context of development. In fact, it’s a term that comes from mathematics. It describes an element that can be operated on more than once and produces the same value every time. For example, the operation, , in traditional multiplication will…

11 September, 2019

Imperative Infrastructure as Code using AWS CDK

When we talk about infrastructure as code we often talk about declarative frameworks. Frameworks like Terraform or CloudFormation often come to mind first. Declarative approaches allow you to define what you want to be created and the tool provisions the resources for you. The general idea is that…

16 August, 2019

5 Things That Setup New Developers for Success

When it comes to being apart of a development team nowadays, two things that are certain. One, things will break and you will have bugs that need fixing. Two, the team you are a part of now is likely going to change, new folks are likely to join. This is fantastic because it brings in talented folks…

30 June, 2019

The Three Most Common Refactoring Opportunities You Are Likely To Encounter

Refactoring is something all developers do at some point. We tend to have a sixth sense when it comes to knowing when to refactor code. Some folks have solid principles to point to when making refactoring decisions. Others can sense that it is necessary when they are working on it. Whatever camp you…

15 May, 2019

The Curious Case of nvarchar and varchar in Entity Framework

I was working on a project recently that uses SQL Server as its primary database. This wasn’t my first rodeo with SQL Server and in fact, I have a side project that makes heavy use of the .NET stack. But, in this project, I encountered a major performance problem that wasn’t very clear and was very…

11 April, 2019

Technical Skills Are Great, but Communication and Curiosity Are Better

Emily Freeman posted this thread on Twitter not long ago . The topic of hiring and interviewing developers is one that has been on the main stage for quite a while now. Hiring and the interviewing process is key to building diverse high functioning teams. But it’s a topic that also has some very bad…

04 April, 2019

My Course Learn AWS By Using It is 1-Year Old

If you’re not familiar with my course, it focuses on learning Amazon Web Services by actually using it. We focus on the problem of hosting, securing, and delivering static websites. There are a million ways to solve that problem. Some that don’t even involve AWS. But it’s actually a fantastic…

18 March, 2019

DevOps Is an Evolving Culture, Not a Team

There seems to be a growing misrepresentation about DevOps. Sometimes it’s represented as another team in the engineering structure. Other times it’s a single individual inside of an existing team (i.e. DevOps Engineer). But these perspectives are wrong and missing the point of DevOps in my opinion…

07 March, 2019

Burnout Is What Happens When You Don't Recharge Your Batteries

For those that are new to the world of development as a career, there is something you should be aware of. Burnout. For me, it snuck up on me very quick. My story of burnout Before my burnout, I was thriving in my career. Learning every possible thing, contributing anywhere I could, and filling in…

28 February, 2019

How a Monolith Architecture Can Be Transformed into Serverless

There is a growing audience surrounding serverless and many are keen to take advantage of the benefits it provides. There are a lot of different resources out there surrounding serverless, but they tend to focus on how you get started. They tend to focus on how you can build something brand new…

29 January, 2019

How to Breakthrough the Old Monolith Using the Strangler Pattern

Admittedly, the term “Strangler Pattern” doesn’t sound all that great. But it is actually a pattern that can prove to be very useful for a wide variety of use cases. Breaking down a monolithic application into newer microservices. Migrating existing infrastructure from one platform to another…

21 January, 2019

5 Simple and Revealing Lessons from My First Side Project

I have now created four different side projects that are public and accessible to the world. Each of them trying to solve a different problem or engage a different audience. Today I want to focus on the first side project I ever created. It’s a project I created 4 years ago, but it’s only now…

31 December, 2018

My Reflections and Lessons from a Successful 2018

In a few days, 2018 will come to a close and we will roll into another year. Therefore, I thought it would be a good chance to join a few other posts I have seen that are reflecting on the past year and planning for what is ahead. This year has been one to remember both personally and professionally…

21 December, 2018

How Pulumi Compares to Terraform for Infrastructure as Code

I have been a huge fan of Terraform for a lot of my recent work. There is something about the modularity it brings to infrastructure as code that I really like. If you haven’t checked out my earlier posts around Terraform give them a read. How To Run Browser Tests via Cypress in Your CI/CD Pipeline…

29 November, 2018

How to Easily Customize The AWS Amplify Authentication UI

For parler.io I have been experimenting with adding authentication to the project. This would allow conversions to be tied to users and enable a slew of other features as well. During my experimenting I have been reading a lot about AWS Amplify . It is a library that wraps multiple AWS services…

20 November, 2018

Simplify Your AWS Billing for Multiple Accounts Using AWS Organizations

General best practices say that we should isolate our development environments from our production environments. In terms of Amazon Web Services, this often means that we configure entirely separate accounts for each environment. Essentially, environments are segregated at an account level. If we…

13 November, 2018

6 Interesting Things You Need to Know from Creating Serverless Microservices

My latest project parler.io has been built from the ground up using serverless microservices. Now that it is up and running it seems worthwhile to document the current architecture, advantages I have gained, and also highlight some of the pain points I have encountered. First, a little bit of…

22 October, 2018

Two Kinds of Tech Debt and How to Pay It Down

Everyone is always excited to work on a brand new project. A greenfield project allows developers to start from scratch, apply the lessons they learned from the past, and try to create a codebase that reflects high quality/low tech debt code. But, frankly, every codebase, no matter the developer…

15 October, 2018

How to Leverage the Command Pattern for Better Decoupling

When it comes to programming patterns, the command pattern is one that can take a bit to wrap your head around. But once you understand the components at play and the simplicity in which they can be implemented, it can be a real game changer to your coding. To summarize, the command pattern is a…

08 October, 2018

How to Better Watch Your AWS Costs Before You Forget

Tracking AWS cost continues to be a very popular topic in the world of the cloud. The reasoning is often because folks are getting surprised by their bills at the end of the month. Or perhaps they thought a service was going to cost X, but at the end of the month it ended up costing 2X. This isn’t…

02 October, 2018

How to Build Wealth in Your Career over the Years

One day I was sitting in an office with one of my mentors talking about what I want to aspire to become in the future. I talked with her about how someday I wanted to start a company, build my own products, and have an impact on the world. In that conversation, my mentor gave me a piece of advice…

28 September, 2018

Introduction to Monitoring and Logging - How to Know When Things Go Wrong

The reality of software development is that things break all the time. No matter the industry or application, it is inevitable that it will break at some point in time. Everything fails, all the time. - Werner Vogels (CTO @ Amazon) This failure could because the logic in the code is wrong. It could…

16 September, 2018

How to Easily Boost the Delivery of Static Websites in AWS

I have written a lot about the use case of static websites and leveraging AWS to host, secure, and deliver them. It is after all the context within my Learn AWS By Using It course that we use in order to accelerate our learning of Amazon Web Services. In addition to my course, I have also put…

10 September, 2018

How to Mock AWS Services in TypeScript

I’ve recently been working on a new project to automatically convert blog posts to audio that has a couple different serverless microservices. Each microservice is initialized using the Serverless Framework and typically consists of one or more Lambda functions and either an SNS topic, SQS…

03 September, 2018

Introducing Two New Bonus Chapters on Infrastructure as Code and CI/CD for Learn AWS by Using It

Since some of us are lucky to enough to skip work today due to Labor Day I figured it was a great time to announce two new bonus chapters for my Learn AWS By Using It course . I am very excited about this bonus content because it was sourced by those here on dev.to, my mailing list, and folks…

30 August, 2018

How to Build Your Docker Images in AWS with Ease

Carrying on my latest theme of implementing as much automation as possible in AWS. Today I am going to share how we can build Docker images in our CI/CD pipeline within AWS. Specifically, we are going to explore: Extending our Terraform template that provisions our CI/CD pipeline to provision an AWS…

21 August, 2018

The Benefits You Need to Know about Infrastructure as Code

If you are beginning your journey in learning a cloud provider like Amazon Web Services or Google Cloud Platform you have likely come across the term Infrastructure As Code (IaC) . It is a swiss army knife for both developers and system administrators. In this post, we are going to dive into what…

14 August, 2018

How To Run Browser Tests via Cypress in Your CI/CD Pipeline with AWS CodeBuild

Recently I launched my own blog . During that process, I got interested in how I can automate testing the quality of my new blog. I didn’t want a heavy duty framework. I didn’t want deep tests because the functionality on my blog isn’t very verbose. A basic thing I wanted to test was the mobile…

07 August, 2018

How to Make an Awesome Blog Using Gatsbyjs and AWS

Let’s dive into how I stood up my own static website blog, blog.kylegalbraith.com , by using GatsbyJS, TailwindCSS, and of course my go-to for all things website hosting related, Amazon Web Services. In this post I will cover the following topics: Getting started with Gatsby + TailwindCSS for a…

16 July, 2018

Automating My Newsletter Generation with MailChimp, Google Sheets, and AWS

I am constantly building and launching new projects. One of the many things I evaluate when starting a new project is how I am going to maintain it so that it doesn’t become stale and continues to provide value. For folks to get value out of my project they must be engaged in what I am building…

07 July, 2018

How to Study to Become an AWS Certified Professional Solutions Architect

As someone who has obtained both the AWS Solutions Architect and DevOps Professional certifications the question I am asked the most is, how did I study for them. This is a harder question to answer than you might think. However, today I will share my approach to how I studied for both exams and…

29 June, 2018

How to Use the Excellent Adapter Pattern and Why You Should

The adapter pattern is classified as a structural pattern that allows a piece of code talk to another piece of code that it is not directly compatible with. First, for the sake of the next few minutes let’s frame our context within the bounds of a web application we are responsible for. The…

28 June, 2018

Getting Started with AWS - Up and Running with Elastic Beanstalk in Minutes

Learning Amazon Web Services can be very tricky nowadays with over 100+ services that can satisfy thousands if not hundreds of thousands of use cases. Some use cases could even be solved with more than one service! This vast sea of information can make it challenging for hungry and passionate…

14 June, 2018

How to Articulate the Value Proposition of AWS in 5 Words

Recently I wrote a playful article on how a developer would convince an IT manager to start using Amazon Web Services. This was quickly met with a lot of disdain across the internet because of the characters involved. The message I was trying to convey in the post was clearly not getting through. So…

27 May, 2018

How I launched a new project in a weekend using Tailwind CSS and Amazon Web Services

I must admit that I have been a long time Bootstrap user when it comes to CSS frameworks. This is largely because it was the first one I used and I never branched out. Also, admittedly, I don’t spend a lot of my time doing CSS work. But as I have been ramping up to a new challenge, launching…

14 May, 2018

Creating a CI/CD pipeline with a git repository in ~30 seconds using Terraform and AWS

Terraform is a powerful tool for provisioning and managing cloud infrastructure. I recently wrote a blog post that provisions a CI/CD pipeline integrated with GitHub repositories to continuously deploy static websites. After going through the exercise of creating that template and blog post I…

01 May, 2018

100 Days Of Commitment - My Journey Through A 100DaysOfWriting Challenge

You may have heard of the #100DaysOfCode challenge created by Alexander Kallaway . It is a public commitment to code at least an hour for 100 days and Tweet your progress every day. It has spurred every level of developer to give their craft a special level of commitment. Some have used it to…

08 April, 2018

How To Get Started With Test Driven Development Today

Test-driven development (TDD) is the act of writing tests before writing any code. Also known as red/green testing because you write the test, it fails, and then you write the code that makes it pass. This process has a lot of different benefits such as simpler designs, more test coverage, and…

06 March, 2018

Getting Familiar With The Awesome Repository Pattern

The repository pattern is another abstraction, like most things in Computer Science. It is a pattern that is applicable in many different languages. In fact a lot of developers use the repository pattern and don’t even realize it. In this post I am going to transform a piece of code. We start with a…

02 March, 2018

Adding Free SSL Certificates To Static Websites via AWS Certificate Manager

It has never been easier than it is today to configure HTTPS access for our websites. What once use to be a painful task is now done in a few clicks of a button and often free. In this article I will explain how we can configure static websites living in AWS to leverage 100% free SSL. Prerequisites…

29 January, 2018

What You Need To Know About The Helpful Strategy Pattern

I have recently been revisiting various coding patterns while learning new languages. One pattern that is a personal favorite of mine is the strategy pattern. The premise of the strategy pattern is to encapsulate a family of behaviors. When encapsulated we can then select which behavior to use at…

31 December, 2017

Dear Internet, Stop Taking My Information Over HTTP

It has never been easier for developers to configure websites for access over HTTPS. Services like AWS Certificate Manager and Let’s Encrypt are making it cheap and easy. Of course there has never been an excuse for taking user information over HTTP. Configuring SSL for your website was once…

08 December, 2017

The Enormous Diversity Problem at AWS re:Invent 2017

I will be the first to admit I don’t have all the answers. I will also say that I speak as a white male programmer in a position of power. There is no one person to blame or entity that has failed. But as a member of this community I have a responsibility to report what I observed. The technology…

26 November, 2017

How To Best The AWS Certified Associate Solutions Architect Exam

Amazon Web Services continues to gain more and more momentum with each passing day. Lots of companies are looking to move to AWS and they are looking for seasoned developers to help them do so. It isn’t surprising that AWS certifications have become very popular. There are different certifications…

13 November, 2017

3 Valuable Secrets On Teamwork From A Night Out At The Chefs Counter

It was a Friday night here in Portland, Oregon. Dinner in PDX with no reservation can be an adventure. Thankfully for me and my wife there are dozens of restaurants that leave room for walk ups. We made our way over to Southeast Portland to check out the Country Cat. The hipster hostess offered us a…

07 November, 2017

The End Of The Cloud Is Not Coming

It’s Saturday morning and I am scrolling through my various feeds when I see this article from Venture Beat, “The end of the cloud is coming”. Now baited, I take a sip of my coffee and click through. Disclaimer: If you do believe the end of the cloud is coming, move along because you’re not going to…

18 October, 2017

3 Things You Need To Do When Setting Up Your First AWS Account

“If you knew then what you know now you would do things (better, different, etc).” Learning Amazon Web Services is fun. It is exciting to start learning new services and apply them to the solutions you are building. You can learn fast if you are focusing on the problem you are trying to solve. This…

11 October, 2017

How To Make The Most Out Of Pull Requests

The pull request is critical to development teams. They provide a mechanism to check in about a piece of code and where it fits within the greater context. They are crucial checkpoints to provide feedback. Whether you are planning to contribute to an Open Source project. Entering the development…

23 September, 2017

How To Find, Work With and Emerge As A New Great Mentor

I was participating in a Twitter chat the other night. The discussion was all about mentors, how to approach them, what to ask them, and the value in having great ones. This got me thinking about how important mentors have been for me. The role they have played in molding my professional development…

03 September, 2017

The Best Way To Learn AWS Is To Start Using It

Back when I first started learning AWS there was a handful of different services. Today, there is over 100 services and it continues to grow every year. There is loads of resources for each service. Each service has documentation, walk through videos, and enough GitHub sample code to make your head…