Learning patterns has become a core aspect for many people on their journey to becoming software engineers. Countless articles have been written about patterns and how to apply them. Courses, YouTube videos, and GitHub repos all exist to help engineers master the power of patterns. I’ve even written about patterns before myself.
As a senior engineer, however, I’ve started to wonder if we went in the wrong direction with patterns.
The more code I write, the more I use the same patterns and the less I care about the others. I don’t memorize them or even have a page bookmarked…
It was around two years ago that I decided I wanted to start blogging more consistently. I had written a few articles on Medium, but I didn’t have any readers at the time. I was just writing into the void.
Since then, I’ve published 50 articles on Medium, moved my writing to my own domain built with Gatsby.js, and started cross-posting to dev.to. I haven’t had the viral success that many bloggers talk about — I’ve got a lot to learn about SEO and good copywriting — but I have seen some success that keeps me coming back.
Today, I…
For several years, all I heard about was Ansible. It was going to solve every one of your deployment problems. It was going to make life easier. Heck, it was going to take us to Mars — well as long as SpaceX used it…
But after a short while, Ansible seemed to fall flat. As the infrastructure-as-code movement grew and the immutable infrastructure alongside it, other tools seemed to overtake Ansible. I stopped learning it at this point since I started work on Kubernetes-based applications, which fully embraced immutable infrastructure.
Recently, however, I’ve been working on some applications that use…
A few weeks ago I shared about Why I got My Master’s Degree in Computer Science. I went into depth about my background, story, and even my planning process.
Today, I want to answer the question of if I think my degree was worth it.
To do that, I decided to break it down into my Top Five Takeaways. These are my top lessons, learnings, and skills that getting my master’s degree taught me and why I think my degree was worth it.
Learning is a subject I’m very passionate about actually. In my undergraduate days, I minored in cognitive…
I remember when I first told my team lead about possibly going back to school. He simply replied, “You don’t need it.” and moved on.
I then remember talking to People Services at my company about what it would look like to get my degree part-time while working. They agreed to discuss it, but they didn’t think I would actually follow through on anything. “Let us know when you get into a program. We can talk about it further then.”
When I did get accepted into a program, my manager gave me a baffled look. He was confused. “You really…
Every year I try to take a short inventory of the books I read through that year. I find that doing so helps me solidify the concrete things I learned from each. You can see last year’s list too if you would like.
Let’s jump right in.
One of the classics, Crime and Punishment takes us through the minds of several Russians in St. Petersburg following a brutal murder. We explore the psychological and relational consequences of murder, the motivations for it, and how society plays into all of it. …
I remember my first code review as a software engineer. I was pretty nervous about opening the link in the email saying my code review was complete. I was afraid to look at the feedback.
I’d never had my code formally reviewed before. In my undergraduate days, we just kinda made sure each other’s code was “good” — whatever that meant.
When I entered into my first full-time role, I learned that code reviews were a common part of ensuring code quality. Often done via pull requests, developers were encouraged to provide feedback on how to improve code and validate…
Let’s face it: giving feedback is hard.
You want to help that teammate improve their coding skills. You want to tell your manager you feel like they don’t listen when you share an idea. You want to help the newcomer struggling with a concept on the team by sharing your experience.
But how do you do that without sounding like a know-it-all? Or sound like you are just complaining?
While I’m not an expert at all-things-feedback, I’ve grown a lot in the past several years concerning how I give feedback — from technical aspects to soft skills and professionalism.
I…
If you are a beginner in the world of Git and hosted Git platforms (such as GitHub or GitLab), then you’ve probably never heard the term “pull request” or “merge request” before. You also might not understand what they are or the value they bring to your team.
Sidenote: I’ll be using the term “pull request in this article, but it’s effectively the same as a “merge request” in GitLab.
Pull requests help teams build and share software. They do have a bit of a learning curve though, but I believe its worth it. …
Ever had a moment in your software career where you needed to make a simple change, but found it hard to implement? The code was so fragile you couldn’t make your change without breakout myriads of tests? I’m guessing you have.
Or maybe it was a time when you couldn’t understand what caused a production problem while looking at the source. You couldn’t understand which code was executed or where to start. Logs and metrics couldn’t help either.
These are common symptoms of what I tend to refer to as “messy code.” It isn’t easy to work with, it isn’t…
Jesus follower | husband | IJM advocate | software engineer. I share tips and tools for building great software as a team.