Dive into Docker takes you from "What is Docker?" to confidently applying Docker to your own projects. It's packed with best practices and examples. Start Learning Docker →
The use case we'll go over is performing a major database upgrade for a large application that's running in production.
Here's a few things I keep in mind when trying to solve problems that require a decent amount of thinking or I don't know where to start.
You can use this workflow to help convert feature requests, user stories and vague ideas into fully working code.
If I'm trying to research something or solve a specific problem I typically reach for the same resources with different search terms.
Reading comprehension is a valuable skill to practice as a software developer. Break down paragraphs into sentences and then words.
This is a common thing to have when picking anything like a library, tool, web framework, tech stack, implementation strategy and more.
José Valim and I asked developers how they would solve a specific problem in their language of choice. How would you do it?
Your changelog should make it easy for humans to see what's been added, changed, deprecated, removed and fixed at a glance.
In this video we'll go over what I typically think about to determine whether or not I'm going to make an open source project.
Let's go over a few things, such as archiving to help let others know that your open source project is no longer being maintained.
Here's a number of questions you can ask yourself and tools you can use to help improve the quality of your code.
I'm 15+ years late to the game but I'm starting to enjoy using Kanban boards to help me organize my projects. Here's the tool I'm using.
A 1 hour live demo that uses various git commands, Travis-CI and GitHub features to fix a bug and push a new release.
In this video I go over testing and documenting the features of an audio player but the steps taken could be applied to any code base.
In this video I share a story about how I spent 2+ hours writing a git pre-commit hook to block TODO items and threw in the towel.
It didn't take long to bust out Python to help me manage upcoming podcast episodes and send interview questions out.
When I'm learning a new language or web framework, I often go at it from a problem / solution angle and use error driven development.
Over the years I've learned a few languages / web frameworks and recently picked up Elixir / Phoenix. Here's what I've learned.
I recently watched a talk called Stewardship made practical and I think my life will generally improve after having watched it.
In this 15 minute video, we go over 1 way to quickly break down a UI feature which happens to double as a cheat code for writing tests.
When starting a new job or contributing to open source, learning a new code base can be intimidating. Here's how you can jump in quickly.
Watch a 90 minute video where I take a new project idea and start breaking it down so you can see how to do it for your own apps.
Many years ago I used to optimize a lot of my programming decisions for 'what if' conditions or the 5%. That was a mistake.
This time around it was for Cloud Field Day 4 and despite the concept being the same, the experience was so much different than CFD3.
In this case it was a Docker command that was throwing an error, but I would have applied this process to any problem.
I learned more general life / programming skills playing Diablo II for a few years than all of my formal education combined.
As developers, life is good when it comes to gaining initial experience compared to other trade skills. Here's how to get started.
As software developers, and especially freelance developers, it's easy to get stuck in unproductive loops but you can break that loop.
Cloud Field Day is a 3 day presentation based event that is ran by Tech Field Day and Stephen Foskett. Here's my first experience.
Public speaking is a skill you need to build up like anything else. I have no experience with it, but here's how I plan to fix that.
I started programming in the late 1990s and got into web development at about the same time. Here's how it was different than today.
Learn how to transform a project idea into a finished application by following these actionable and repeatable steps.
Someone recently asked me to define DevOps. This is one of those terms where everyone has a slightly different definition.
On December 31st I decided it might be fun to put together a last minute yearly recap post. A lot of this is from memory.
How many times have you ran into a problem and then went to post an issue on GitHub, only to solve it yourself before you hit submit?
We all know sitting down for long periods of time is unhealthy but you're missing out on a bunch of cool perks by not going AFK.
If you stick to one of the major web frameworks or libraries out there, it's really hard to make a critical mistake.
I don't mind spending a full 5 minutes coming up with a variable or database column name, because it's always worth it in the end.
There's many different ways to learn a language, and in this article you'll learn what I think is the best way to learn something new.
Procrastination haunts most people. I've tried everything and read a ton of material but these 3 tactics helped me the most.
Investing a little bit of time into new skills will very likely improve your quality of life as a software developer and human being.
Learn how to transform from a code monkey into a computer scientist without spending $50,000+ and years at a University.
Learn the most important software developer skill there is, and that is how to break down problems into smaller problems.
Learn how to schedule your time by following these 5 steps that you can start doing today. Spoiler alert: it's free and easy.
Become aware of bad habits that make you less productive and learn how to break them with proper time management skills.
Like you, I'm super protective of my inbox, so don't worry about getting spammed. You can expect a few emails per month (at most), and you can 1-click unsubscribe at any time. See what else you'll get too.