For some people, productivity as a developer means the number of codes you can write in minimal time, while for some, it is the number of quality codes you can churn out in the barest amount of time. Whichever definition you choose is great. This is how I define mine: Productivity is the ratio between the output churned out and the volume of inputs.
Being a productive developer has its perks which include: Job satisfaction, higher pay, work-life balance, and a happy-boss.
There are a thousand and one things fighting for your attention on a daily basis, and knowing where and when to respond to them and with which tools, would place one developer in front of the other on the productivity radar (If there is anything like that).
In this article, you’ll learn how to set goals, take charge of your day, and become a super-productive developer.
Humans are not machines and even machines pack up if not serviced. You can use up will-power and mental resources - and become a vegetable.
Whether you’re a newbie, intermediate, or a very experienced developer, you need to be more productive to become better.
Companies love to have productive developers in their team with the ever teaming competition on their neck daily, they want someone who can deliver quality codes in less time.
So, the question is, with the distractions flying around vying for one’s attention, how can one be more productive as a developer?
Without clear goals to drive you forward, you won’t know if you’re making progress in the activities you consider most important.
Map out what you want to achieve within a particular time frame, and outline how you're set to achieve them. When making a goal, bear the following in mind:
Your goals should be Specific. Make a list of what you want to achieve and in simple and straightforward terms too.
Saying "I'd build a full Vue application this week" is vague compared to when you say "I'll build a todo-app using Vue this week"
This specificity will help you in breaking the task further down to daily goals, and hourly goals as the case may be.
Your goals should be measurable. If you can't measure your goals, then it'd be difficult to monitor progress or digress. Instead of saying "I'll become a better developer this year" ("better" is relative and can't be measured) say, I'll build 20 applications using Vue, NuxtJs, and GraphQl. This way, if you're able to build 10, you'd at least discover that you achieved a percentage of your goals.
Your goals should be attainable. Don't make goals you and your guts clearly know you can't achieve. You'll only be setting yourself up for disappointment and sap your motivation when you don't achieve them.
Your goals should be relevant.
The goal you pick should be pertinent to your field or should benefit you directly. It would be awkward for me to want to be the best actress in Nigeria in 2020 when I've not starred in a local drama concert for once.
Your goal should be time-bound. Adding a timing to your goals gives you a sense of urgency needed to wake you up to do something even on days you don't feel like it. Example #100daysofCode
Distractions come in a number of ways, with social media being the all-time enemy of developers. As a developer, it is given that you spend a lot of time with your laptop, iPad, and phone. Notifications could pop up just the time you're about testing a feature with your phone🤦🏼 and this minute, you're deciding to check out this one notification, and in the next 1 hour, you're wondering what made you pick up the phone in the first place. Tragic!
These are a few things that have worked for me against social media distractions:
Putting a considerable distance between me and my phone. Keeping my phone a room or 2 away from me makes it difficult for me to reach for it, and aids in resisiting the impulse to check one message.
Turning off social media notification. All of them, except my email and Slack. This ensures that I do not get tempted to "check" a notification.
Calendar blocking. In my daily calendar, I have times designated for my daily activities including social media.
You may be wondering, so how can one be active on social media and be a good developer at the same time? This is your answer.
Those who you consider active on social media may be spending considerably lesser amount of time on social media than you do. They schedule posts and engage with people during their "social media times" and then log off while you spend 5 hours doom scrolling. Please don't.
Breaking down your project into chunks or sprints helps you set up systems to execute them in sprints.
Automate the small stuff. There are a few tasks that could be cleared off your table if you cease to do them manually. Eg, using schedulers for social media posts, labeling emails.
A lot of eyes would have had to stay open 24hours everyday, if there were nothing like sleep. A lot of developers still consider sleep a luxury or a phenomenon for the "weak".
According to the National Sleep Foundation, healthy adults need between 7 and 9 hours of sleep per night.
I inserted this fact to encourage you to sleep more. An unaccredited source also discovered that sometimes, it only takes few hours of sleep and a walk in the park to solve the bug that had kept you awake for days.
Burn out is a chronic state of exhaustation at which point you lose the will to do all the things that usually fascinate you. At this point, productivity would be alien to you, because it takes a vibrant mind to be productive.
Burn out is mostly caused by stress and can be prevented via regular exercise, social activities, taking both mental and physical breaks.
The more you know, the more productive you become. Take new courses, try new methods of achieving a thing, be a lifelong learner. Make it a habit to learn something new each day.
Reading can be both relaxing, educating, and entertaining (Depends on what you're reading).
If you're looking to learn, relax or simply entertain yourself, a good book could bring that along with good vibes for maximum productivity.
We've been able to go through 8 ways of becoming more productive as a developer. Which ones will you be practicing first?
I hope you found these tips useful. If so, follow me on Twitter.
This is an excerpt of my talk at the VueJs Nigeria Meetup.