Sometimes life as a developer gets you down. No matter how hard you work it seems like there is a never ending list of new bugs and change requests that keep coming in from your users. It’s easy to get fed up and start losing motivation, every day seems the same and time starts to drag. So how can you keep your motivation levels up?
Sometimes you can look at a bug report and think to yourself, “this is an easy quick fix that will only take ten minutes…”. But why not take the opportunity to look at the bigger picture and think about how you can challenge yourself by spending some time refactoring a slightly larger section of code to increase its efficiency or by making it easier to maintain and update in future.
Sometimes you need to use your own initiative to identify a potential benefit and spend a little time exploring the code. Your project manager doesn’t know the code, but you do. Refactoring may mean the code can still provide the same result, but might end up shaving a few milliseconds off or help to reduce memory usage. One individual user might not notice the benefit, but many users using your system at the same time will notice.
Everyone needs some time set aside for training. Training is good for you as it will help you learn new skills which you can use to increase your productivity, but the other benefit is that it can give you new ideas and a fresh perspective.
Every now and then I find myself working on a project that works, but you know it could be better. Your boss might say, “If it ain’t broke, don’t fix it”, but you know there are big gains to be made. Sometimes it takes that little spark of inspiration from a training course or conference talk to give you that big idea that you wouldn’t have had without it.
The good thing about web development is that there is always something new to learn. Developing yourself can give you a well needed confidence boost. Sometimes doing a training course will help reassure you that you do know what you are doing and that you are doing a good job.
If I have solved a problem then I quite enjoy writing a blog post about it. I find it helps organise my thoughts and helps me remember how to solve the problem. If you run into a problem once, chances are you will run into the same problem or something similar on another project. This time you can skip reading the docs and the various stack overflow posts and go straight to your own blog post to find the answer.
It is difficult to write a good post and it takes hard work to ensure all your code snippets are correct and that the content all makes sense and that you manage to get your point across.
After all the hard work it’s very rewarding to get views, comments and shares. I often cross post my blog posts on https://dev.to to help get a wider audience, but it also offers the ability to leave a reaction such as a heart or a unicorn. It sounds silly, but these reactions help you know you are helping others which can be hugely motivating.
As they say in Parks and Recreation, ‘Treat yo self’.
This year I have bought tickets for LaraCon Online, an online Laravel conference. When I bought the ticket it only cost $12, but it has given me something to look forward to. I’m not saying go out and spend all of your cash, I’m just saying pick a few things spread throughout the year so that you have things to look forward to.
When it’s a cold and damp Monday morning and you are walking to work you can think to yourself “it’s only a few weeks until I get to do X”, it can brighten up your mood and help you be in a more productive frame of mind when you sit down at your desk.
Sometimes all you hear is negativity. Users are often quick to point out bugs and issues they are having and everything just seems negative. This is where you need to think to yourself how many users there are for your system and how many of them are not reporting issues, instead of focusing on just the issues.
Getting a different perspective can be like a light turning on in a dark room. You can now look around and realise you are not just surrounded by the unhappy users right next to you, you can see a large group of people slightly further away that are all using your product and the positive impact it is having on them.
Sometimes you need to go out of your bubble of bug reports and change requests and go and meet your users for yourself. This can help you realise you are making a difference to them, but it can also give you ideas for future enhancements so that next time you meet them they will be even more thankful for you listening to them.
One final thought I would like to share is to think about how you could make a positive impact on someone else’s motivation.
If you find a bug in a library or package then it’s easy to create an issue on GitHub and complain about what the problem is, but think about if that was your package and how you would react to that issue being raised, especially for an open source package.
Think about how you can start off by saying how the package has benefitted you and how much you appreciate it. Don’t be rude or offensive, keep it polite. Rather than just raising an issue, consider creating a pull request with a potential solution to the problem. Spending a little time trying to fix a problem helps you realise it’s not as easy as you may think to solve.
One thing I really enjoy about being a web developer is being part of the community. It can be a stressful job, but there is no need to take it out on other developers that are trying to help you out.
If you like using a package then show the maintainer you like it by giving it a star on GitHub.
If you read a helpful blog post then give it a positive reaction, spend a bit of time and leave a positive comment or help the author out by sharing their post to help raise its visibility. These little actions can make a big difference and give someone a boost.