Have you ever wanted to be a wizard who can do amazing wonders? One who can create powerful spells that help others. I think you already are. As a programmer, you can do all of those things with code as your magic wand. Create marvelous applications out of thin air. You can do it anywhere, alone or with a team from all around the world. For others it's almost a mystical art and the wages are great. Yet somehow there are so many of us who suffer from boredom. Each day at work is a struggle and eventually, they burn out. To save myself from such a fate, I follow these steps, which make me feel great as a developer.
Let’s continue with the “coding as magic” allegory. Can you imagine one having those powers, using them only for someone else's business? No experiments, no secret recipes, no playing by your own rules.
Because we focus on perceiving it as a job, we stop doing that as a hobby. Using coding for more than your work is one of the best ways to keep yourself fresh. You can choose any language, technology, or tool. No deadlines, no pushing, no office work. You are limited only by your decisions.
Developing your own ideas gives so much joy and satisfaction. Another option is to join an open-source project of your choice. Both choices diversify the reason why and how you code, which helps you keep a healthy distance from your daily job. For example, it is easier to avoid becoming fed up with code quality if you have multiple projects. You just don’t take it that personally. Besides saving your passion, it also improves your skill and raises your market value.
One of the cardinal mistakes a developer may commit is to ruin his work-life balance.
The day you join the company makes clear what your working hours are. Most probably it will be eight hours. Stick to them strictly. Unless you have a break for longer than an hour don’t fall into the trap of staying later to catch up. The only way to do that is by increasing your working pace. If you don’t follow this advice, you can find yourself constantly working over hours just because you feel guilty. Remember that it is a marathon, not a sprint. Naturally, there are times you will be less effective and you will need more breaks during the day, but next time it will be totally opposite.
Lastly, I recommend starting as early as possible. This way you will have more daylight for yourself, thus more time for daily activities or productive thighs. That way you won’t feel as if work is the main purpose of your living.
We have limited energy, and we should save it. Definitely not spend it on repetitive and uncreative tasks. Even such small things as creating a new branch with a tag and name should be done without our effort. Accounts, feed or environments for our applications should be accessible with just one click so we don’t waste precious time. Use good tools that reduce noise and disruptions. Create pipelines that take off unnecessary burdens from you. Create a culture of omnipresent automation in your company. You can try to create your own solutions, but such crude software might be the next reason for your frustration as it doesn’t scale well. Such mundane tasks should be done by one reliable professional third party application and you should focus mainly on creative work. Even the most powerful wizards helped themselves with magical inventions of others, to help them do boring chores.
Even though our industry is more popular among introverts we undervalue how refreshing cooperation might be for all of us. It is good to have somebody you can talk to, who is on the very same page and knows exactly what might trouble you in your current task. It helps in code review, pair programming, and helps covering all edge cases. You can naturally exchange your experience and knowledge. Not only does it improve performance thanks to the power of synergy, but also it reduces pressure, as it is divided among multiple people. It is the easiest way to make friends and thus add one more reason to love your work. Besides that, be more than helpful and nice to everyone at your company. I am always amazed how many times kindness I gave to random people, quickly returned in advance when I was needing their help. Building and working in such conditions limits unnecessary stress which prolongs our career.
One of the biggest reasons for a negative attitude at work is a deep feeling of injustice. When we don’t feel being appropriately rewarded for our efforts it quickly advances to hating everything in this company like processes, products we develop, tools, and codebase. You can easily spot such grumpy developers as they blame everyone else for their misery. In reality, if they had a better position, better salary, or fewer duties they would be totally content.
It's us who often don’t keep a healthy balance with our employers. I know too many people who are scared to talk about what they need even when asked directly, but later become angry for not being properly recognized and throwing it all out only when they resign. We should not rely on anyone but us to improve our situation. Don’t hesitate to ask for more, very often managers will gladly give it, as they want you to stay with them. Treat them like equal business partners, and stay strong with your needs. Use tools that help you keep track of your achievements, especially tasks and responsibilities that are not on board, so you have solid arguments. Only then you can be in a healthy relationship with your boss.
Don’t let negative vibes into your coding life. We have a lot of means to stay positive and avoid burning out. Remember that sometimes we can’t change everything at our company and we need to accept that. Otherwise, frustration will overcome us. Programming is such a fascinating activity and if managed well we can dream of times when we will sit on a rocking chair and create games for our grandchildren. So get your wand and do the magic and enjoy being a happy developer!
I develop apps for the sheer need of creation, and I love to share my thoughts and give back to the community. I have experience working with super small teams and enormous ones as well. No matter the size, the best way to contribute to a project is to improve the effectiveness of its processes.