Developers have been working remotely for a few decades. They had the luxury of having the house to themselves and focus on their coding while taking breaks when needed. Playlists, games, lunches, coffee, beer o’clocks, everything fit into a regular work week. But as more professionals start to work from home, many developers are finding it hard to find their routine and focus. Their partners are working from home too, kids are taking online classes, the pets have gotten clingier, their once quiet workplace is now really busy. ActiveState developers have put together a list of ideas to help you get through your workday easily, so that you can make the most of your 9-5 time.
7 ways to be productive as a developer and achieve a work-life balance during the pandemic. Read one!
1) Organize your tasks
One of the major factors in how productive a developer can be, is actually not him or herself but rather how organized the environment is. One of our senior developer’s first recommendation is that in order for a team to be productive, they need to have a clearly ordered backlog of tasks. Each task should be small enough to be accomplished by one developer in one week or less. Task context is equally important, each task should have a reason why this particular aspect needs to be changed, details about implementation and a clear list of acceptance criteria that tell the developers what success looks like.
2) Learn more than coding
Taking up a new hobby not only motivates you to get through your work day quicker and take practice breaks, it also gives you an opportunity to gain new perspectives.
A lot of our developers enjoy learning about disciplines other than coding. For instance, learning about business or economics can help a dev ask the right questions when it comes to understanding what he/she is building and why. One of our senior developers says “I have a music background, so the training of finding patterns and making variations on patterns and understanding structures that work and don’t work (and how many of those are culturally specific) has been really helpful.”
3) Avoid rabbit holes
One of the most common pitfalls we’ve gathered from our developers is avoiding rabbit holes. In trying to solve problem A, you might decide to first solve problem B, for which you need to find library C, but using it will require upgrading dependency D, and before you know it you’ve spent hours working without making any tangible progress on A.
It’s important to periodically take a step back to assess where you’re at, remind yourself what your actual objective is, and ask yourself whether anything has turned out to be significantly more complicated than initially expected – and if so, is there an alternative approach you should consider? This helps counter both slipping deadlines and scope creep, as well as the general tendency to let the theoretical get in the way of the practical.
4) Rubber duck debugging
Common in software engineering circles, this practice’s origins come from a book called “The Pragmatic Programmer” . This somewhat unorthodox approach stems from the fact that many developers have realized that when explaining (or venting) their problems to someone else, even if that person knew nothing about programming, oftentimes they would have an “a-ha” moment while describing the code and what it is supposed to do. A duck isn’t a necessity as any inanimate object works, as they are happy to just sit there for any amount of time while listening to developers ramble on. There’s even a website dedicated to the duck!
5) Learn to accept help
It can be hard to put our pride aside. The most productive devs do not shy away from asking questions when it comes to a programming problem. Trying to persist through it can become a huge productivity drain. With millions of developers around the world, all connected by the internet, chances are someone else has run into your problem before and has found a solution. The open source community is all about helping each other out, so why not take advantage of it?
However when asking for help don’t simply copy-paste the answer from a stack overflow thread, instead try understanding the what, why and how! As well, when asking a question, manipulate your date so that it is trivial to get an answer, this is even more important if you have a pipeline!
6) Keep your code human
Keep in mind that you are writing code that will be used not just by machines but also humans! Assign clear and meaningful names to your variables and functions. It is also important to comment on your code. This helps bring clarity of thought and helps you maintain continuity over days of development. Document what you intend the code to do, along with important new things that you’ve had to look-up, debug or solve while coding! Your future-self and your team will thank you for it.
7) ActiveState Platform
We admit this could be a bit tongue-in-cheek, but it is the truth nevertheless. Our open source language automation platform can help you save precious time usually spent on tasks like resolving dependencies or making your runtimes reproducible on all the machines in your team. It can help you jump to quality coding much faster and stress less about your project deadlines.
Our open source languages platform is also a great tool if you want to do some learning of your own. The platform lets you skip the bores of pre-configuration and setup, so you can jump straight into experimenting and being creative with programming. The platform also comes with mini-runtimes from machine learning to web development and many others, for you to download and run right out of the gates.
Since COVID started, ActiveState has adopted a work from anywhere policy to keep our employees and the community at large safe. However, we realize that this can be difficult for people who are used to coming into the office as a dedicated productive space. Which is why it is important to have tips and tricks to stay productive. If you enjoyed our list, and have any suggestions, we would love to hear them!
P.S Being more productive is sometimes as easy as 1,2,3 with the ActiveState Platform, remember, it solves dependencies automatically for you so that you can get to the fun projects faster!