Staying Productive - Big Project Blues
Staying focused and productive on a large, open-ended project can be difficult, especially when working from home. Here are some productivity I've found helpful as a full-stack web developer during this pandemic.
As the pandemic comes to a close (hopefully), progress on my large projects has waxed and waned. Some weeks amazed me with how much I could do locked in my room with a few cups of coffee. Other weeks imposter syndrome set in, and I could only stare at my IDE for so long without daydreaming.
I do most development on my own, so the tips I found online that were focused more on team productivity didn't really help me. Creating Scrum boards got old and unmaintained. Thankfully, I found some things did help. Hopefully they help you!
This one is obvious, but we all need a reminder every once in a while. A developer cannot think clearly if underlying bodily stress is nagging at their nervous system.
If you're thirsty, drink some water. If you're hungry, grab something to eat. If you have a mental condition, do whatever is best for you before coming back to the keyboard. These things can be more difficult to accomplish during a worldwide pandemic and economic downturn, but that's also even more reason to prioritize them.
I found myself being much more productive working in small bursts only after listening to what my body was telling me, small or big.
Stay connected with others
I have been lucky enough to have friendly co-workers, regular talk therapy, and good social support from my friends despite the enormous stress and trauma we've all felt in the last year. If you're lonely, reach out to people who energize you. Talk about something other than work. While it's easy to pass on just hanging out (online or otherwise) to get that module done, we're a social species who need connection.
It doesn't have to be every day. My co-workers and I have a Tuesday morning meeting through Zoom. My friends and I get together every Wednesday and spend a few hours playing games through Discord. I don't have to leave the house, but we still talk and have a good time, and the week feels much easier than if I had missed these meets.
Be easier on yourself
Don't let the stress of your job or side projects overtake your mental well-being. If deadlines are too tight, see if they can be extended. Consider if the deadlines you are focused on are real deadlines or self-imposed. I found that I was holding myself to very optimistic dates that no rational person would assign to me.
You are not a coding robot. AI has not advanced that far. Work at your own pace or risk burning out.
Keep an ongoing document
This is most important for long, months-spanning projects. My situation is unique in that I am pretty much in control of what features my project are prioritized. I am also the most knowledgeable person to ask about it, and sometimes I need to ask myself what to do next.
Without some record of your thought process, ideas and approaches can change as the days and weeks on the same thing become tedious. Every developer knows the call of the void when thinking about refactoring the entire project. Trust me, you don't want to do that. Your past self didn't want to do that. Your future self won't either.
Avoid one day opening your IDE and hating what your past self had done.
Personally, I use various mediums to document thought processes. It can be any text editor, or a Google Doc, Notepad, or paper notebook. What's important is you save it, open it, and re-read it often. Sometimes pen-and-paper has an advantage here, because it can physically sit on your desk in front of you. The harder to avoid it, the better.
Hopefully you find some of these ideas helpful. In the end, all you need to do is your best.