Jay Gould

How to keep productive as a web developer

December 10, 2018

Being a software developer is one of those professions which can require a lot of time, effort and persistance to learn the tools and techniques of the job. The more time you spend developing, the more habits you may pick up to be more productive and use your time wisely. This post is a collection of a few tips and tricks I use to be more productive in web development day-to-day:

Keep organised

Using tools like a Trello and Slack combination are crucial to keeping yourself organised. They can massively help arrange your priority list for the day, as well as plan out your long-term goals for a project. Not only does this work on a per project basis, but you can also keep track of other goals you may have, like wanting to learn a certain framework or tool.

There’s nothing better than finishing a task in a web project and ticking it off the list, but you may also be adding to the list quite frequently also. For example, if you notice something that needs fixing or adding in to an application, it can be best to add it to the Trello board and fix later rather than taking you off track with what you’re doing. I like Trello, but you can use anything really as long as it’s logging a list of tasks.

Plan out your session

Following on from keeping organised is always planning out what you want to achieve in a development session. Setting a goal will help you keep focused on a task at hand, and works especially well if you are having to do short bursts of work in the evening perhaps if you only have an hour or two of time.

These short term goals can give you some motivation if you’re getting them done quickly and moving on to the next one, so setting time aside for the smaller and larger tasks can be a big help.

Take regular breaks

I can find myself stuck on a problem so much that I can be staring at a screen for three or four hours with nothing achieved. Have you ever had that thing where you spend hours on a problem which goes unsolved, then you come back to it the next morning and fix it within 10 minutes? I have, and it feels like a huge waste of time.

Taking regular breaks can help, allowing your mind to rest and re-think the situation from a different perspective. If you’re tight on deadlines, perhaps just moving on to another problem or feature may be the best option.

Stay motivated

Setting yourself little treats on completion of each small task can help a lot also. I sometimes plan to have some food once a certain objective is reached, and this helps keep up motivation.

Similarly, making steps to prevent burnout is going to be a huge help. I tend to have one or two small side projects running so I can jump on to an exciting project if I’m getting tired or bored. Side projects help keep up to date with new tech, and giving you that sense of motivation you may need.

Exercise

Exercise is one of the most important steps towards keeping productive for me. Not only does regular exercise keep your body fit and healthy, but it keeps your mind healthy, which is a big deal for developers. I find after getting back from a good long run or an hour at the gym I have had time to almost subconsciously think about a problem and come at it from a different angle.

If you really don’t have the motivation for exercise, there’s a great small company called DevLifts who are dedicated to provide exercise motivation for developers specifically.

Re-use concepts and functionality you’ve used before

This may seem like an obvious one, but re-using your previous work is a great idea because you fully understand it (hopefully), and you previously fit that code or idea in to something else before. The chances are, you’ll be able to fit the same function or concept into another situation easier than re-creating.

Relating to this - keep your code flexible enough to be able to take out sections when needed. For example, keep code split into separate functions will as little side effects as possible, and compose smaller functions into bigger ones.


Jay Gould

Senior web developer at indigoRiver