4 signs it is time to take a break to avoid burnout


One day you look up and you realize you don’t feel like doing anything. Tasks are piling up, everyone seems to be on your case, and you can’t get it in gear to get even the smallest thing done.

It happens to everyone, and affects each person a little bit differently. In my experience there’s a few common warning signs.

Your routine is smashed

Even the most unorganized among us has a routine. Every day and ever week there are things that you do. But what if you suddenly stopped doing them?

Some routines, like bathing, will have a noticeable effect quickly. Others are more subtle and only show up over time. If you find yourself suddenly not doing your normal things, ask yourself why that is.

Nothing is fun

There’s tasks that we all enjoy doing. Maybe we find them fun, maybe we enjoy the reaction that we get from doing them. But if suddenly those fun things seem like a chore, that’s a major sign that something is changing.

For software developer, I’ve noticed that when writing code is no longer fun its a sign of burnout. Either that or you are working in a language or framework that does not play to your strengths.

When you realize this is happening, STOP. Go find something else to do. Anything. Preserving your passions is a very important thing to do. Many of us identify ourselves with our passions. Losing your passion for things that you used to find fun is tragic on so many levels

Someone says “You’re burning out!”

Many times we are simply too close to the problem to notice it.

Pay attention to friends, family, and co-workers. If they think you are going too hard, they are probably right. They have a perspective that you are probably missing in your rush to meet a deadline.

Working all the time

Crunch time happens. It sucks. But it also doesn’t last forever.

If you find yourself working all hours of the day and night without any breaks, you are probably burning out. Downtime is very important. You have to let your brain rest and reset from time to time, and that is impossible to do if you are lurching from emergency to emergency.

If you are doing a side hustle, this is even more insidious. You might think you’re not working because you are not working on your day job stuff. But to your tired brain, work is work!

Stop burnout now

If these things sound eerily familiar, then you might have a problem. Stop, asses your situation. Walk away if you have to.

Seek help. Develop a plan. Things will get better, and the sooner you realize it, the sooner you can act on it.

Trust me, I’m speaking from experience on this one.

Agile mindset: Making agile more than just a development methodology

agile mindset

Mindset is everything

To software developers, the word “agile” usually conjures up thoughts of project tracking, story points, and team velocity. To truly be the most effective developer that you can be, the word agile should also remind you that change is constant and that you must adapt. An agile mindset is the greatest tool a software developer can possess.

Too many software developers fall into the routine of their process. We work our stories, finish our sprints, and move on to the next iteration. While this does allow software to be produced in a predictable manner, it also can shackle developers. When facing a new challenge that challenges their existing mindset, these shackles can hold a developer back. Continue reading

Debugging like Elon Musk

Every time I think I’m doing pretty good with my projects, I take look over and see what Elon Musk is doing. Then I instantly feel like I’m wasting my life. That guy does such huge things and he does them so quickly it is mind boggling. What is his secret? Can I be like that?

The answers is yes, if you use “First Principles” reasoning. I have found that when you apply first principles to debugging software that you will get to better solutions. So what is first principles? Here’s Elon explaining the how and what of it:

So here’s the take away:

Continue reading

Managing projects

In most workplaces, software developers have someone who tells them what to do and when to do it. Managing projects usually is the responsibility of a Project Manager, Scrum master, team lead, or even just “the boss”. But what happens when you don’t have that guidance? Or of you are working on side project by yourself? Here’s how I manage my projects.

If you are going to succeed on a project you’ve got to have a plan. A plan has a start, an objective, and the series of steps that have to be taken to get to the objective. Continue reading

Learn a new programming language

In the world of software development there’s always something new popping up. New languages, frameworks, operating systems, databases, you name it. The challenge for a developer is to stay on top and ahead of these new technologies. It can be very tempting to give up and not learn anything new, but I want to propose that learning new things like a new language or framework can be very helpful!

Learning begets learning

The more you practice the art of learning something new, the easier it is to learn new things. This sounds like tautology, but it is true. Continue reading

Deploying with Gitlab’s Continuous Integration

Have you seen the Gitlab Continuous Integration feature? It is pretty sweet. All you have to do is include a special yaml file and then when you check in new code it will build/test it for you. As awesome as that is, can it also deploy your code? The answer is YES!

Getting started

The first step is to create a .gitlab-ci.yml file in the root of your repo. This file is seen by gitlab and is used to configure a Continuous Integration (CI) server that will build and test your code. Continue reading

