Hello and welcome to my first post on Dev.to!
I've been freelancing for two years, and when I first started out, I really enjoyed the freedom of having almost complete control over my own time. I can basically work whenever and however long I want!
However, as any former young, wide-eyed, free-spirited professional can attest, not having any sort of routine for your work would only lead to the cake hitting the fan. I had really slow days when I just could not code, and would churn out really sloppy work.
On the other extreme, I also had 13-hour days where I was sitting at my desk programming from 10am to 1am. This quickly and predictably led to burnout which not only harmed my mental health, but also affected by relationships with other people.
It was then I decided that things had to change.
Today, I would like to share the 3 changes I made in my work day that not only helped me break out of burnout hell, but also continues to boost my productivity.
Let us begin!
I heard this tip from a lot of blogs and podcasts; The idea is that being able to achieve even a simple task at the beginning of your day would get the ball rolling for more complex tasks later on. This may not be necessarily related to coding. Personally, I begin every day by first making my own bed. Not only will this act get me out of bed, but it would also eliminate the stress from having a disorganized room.
Whatever you decide to do, the important thing is to perform the simple task mindfully; you are getting into the mindset of preparing for your day, and not just going through the motions of doing a chore.
Once you've had your morning coffee and warmed up, its time to actually churn out code. During this stage, I find it very helpful to follow any sort of productivity technique. There are many methods that work for a variety of folk; what is common among them though is that your work flow is not a single 8-hour stretch of hacking at a keyboard. These methods usually involve a period of focused work, wherein you shut out everything else and work on whichever task is at hand, but then a period of short rest follows. I personally follow the pomodoro technique using an app with 35-minute work / 5-minute rest intervals. Whichever method you choose, what matters is that we have a plan for doing work, and that we commit to it.
Finally, one of the hardest parts of development is knowing when to stop. As I mentioned in the introduction, we programmers have a tendency to spend long periods of time working on our code because we become so attached to our creations; It is by our hands that these things have come to be, after all! We are solving an ever-growing puzzle, and sometimes we have a difficult time knowing when the time for our work day to end has come.
I used to stress out about the time I spend not doing work because I felt I was wasting my time. There will always be another bug to fix. There will always be that small styling for that button that just seems a bit off. There is always something that needs to be done.
However, we must remember that there is more to us than just our code. We still have relationships, hobbies, and our own physical and mental health to care about. We must not take these things for granted because these are what ultimately ground us and make us holistic and productive developers.
To summarize, the three changes I mentioned all boil down to discipline. Development is a tough and mentally-challenging work, and yes, we will need to put in the occasional all-nighter sometimes. However, we don't need to break our backs over our work on a daily basis. What matters is to have the willingness to do so, and the discipline to take control of our day.
Kick off, clock in, and wind down.
Thank you for reading!