10 Practical tips for developers to increase productivity — Part 1 (Plan & Organize)
Developers, if work on smaller improvements can become more productive. These improvements are mostly better & effective ways of doing daily work. In this story, I’ll share improvements related to Effective Planning & Organizing things I do as a Software Developer
I have seen developers mostly focus on delivering the solution. They barely think about improvising on daily day-to-day small activities because of deliverable’s hustle and bustle.
Let us discuss about :
1. Personal planning & organizing:
i) Plan your week:
I usually work from Monday to Friday. Every week has different theme and focus. Sometimes, it is focused on complete development, sometimes it is focused on conceptualizing a new feature, sometimes R&D is the theme. However, pro-active planning of week helps me set good expectations with other stakeholders. I use Google Calendar for this, which other team members can easily view and know empty slots I have for any important meeting.
ii) Plan your day:
At the start of the day, spending 10–15 mins to plan about entire day helps me focused on my daily job. For development related tasks, I usually reserve my slots in calendar. Day usually is a mix of development, meetings, sessions, etc. Planning breaks in the day for lunch, prayers, etc is also part of this activity.
It is the most discussed thing among developers to trade between tasks, which one to do first. Expectations are set with related stakeholder as per priority. I learned this new thing called “Eisenhower matrix” that helps me filter out tasks.
Developed by former US president Dwight Eisenhower, the matrix is a simple four-quadrant box that helps you separate “urgent” tasks from “important” ones.
iv) Documentation / Notes:
When in meetings, sessions, etc. to stay connected to the discussion, it is good habit to take notes, and note questions which one can ask when permitted.
Taking short notes, is also a rare skill and is developed by practicing. I usually used to use “Sublime”. After exploring “notion”, I loved the way it helps me organize my notes.
v) Note down ideas:
I separate ideas from notes, due to the fact that ideas in the end result in a to-do list. I usually use “Trello” for this. Ideas pop-in when working on some solution. I share ideas with the team members when they make sense for me personally.
vi) Save passwords at secure place & use TFA:
It is highly discouraged to save secrets at local machine. There are online password management tools to do this job. As a developer, we use multiple systems with credentials. Using effective password management tool can help us organize and secure secrets effectively. I have explored “Passpack” and found it easy to maintain.
Using TFA (Two Factor Authentication) is also recommended, to stay secure.
vii) Organize Slack channels:
Been using slack for a while, it is a good practice to group channels into “Sections”. It helps one organize relevant communication channels under one namespace. It reduces clutter, and looks clean.
viii) Managing browser:
Browser is the mainstream software used by every developer. Developers when looking for solutions over the internet, end up opening too many tabs which makes it very ugly.
I discovered “Grouping Tabs” and it looked way easy and neat than before.
Use appropriate browser extensions:
Unopened tabs usually utilize resources. To optimize that utilization, I discovered a browser extension “The Great Suspender” which makes browser lighter and faster.
ix) Set reasonable deadlines
There is always some expectation set by business with Engineering Team for the deliverable. Sometimes tasks are under-committed, sometimes they are over-committed.
I learned this art of estimation with experience and making some mistakes. Do keep buffer of meetings, some buffer for unplanned work, etc in sprint while sharing estimates / deadlines.
2. Planning with Team
x) Effective Task management using Jira
Jira is currently the first choice for companies to manage tasks & issues related to Software development.
Alongside organizing self, it is important for entire team / unit to stay organized.
Following are some practices while using Jira to stay well planned / organized.
- Use Scrum vs Kanban where applicable.
- Write effective User Stories.
- Break into Epics and Stories into smaller units (Tasks, Sub-Tasks, etc)
- Keep moving tasks in JIRA board
- Make swimlanes for Jira board that make sense for your team.
These 10 tips have helped me plan and organize well, and can be applied anywhere.
Developer productivity tips (Part 2) will be continued in next story, where will discuss tips related “Better Communication”.