7 Developer Lessons That Help to Improve Productivity

7 Developer Lessons That Help to Improve Productivity

I’m a software developer by profession and I have realized that there are quite a few productivity practices that can be applied to any office setting—be it a shared workspace or a home office—so I decided to write this post and introduce at least some of the practices to you.

Don’t worry: I try to keep things simple so that you can grasp these concepts easily even if you are not a developer yourself. Just go through the post and start implementing these lessons one by one, and eventually you’ll realize that your office productivity has improved and you feel good about yourself, and your progress as well.

1. Get multiple things done at the same time

I know what you are thinking: “You’re talking about multitasking, right?” Nope, I’m not. You see, developers can create code that is asynchronous and that’s a great way to avoid application’s performance bottlenecks. If this asynchronous processing wasn’t possible, the end users would in some cases just have to wait for the application to respond before they could continue with their tasks.

For instance, if you visit a web page, the asynchronous way provides the ability to read the text on the page, while the rest of the elements are loading on the background. On the other hand, if this wasn’t possible, each user would have to wait until all the elements of the page have been loaded first, and that would be very frustrating indeed!

How to apply this in your own office:

Take this same concept into a project that you are working on.

Let’s say you’re building a website for your business. Instead of doing everything by yourself, you would delegate the responsibilities to various professionals, like to a graphic designer, a copywriter or a web developer. This would speed up the process and you would be doing your tasks while other people would be working on theirs.


Essentially, this is all about outsourcing where every member of the project has their role which ensures that the project gets done faster than if it was done the synchronous way. In other words, the project members can do their part without having to wait for each other before they can start working.

2. Don’t reinvent the wheel

Advanced developers are capable of building solutions which are reusable: each piece of code they develop can be used in future projects, and that improves their productivity. The reusable code also makes maintenance of the application easier. This saves their time and effort—for instance, in the case of defect-fixing.

How to apply this in your own office:

The idea of reusability can be applied in two common situations in your home office:

1. You (or an outsourced designer) could create templates that you use in your presentations or in other company materials. Once the template is created, it can be used as many times as needed in the future, instead of creating it from scratch again and again.

2. You could document your business processes, and that documentation can be used by you or your virtual assistant many times in the future.

Obviously the biggest effort is in the creation of the documents in the first place. However, once the initial work is done, the only thing that’s needed is to keep the documents up to date.


3. Automate

In order to free themselves from doing recurring work, developers try to find ways to automate those tasks. When the automation is in place, things roll along smoothly and the chance for human error is radically decreased.

How to apply this in your own office:

Try to take advantage of automation in your office wherever it’s possible. For instance, I don’t like paying bills, so I try to automate the process as much as possible. If needed, I can still be part of the routine by approving the bills before they get paid.

Another great example of automation is running backups from your computer: as the process of running the backups manually is error-prone, you should buy a dedicated service for this activity instead. You could also ask if your Internet Service Provider is offering this kind of service for your computer(s).

4. Batch process whatever is possible

Batch processing means doing many tasks at once, which is obviously faster than doing one thing at a time, like when databases do mass-updates on a lot of information at once.

How to apply this in your own office:

One of the natural places to do batch processing in your home office is with your e-mail. Choose daily time windows to process all your mail at once. The number of windows could be 3 times a day, for example, and within those time blocks (15-30 minutes) you process as many of your messages as possible.

Other ways to use batching could be by recording multiple video clips for your web site or approving/paying multiple bills at once.


5. Workflows

Workflows are integral parts of any developer’s life. For instance, there may be a certain way to handle the bug fixes in an application.

As soon as the defect is found, it’s put to a developer’s task queue with the assigned status. When a developer starts working on the defect, he/she changes the status to in progress. Finally, when the developer has finished fixing the defect, the work labeled with fixed state. After this, the defect goes for testers, who then approve or reject the bug fix and set the status as closed or back to assigned.

Having a defined workflow ensures that things move on as smoothly as possible and that a task gets done according to specified rules and standards.

How to apply this in your own office:

You should find ways to standardize your repetitive work processes so that no time is lost and that the chance for human error is as small as possible.

You can do this by documenting your work processes and clearly defining how a task gets done from start to finish, and which kinds of roles different people have in this process. For instance, I have defined my blogging workflow, and although it has changed a bit since I initially documented it, it’s still valid. Once you have everything written down, it’s also much easier to see the parts which could be automated, outsourced or even removed.

6. Events

Developers write code which reacts to events. For instance, if a user tries to submit a form on a web page, it initiates a validation process, which in turn prompts an error message if required fields are not filled.


How to apply this in your own office:

Although events are part of natural workflow in an application, you should take a different approach when it come to your own work productivity. Instead of checking your e-mail as soon as new one arrives in your inbox, you could define policies how you react to emails, and even how you react to certain types of emails.

You could also define how you want to handle other distractions when you are working: instead of giving others access to your by phone or by instant messaging, mute the phone while working or turn off the instant messaging client. You could also isolate yourself by changing the location when you work—if you work from home, consider going to a coffee shop, library or any other locale where family members cannot interrupt you.

7. If-then-else

Computer programs are based on logic and “if-then-else” is the most common piece of logic that developers can use. In essence, if a certain condition is met (if), something is done (then). Otherwise (else), something else is done.

How to apply this in your own office:

Use this same logic with your daily task list and create a plan B for your tasks.

Let’s say that you have a task of updating some blog posts to your website, but before you can update the content, it has to be proofread. If the proofreader has returned the material, you can update the content right away—otherwise you have to find something else to do while you are waiting documents back from him/her.

In general, having a plan B is always beneficial since you can keep yourself productive if you are unable to proceed with your main task.


