We've all been there.
You start a task you thought would be easy on Monday morning. But three days later you're still battling it. You've searched, rechecked, tested again and again but, no matter what you do, this bug, glitch or blocker just isn't going away. With every passing hour you're reminded that it still isn't done and you feel like something so small and unplanned shouldn't be holding you back. You're angry at yourself and at your code.
This is a situation that every developer finds themselves in now and then. Working in our profession is like being on a rollercoaster, sometimes you're going to feel like you are working a million miles an hour and other times you going to feel like the snail at the top of this post. While one week like this can be bad enough, if you ever find yourself with a few like this in a row you can really start to doubt your own ability. What do you do? You can grit your teeth and get through it but that doesn't do anything for your confidence and it certainly doesn't help stop the same situation from popping up again. Instead, next time you're feeling like this, consider this trifecta of tips:
1. Let It Be Known
One of the worst things you can do for yourself in this situation is keep it to yourself. If no one in your team is aware that you're struggling, then your team may just think you're being slow or lazy. Use the 125% rule: If you've started a task and spent 110% of the allotted time on it and it still isn't done, notify your team.
Sharing with your team that you're finding things difficult does more than just allow them to adjust their timelines, it allows them to help and support you with it. Perhaps there is another engineer that you can pair with on the issue? Or maybe just having someone as a sound board will help you find the solution faster.
2. Context Switch
Sometimes we are in the wrong frame of mind for this particular task. There are two different ways I like to context switch - Changing my active task and stepping away:
Changing my Active Task
Sometimes you're in the fortunate position of having lots of different stories to pick up in a sprint. While it's never good to have all of your tasks in progress at the same time, when you're struggling with one, switching to a different story might allow you to work a different part of your brain. Also, if this other task seems to be progressing faster it might help you feel better as you are seeing progression.
In cases where you don't have other pieces of work that you can work on, you can still context switch by stepping back from your work for a peaceful moment. As engineers its easy to spend all day glued to your desk, sometimes removing yourself from your work environment for a quick walk around your local park can really help you feel refreshed and re-energised. I have often been in the position where I return from one of these walks and the solution to my problem is staring me in the face.
3. Remind Yourself What You're Capable Of
If I've had a week where I feel imposter syndrome kicking in, I like to use a portion of my weekend to work on a smaller project to remind myself that I am a capable dev when left to my own devices.
Take a part of your weekend to work on a smaller project to remind yourself that you are a capable developer when there aren't any blockers.
Some of the work I've had the most fun doing, has come out of these sessions. If I haven't had the chance to be creative during the week
You're not alone
Do you ever get slow weeks? If so, how often? Share your answer below, responses are anonymous. By answering you might be helping someone going through a week like this to know they are not on their own.
Do you ever get slow weeks?