mrc's Cup of Joe Blog

Join us in exploring the world of modern development, evolving technologies, and the art of future-proof software

5 simple tactics to boost development productivity

EducationSummary: What is a “productive developer,” and how do you become one? If you’re a developer, or if you run a team of developers, this article defines the term and offers some actionable tips to improve development productivity.

Does your development team deliver applications slowly? Do you wish they completed projects in hours or days instead of weeks or months? Or, if you’re a developer, do you wish you could complete development projects more efficiently?

Today, let’s explore a few simple tactics that will help boost development productivity.

But first, let’s define the term. What is a “productive developer?”

Does a “productive developer” finish projects quickly? Not necessarily. A fast developer isn’t always productive. If you create poor quality applications quickly, does that make you productive? No. That makes you a bad developer.

I believe productivity is measured by speed plus quality. Productive developers know that the job doesn’t end when they deliver the application. They understand the importance of creating easily maintainable applications that adapt to changes.

So, how can you improve development productivity. While the list could go on, here are 5 key tips:

1. Avoid task or context switching

Some people brag that they can “multi-task.” Some companies even put “the ability to multitask” in their job requirements.

The only problem: It’s physically impossible.

photo credit: dierk schaefer via photopin cc
photo credit: dierk schaefer via photopin cc
Studies have shown time and time again that our brain can only focus on one task at a time. What we call “multi-tasking” is simply “task-switching.” We’re not doing two things at once. We’re jumping from task to task.

The problem with task switching: Your brain requires about 12 minutes to fully re-focus on a new task.

What does this mean for developers? You’re most productive when you’re not jumping from task to task, or from program to program.

“If possible, find an editor that allows you to work on multiple technologies effectively (ie. CSS, HTML, JS, Server Side Languages),” says Matthew Marksbury, a Sr. Software Architect and Entrepreneur. “Switching between environments (context switching) can derail focus and drop productivity.”

On a similar note, actively eliminate distractions. Turn off email notifications. Don’t jump into social media when your applications are compiling. You’ll end up wasting time trying to refocus on your initial task.

“Social Media sites like Facebook and Twitter can be a big draw for developers waiting for files to copy or application to compile,” says Marksbury. “More often than not however, you’ll end up spending more time on the social media sites than if you had waited for the task to complete. Once on a social media site, we tend to give up more time than we had originally intended.”

2. Begin your day with the end in mind

In his best-selling book, The Seven Habits of Highly Effective People, Stephen Covey explained the importance of beginning with the end in mind. Effective people have clearly defined life goals and values, and shape all of their decisions around them.

This is easily translated to web development. Rather than blindly rushing into your day, begin each day with specific development goals. What do you need to accomplish that day? As explained below, this approach better focuses your day and increases productivity.

“Most of the tactics we rely on are based around maximizing a developer’s time within a specific project on any given day,” says Nick Pavlak, founder and creative director at Babl Media. “Since we are an agency that work on many different clients’ projects at a time, it is extremely important for our developers to have clearly defined goals to start the day. Every morning each person selects their specific goals for the day based on the projects we’re working on, so they know exactly what is expected out of them. These goals are also limited to only one or two projects each day, as we’ve found that the single largest time sink for a developer is when they have to switch between different jobs.”

3. Do things right the first time

Why duct tape is not a good way to attach a bumper
Why duct tape is not a good way to attach a bumper
When you look at almost any problem, you see two potential solutions: The fast way, and the right way. Sure, you could duct tape that bumper to your car (as someone attempted in the image on the right), but you’ll just have to do it again…and again…and again.

The same is true for web development. Sure, you could throw something together that works at the moment. But, think about future maintenance. The quick hacks lead to more wasted than if you had done it correctly the first time.

“Do things correctly the first time,” says Rob Lyall, Front-End Developer for Sirportly. “It’s tempting to leave all the worst items until last, or to write sloppy code to save some time, but if you’re working on a codebase that needs to be maintained, or worked on by other people, doing things right the first time is always the best option. You may be a little slower now, but you’ll save you and others around you a lot more time in the future. Utilise tools like SCSS Lint for your Sass and JS Lint/JS Hint/Karma tests on your JavaScript.”

4. Stop hammering nails with a screwdriver

It’s a common problem that kills productivity on a daily basis. Companies provide their developers with inadequate tools (or none at all), just to save money.

It’s like telling a carpenter to pound nails with a screwdriver because hammers are too expensive.

The problem with this thinking: It doesn’t save money. The productivity lost with inefficient tools far outweighs any cost savings gained. If purchasing the right tools will cut your development time in half, how much is that worth over a month? Over a year? You might be surprised.

“The most productive developers understand the importance of good tools,” says Tyler Wassell, Software Development Manager at mrc. “The right tools will not only eliminate repetitive coding tasks, they will also fill gaps in their skillset–letting them accomplish more than they could coding from scratch.”

5. Rethink your schedule

photo credit: photosteve101 via photopin cc
photo credit: photosteve101 via photopin cc
When are you most productive? For some, it’s the morning. For others, it’s late at night. Everyone is different. The problem is, most developers are forced into the same 9-to-5 schedule. Why is that a problem? We’re seeing increasing amounts of research indicating that this may actually hamper productivity.

“In my experience, web developers tend to be late night people,” says Chloe Carmichael, a Clinical Psychologist. “As extremely quick thinkers with high IQ, they are always interested in ways to boost or maintain productivity. I often find that developers forcing themselves to adhere to a 9-5 schedule, deliver sub-optimal results and start having a lower self-perception as they start believing that they are simply not productive. To enhance productivity, I recommend giving themselves the freedom to arrange their schedules around the times they are most productive. Once they let go of the 9-5 idea, they can identify their own peak hours and create their own schedule accordingly, even if it is from 10 pm to 6 am. This often re-connects them with many of the facets of the 9-5 lifestyle that they actually did like – such as an established routine and a sense of when to call it a day.”

So, what do you think? Is there anything you would add to this list? If so, please share your thoughts in the comments.