Software developers can teach us a great deal about productivity. Just take these lessons and implement them in your own office environment, and you’ll notice that your productivity will increase. Hopefully this will eventually show on your bottom line as well.

More by this author

Do You Do This Common Mistake When You Start Working on Your Tasks? 9 Valuable Lessons Learned After Writing My First Book How to Create a To-Do List that Makes You Smile Agreeing on Deadlines With Yourself Just Doesn’t Work: Here’s What Does 3 Threats to Effective Time Blocking and How To Solve Them

Trending in Productivity

1How Productive People Compartmentalize Time to Get the Most Done 2How to Increase Brain Power: 10 Simple Ways to Train Your Brain 3Forget Learning How to Multitask: Boost Productivity 10X More with Focus 4How to Organize Your Thoughts: 3 Simple Steps to 10X Your Productivity 5How to Be Productive: 11 Ways to Be Productive and Happy at Once

Read Next


Published on July 17, 2018

How Productive People Compartmentalize Time to Get the Most Done

How Productive People Compartmentalize Time to Get the Most Done

I’ve never believed people are born productive or organized. Being organized and productive is a choice.

You choose to keep your stuff organized or you don’t. You choose to get on with your work and ignore distractions or you don’t.

But one skill very productive people appear to have that is not a choice is the ability to compartmentalize. And that takes skill and practice.

What is compartmentalization

To compartmentalize means you have the ability to shut out all distractions and other work except for the work in front of you. Nothing gets past your barriers.

In psychology, compartmentalization is a defence mechanism our brains use to shut out traumatic events. We close down all thoughts about the traumatic event. This can lead to serious mental-health problems such as Post Traumatic Stress Disorder (PTSD) if not dealt with properly.

However, compartmentalization can be used in positive ways to help us become more productive and allow us to focus on the things that are important to us.


Robin Sharma, the renowned leadership coach, calls it his Tight Bubble of Total Focus Strategy. This is where he shuts out all distractions, turns off his phone and goes to a quiet place where no one will disturb him and does the work he wants to focus on. He allows nothing to come between himself and the work he is working on and prides himself on being almost uncontactable.

Others call it deep work. When I want to focus on a specific piece of work, I turn everything off, turn on my favourite music podcast The Anjunadeep Edition (soft, eclectic electronic music) and focus on the content I intend to work on. It works, and it allows me to get massive amounts of content produced every week.

The main point about compartmentalization is that no matter what else is going on in your life — you could be going through a difficult time in your relationships, your business could be sinking into bankruptcy or you just had a fight with your colleague; you can shut those things out of your mind and focus totally on the work that needs doing.

Your mind sees things as separate rooms with closable doors, so you can enter a mental room, close the door and have complete focus on whatever it is you want to focus on. Your mind does not wander.

Being able to achieve this state can seriously boost your productivity. You get a lot more quality work done and you find you have a lot more time to do the things you want to do. It is a skill worth mastering for the benefits it will bring you.

How to develop the skill of compartmentalization

The simplest way to develop this skill is to use your calendar.


Your calendar is the most powerful tool you have in your productivity toolbox. It allows you to block time out, and it can focus you on the work that needs doing.

My calendar allows me to block time out so I can remove everything else out of my mind to focus on one thing. When I have scheduled time for writing, I know what I want to write about and I sit down and my mind completely focuses on the writing.

Nothing comes between me, my thoughts and the keyboard. I am in my writing compartment and that is where I want to be. Anything going on around me, such as a problem with a student, a difficulty with an area of my business or an argument with my wife is blocked out.

Understand that sometimes there’s nothing you can do about an issue

One of the ways to do this is to understand there are times when there is nothing you can do about an issue or an area of your life. For example, if I have a student with a problem, unless I am able to communicate with that student at that specific time, there is nothing I can do about it.

If I can help the student, I would schedule a meeting with the student to help them. But between now and the scheduled meeting there is nothing I can do. So, I block it out.

The meeting is scheduled on my calendar and I will be there. Until then, there is nothing I can do about it.


Ask yourself the question “Is there anything I can do about it right now?”

This is a very powerful way to help you compartmentalize these issues.

If there is, focus all your attention on it to the exclusion of everything else until you have a workable solution. If not, then block it out, schedule time when you can do something about it and move on to the next piece of work you need to work on.

Being able to compartmentalize helps with productivity in another way. It reduces the amount of time you spend worrying.

Worrying about something is a huge waste of energy that never solves anything. Being able to block out issues you cannot deal with stops you from worrying about things and allows you to focus on the things you can do something about.

Reframe the problem as a question

Reframing the problem as a question such as “what do I have to do to solve this problem?” takes your mind away from a worried state into a solution state, where you begin searching for solutions.

One of the reasons David Allen’s Getting Things Done book has endured is because it focuses on contexts. This is a form of compartmentalization where you only do work you can work on.


For instance, if a piece of work needs a computer, you would only look at the work when you were in front of a computer. If you were driving, you cannot do that work, so you would not be looking at it.

Choose one thing to focus on

To get better at compartmentalizing, look around your environment and seek out places where you can do specific types of work.

Taking your dog for a walk could be the time you focus solely on solving project problems, commuting to and from work could be the time you spend reading and developing your skills and the time between 10 am and 12 pm could be the time you spend on the phone sorting out client issues.

Once you make the decision about when and where you will do the different types of work, make it stick. Schedule it. Once it becomes a habit, you are well on your way to using the power of compartmentalization to become more productive.

Comparmentalization saves you stress

Compartmentalization is a skill that gives you time to deal with issues and work to the exclusion of all other distractions.

This means you get more work done in less time and this allows you to spend more time with the people you want to spend more time with, doing the things you want to spend more time doing.

Featured photo credit: Pexels via

Read Next