Coder’s block

Writer’s block is a problem that writers have when they simply don’t know what words to put on the page. Developer’s have this same problem, I like to call it coder’s block. Where does it come from, and how do we get rid of it? Let’s dive in.

Where coder’s block comes from

My theory is that coder’s block is the result of burn out. When you are so close to your work for so long burnout becomes a serious problem. At first you will start to make “simple” mistakes more frequently, and eventually most things start to take longer to finish. This all builds on itself and starts to erode your self confidence in your work.

Once your confidence is being questioned it is every easy for things to snowball to the point where you are afraid to write code for fear of it being another broken thing to fix. At this point you are deep in the throes of coder’s block. Nothing seems to work right, and it seems like it never will.

The worst part of this is that most of the damage is self inflicted. 

I’ve found that a lot of developers are unnecessarily hard on themselves. If given the chance to stand back and look at the situation most would recognize that things really aren’t that bad.

How to battle coder’s block

Identifying coder’s block is definitely the first step in recovering from it. Once you realize that it is happening the first step is to stop and ask yourself how you got to this point.

Maybe its a project where things are going well. Too many bugs are coming in, and there’s not enough people to work on it. We’ve all been there. Situations like that tend to silently spiral into worse and worse condition.

The next step should be to take a small break. Even if its just a walk around the building, getting physically away from the problem helps so much. Getting up and walking around, or even better doing some exercise, can help distract your brain from the situation. This allows your subconsciousness to process things. Its not that this will suddenly allow you to see what code to write, rather this will allow your brain to decide what the best course of action is.

For example: It could be that it is just a matter of re-prioritizing what you are working on so that you can tackle the root cause of the problems. Taking the small break to let those thoughts percolate can help boost your confidence by letting you think of a clever solution to your pain points. And isn’t that the best part of being a programmer?

If the problems are bigger then it might be time for a break. When was the last time you took a vacation? When was the last time you went more than 24hrs without touching a computer? Now might be a good time to do that!

Other tactics

Sometimes we just get blocked and we either can’t take a long break due to deadlines, or there just doesn’t seem to be any root cause. In those cases I’d recommend trying out these ideas to see if they can break up the logjam that is causing the coder’s block.

  • “What would this look like if it was awesome?” — This is an odd one that I’ve had a lot of success with. When I’m faced with code that is so ugly I’m scared to touch it, I’ll ask myself that question. It usually leads to some out-of-the-box thoughts that might not be the right or final answer, but usually lead me to something new and interesting.
  • Learn a new language/framework — Sometimes we are just in a rut. Forcing your brain to tackle a new challenge can be really invigorating.
  • Read some fiction (sci-fi specifically!) — I’ve been surprised by how motivating a good sci-fi story can be. Think about it, in those books the future is wide open and anything is possible. That is also true in our real lives, but sometimes it is hard to see. If you need a recommendation to get you started check out Accelerando. It is awesome and mindbending.
  • Work in a different physical location — This is a timeless tip. A new environment will shift your mindset just enough to make you think a little different. Go find a coffee shop or some other location. Even if you get zero code written, just being out and about can help you so much.

What are some of your favorite ways to get around coder’s block?

Doing the work

Sometimes it is painful.

The deadline that is looming closer. The code that just won’t work correctly no matter how much you cuss at it. The simple library upgrade that wrecks your program completely.

But it has to be done. And you need to do it.

At times like this you need to remind yourself that nothing great was ever created without some struggle. Everything that was ever created that is considered good involved some one doing hard work to make it happen. You are no different. If you are going to make something good, you will be working hard on it.

Take this blog post for example. I am writing it at the last moment. Way after it was scheduled to be written. Why? I could just give up and not publish anything this week. The world would continue to turn, life would go on. But I will know that I missed a goal. So I sat down and I am doing the work of writing this post.

You should too. When things are hard, do not give up. Do not quit. Do the work. Even if it is not your best, you will be better for having done it.

If you need help with this idea, I highly recommend reading The War of Art by Steven Pressfield. He describes the pain you are feeling, and more importantly he tells you how to get rid of it.

If you are curious what the secret is, but don’t want to read the book, I’ll help you out and tell you the answer. DO THE WORK.

That’s right, do the work.

No matter what the task is, set your resolve to get it done. Then go do it. Now.

It might not be pretty, but at the end of the day it will be. And that is more than most people can say about the things they have struggled with and abandoned.

Now, I’m going to go and follow my advice and do the work.