Inspection, Iteration, and Observability: Three Components for Building Excellent Systems
September 29, 2024
No software challenge is unsolvable with these three behaviors
Layers of Innovation
September 15, 2024
Being innovative isn't about being "really" smart but rather really perceptive
Harnessing the Power of Developer Moments
September 01, 2024
How celebrating the moments that already happen while writing software can lead to a better and more engaged team.
Blameless Toward Ourselves
August 19, 2024
We have to extend a blameless culture not just to others, but toward ourselves.
Vertically Scaling Your Team
August 05, 2024
Horizontal scaling isn't the only way to help your team accomplish more.
One Key to Growth: Seeking Out Discomfort
July 21, 2024
The classic idea of growth coming at a time of discomfort is tried and true. But I think we can be our own catalyst for growth by actively seeking out that discomfort
Consistency is Not the Goal
July 07, 2024
Putting too much stake into "one way to do things" can sometimes lead to the lack of critical thinking and inability to take necessary risks.
Culture Before Process
June 27, 2024
Bad process is everywhere. The best way to improve it is being focusing on your culture.
Career Growth Switchbacks
May 28, 2024
Navigating your career progression is tricky. Viewing your path as a series of skill development switchbacks can help bring some clarity
The Five Types of Code Reviewers (and How to Work With Them)
April 30, 2024
Learn how to work with the most common types of code reviewers on your team to maximize your ability to ship code.
Too Many Guides
April 14, 2024
There are many guides, but no path
My New Favorite Pattern for Writing Simple Code
March 03, 2024
A new take on an old pattern.
Picking the Right Tools
February 24, 2024
What I've learned about picking the right tools in software from watching Alone
What Kind of Car Are You Driving?
February 10, 2024
The car you drive affects the route you take. The same thing happens in software.
Why I Wrote a Book
January 30, 2024
My answer to the question "Why did you write a book?"
Five Barriers Preventing a Great Developer Experience
January 16, 2024
Whether it's quality or communication, these are five barriers that is keeping your team from having a great developer experience with your codebase.
The Books I Read This Year (2023)
January 09, 2024
A summary of the books I've read amidst a year of both chaos and joy.
One Key to Better Software: Improving the Developer Experience
December 19, 2023
All the software design in the world doesn't matter if devs can't easily and safely contribute code.
What's the Point of SLOs?
December 02, 2023
Measuring software quality is complex. SLOs are here to help.
Collaboration and Cooperation on Software Teams
November 19, 2023
Not all teamwork is the same, but it can all be effective. Knowing which teamwork mode your team operates is vital to becoming a great teammate.
Show Don't Tell
November 07, 2023
A better way to gain buy-in and effect change.
Micro-habits of Great Engineers
October 09, 2023
Habits are a key part of building our identity and making it easy to do the right thing. These are some habits from great engineers that do just that.
Getting Stuff Done on a Software Team
September 24, 2023
Instead of starting things, let's focus on finishing them.
Maximizing Your Observability
September 12, 2023
Observability can do more than just tell us if our "stuff is working." It can also be used as a tool to help us understand what features to build or bugs to work on, or even expose tell us the next thing we need to start tracking in our metrics.
A Case For Being a Humble Engineer
August 14, 2023
In an industry that talks about "brag sheets" and highlights personal accomplishment, is there any room for humility? I think so.
What's the Point of Blameless Postmortems?
May 08, 2023
The way we respond to incidents says a lot about our culture. Are are we learning from our mistakes and accidents or creating a culture of fear?
Tuckman, Teams, and Bruce Lee
April 23, 2023
Be like water.
Know Your Audience
April 11, 2023
If you want your ideas to spread, you must be able to convey them to others. And the key to that is knowing who you are talking to.
What's the Point to Retrospectives Anyway?
March 14, 2023
Teams need to set aside time to reflect and recalibrate where they are headed. They need to consider how to continually improve their code, process, and tools. Retrospectices are the meeting to do just that.
Accomplishing Through Others
February 28, 2023
Accomplishing goals through others is an important aspect when moving from a invidiviual contributor to a leader (as a manager, director, or Staff+ role, etc.) But how do you do so? Here are four ways I've been finding success in my own career.
Pair Reviewing
February 15, 2023
Pair programming is a fantastic tool to improve code and share knowledge. Pair reviewing can be just as beneficial and I think you should give it a try.
The Four Types of Code Reviews
January 31, 2023
Code reviewing has been going on long before the pull request model. Here are four methods worth knowing to help your team review code effectively.
Four Tips When Joining a New Team
January 17, 2023
Joining a team as a software engineer can be intimidating. There is a lot of pressure and alot of unknowns. Here are some tips to maximize your first few weeks for maximum long-term success.
Identity, Goals, and Systems: A Better Approach to 2023 Resolutions
January 03, 2023
During the season of goal settings at the begginning of the year, people often set goals with no real reasons why. Instead of setting goals, we need to focus on developing and deeper sense of identity.
The Books I Read This Year (2022)
December 20, 2022
A summary of the books I've read after changing jobs.
The Problem With Feedback - It's Hard to Listen To
December 05, 2022
Feedback is something we all deal with in the workplace. And we are told to embrace it to learn and grow. But let's be honest - it's hard to listen to.
Be Willing to Change Your Mind
November 19, 2022
Changing your mind isn't neccesarily bad thing. Nor is it a sign of weakness. It might even be a sign of strength.
All Things Open Recap 2022
November 03, 2022
Some of my favorite talks and resources from All Things Open 2022.
What's the Point to Observability Anyway
October 17, 2022
Observability is more than metrics and cool dashboards. It is a fundamental shift in how you write software.
Flow and Developer Productivity
August 10, 2022
Not all time and effort is created equal. Learn how to capitalize your time and effort as an engineer effectively.
Stay Close to the Code
July 18, 2022
As we grow in our careers, we can't get too far away from the code. At least, not too quickly.
Surviving Opinion Whiplash
May 27, 2022
Everyone has an opinion about how to do anything in the software industry. This is how you can survive the whiplash of running in one direction and then be told to run the opposite direction
The Technical Debt Snowball
April 14, 2022
Paying down debt via small wins can create a huge impact.
Some Thoughts on Thought Leadership
March 14, 2022
Let's listen in, but still think critically.
The Importance of Vision as a Developer
February 17, 2022
How to set a direction and build motivation as a software leader.
How to Get Software Documentation Right
January 17, 2022
What to write down, what to generate, and coming to terms that documentation is always out of date.
The Books I Read This Year (2021)
January 01, 2022
A summary of the books I've read while still stressing about COVID and return to work.
My Top Takeaways from Team Topologies
December 13, 2021
The most important things I learned from the popular book and how I'm trying to apply them.
What's the Point of Containers Anyway?
November 07, 2021
Containers are becoming more and more popular. Here is my take on why and if your team should to jump on the bandwagon.
What's the Point of the Software Development Lifecycle Anyway?
October 12, 2021
The importance of a guide for how you build software.
My Obsession with Simple Code
September 03, 2021
Why I write the simplest code I can everytime.
Let's Talk About Trust
August 10, 2021
Trust is really important, but often illusive. How do we build it on our teams to help oursleves build great software?
Three Ways to Reduce Chaos on Your Team
July 29, 2021
Software development can be chaotic and full of frustrating situations. Here are some ways to reduce the unneccesary chaos.
Stop Trying to Outsmart Everything
June 30, 2021
Trying to outsmart everything means you likely aren't learning at all. Loopholes and tricks might give you a head start, but they won't sustain your race.
I'm Changing How I Review Code
June 10, 2021
There is more to code reviewing the writing comments on the internet.
Version, Releases, and Deployments! Oh My!
May 15, 2021
Software is full of overloaded terms. Let's clarify what we mean by a few of them.
One File Improved My Team's Communication
May 07, 2021
How maintaining one simple file in our repository improved how my team communicated about the software we built.
Writing Software Is Like Growing a Garden
April 20, 2021
Gardens won't grow if neglected, and neither will your software.
Reflections on Two(ish) Years of Blogging
March 30, 2021
Some thoughts about blogging, learning in public, and sharing what I've learned along the way.
Re-learning Ansible From Scratch
March 25, 2021
Why I stopped, why I'm starting again, and what I'm learning.
Our Over Obsession With Patterns
February 27, 2021
Why I think we use patterns too much as the solution to all problems rather than what they were designed for.
Why Getting My Master's Degree Was Worth It
February 11, 2021
Degrees are falling out of style in the development community. This is why I think mine is still valueable.
Why I Got My Masters Degree In Computer Science
January 23, 2021
In world where software development educations can happen completely online (and for free!) why would I got back to school?
The Books I Read This Year (2020)
January 02, 2021
A summary of the books I've read during the year when we all watched Netflix.
Surviving Your First Code Review
December 12, 2020
It can be difficult when you submit your first pull request and your first code review feedback is, well, overwhelming. How do you find the right way to address the feedback but also not just cater to every whim of your reviewer?
How to Give Feedback
November 24, 2020
Feedback is hard. Here are some tips to help you give feedback well.
What's the Point of Pull Requests Anyway?
August 28, 2020
Why pull requests are one of the best tools in modern software.
When Should You Refactor Your Code?
July 30, 2020
The simple answer: it's probably right now.
I'll Admit It. I'm a Jealous Developer
July 15, 2020
But I want to move towards a place of inspiration
Enforcing a Changelog with GitHub Actions
July 15, 2020
How to keep your team's changelog up to date.
On Sustainable Software Development
July 11, 2020
“Hero” programming only lasts so long.
Don’t Focus on Coding Mastery — Focus on Getting Better Each Day
June 25, 2020
Why only focusing on the end game will disappoint you.
How to Introduce Kaizen to Your Team
June 06, 2020
Convincing your team to embrace continuous improvement.
Using Gatsby to Build a Blog
May 18, 2020
Using an SSG as a Backend Engineer
What's the Point of CI Anyway?
May 05, 2020
Continuous integration (CI) is a powerful and neccesary tool to maximize your team's effort. This article explains what CI is and how to start leveraging it to it's full potential.
You Need a Code Review Checklist
January 10, 2020
Level-up your code review practice by using one of the best tools for ensuring quality: the humble checklist
The Books I Read This Year (2019)
January 03, 2020
My annual list of books I read in the previous year.
My Biggest Mistakes as a Junior Developer
October 19, 2019
The biggest mistakes I made before becoming a senior engineer.
My Top Four Patterns for Writing Simple Code
October 19, 2019
Writing simple code is hard. Here are some patterns to help!
Why Simple Code is Better Than Reusable Code
October 05, 2019
Simple is always the priority.
The Best Ways to Crush It as a New Team Member
July 05, 2019
How to join a team as an engineer
On Building Abstractions Too Soon
August 14, 2018
Why abstractions are emergent instead of dictated
What's the Point to Code Reviews Anyway?
February 19, 2018
Hint: it's not aboutt bugs.
Dan Goslen is a software engineer, climber, and coffee drinker. He has spent 10 years writing software systems that range from monoliths to micro-services and everywhere in between. He's passionate about building great software teams that build great software. He currently works as a software engineer in Raleigh, NC where he lives with his wife and son.