16 Tools to Boost Your Productivity While Learning to Code

This article originally appeared on the Codementor blog

Self-teaching isn’t easy, whether it’s a task, a language, or a skill.

Staying focused and organized is the key to success… but often that’s easier said than done. And when you’re learning a computer-based skill like coding, distractions seem to multiply even further (hello Facebook, Reddit, Netflix) and kill your productivity.

That’s why it’s important to make a plan from the get-go and stick to it. Include these 16 tools and strategies to get the most out of the time you spend behind your computer desk.

The Hardware

Having your physical environment set up in the right way can make a big difference to how well you’re able to perform.

When you’re building stuff online, or need quick answers for a coding question, faster is better. Don’t waste precious time staring at the ‘loading’ circle spinning around; it’ll cut down on your output and make you much more likely to get discouraged or divert your attention elsewhere.

1. Fast internet connection

When you’re building stuff online, or need quick answers for a coding question, faster is better. Don’t waste precious time staring at the ‘loading’ circle spinning around; it’ll cut down on your output and make you much more likely to get discouraged or divert your attention elsewhere.

2. Headphones

A good pair of sound-canceling headphones can be invaluable to those who find their concentration broken by a wailing siren or an upstairs neighbor’s six-year-old triplets. Work in silence or put on relaxing music to get yourself in the zone. (Check out this music scientifically designed to help you focus!)

3. Timer

Consider going old-school and keeping a physical timer next to your computer so you can schedule blocks of time for coding. It’s easier to stay motivated when you see you only have ten minutes left until you can take a break.

Alternately, use an online timer, like the TomatoTimer (which includes options for timing breaks), or a time tracker like FocusALot, which breaks down the time you spend on various sites or tasks.

4. Dual screens

Having two screens can make coding easier (and more instantaneously rewarding). For building sites/apps, you can write code in one screen and see the results on the other. This will inevitably save you time from switching tabs and applications.

There are several ways to set this up. You can go with two monitors, or a laptop plus a monitor. You can even set up your laptop plus iPad with the Duet app.

See if you can do it with the equipment you already have.

The Software

5. Distraction blockers

The Internet can be a black hole of endless distraction, and your wandering cursor can be your own worst enemy.

Fortunately, you’re not alone, and there are lots of programs to stop yourself from sabotaging yourself:StayFocusd for Chrome, the Hey Focus Mac app, Anti-Social for Windows and Macs, and more.

6. StackOverflow/Google

When you’re coding, or doing anything online for that matter, the ability to look up things up is important. If you hit roadblocks, the Internet enables you to find solutions instead of struggling through it or giving up.

Google can be useful, of course, but also make a habit of going to industry-specific communities likeStackOverflow, where you can ask and answer questions.

Alternatively, you can also get on-demand 1:1 help from expert developers at Codementor

7. IDEs

Integrated development environments allow you to develop software in a single application, plus they often come with a variety of other features that can make you a more efficient programmer.

Jetbrains is a manufacturer of many popular ones like:

  1. WebStorm (JavaScript IDE)
  2. PyCharm (Python IDE)
  3. PhpStorm (Python IDE)

There are more out there, so shop around. IDEs can vary in price, but all have helpful features like integrated compiling, error checking, integrated debugging, syntax coloring, and more.

8. Task runners

These programs can help you set up an efficient workflow and environment.

Two popular task runners are Grunt and Gulp. Grunt and/or Gulp can help with common tasks like:

  1. Concatenating/minifying files
  2. Compiling Sass/Less
  3. Linting JavaScript
  4. And more

9. Git (version control)

Git is an open-source version control software that allows you to keep track of the changes you make to a project over time. This is especially useful when there’s more than one person working on a project, or when you’re experimenting with something new and want to be sure you can backtrack if necessary.

For group projects, the system tracks which changes are made by which developer.

While Git can be run locally, GitHub is a remote server that provides resources for managing your project and participating in a community of developers.

Beyond Github, there’s also Bitbucket, a similar version control system that uses Git.

10. Dropbox/Evernote/Google Drive

Having a non-physical place to store things protects you from crashes and keeps your data accessible at all times.

The main cloud-based storage platforms are related, but have different purposes:

  1. Dropbox — simplifies file storage, easy to share files and folders with others
  2. Evernote — like an online notebook/scrapbook. You can clip things from online, and share them with others.
  3. Google Drive — docs, sheets, presentations, forms. Collaborate with others or use as storage for yourself.

Tools like these can used for anything — not just code-related projects.

11. Asana/Trello

Use a project management system to stay organized, especially if you’re planning a larger project or working with others.

Two popular project management systems are Asana and Trello. Both come with similar functionalities. However, there are many others out there. Experiment and see which best suits your needs.

12. Lastpass or related

Good luck getting stuff done if you can’t remember your passwords (or use easy ones and risk them getting stolen).

Like many of these tools, there are several that can get the job done. A few popular ones include:

The Tried and True

13. To-do list

It may seem easy, but you’d be surprised how many people skip it. To keep track of what you need to do…write it down!

A hard-copy notebook or calendar is one option, but you could also use a program like Todoist. I useGoogle Keep (which I can access on my laptop, Android phone, and even smartwatch).

14. Pen and paper

Sometimes stepping away from the computer can help you gain clarity over a problem (or just give your eyes a break from the screen).

For instance, sketching out a wireframe by hand can help you visualize the layout of your website/app without going through all the actual work of mapping it out on a computer.

15. An established routine

If your brain knows that 7–8 p.m. every day is “coding hour,” it’ll be easier to form the habit of sitting down every day and getting to work.

Routines eliminate excuses: there’s no “just one more episode” or “just ten more minutes,” because 7 p.m. is 7 p.m.

Forming habits takes time, so be hard on yourself (or find an accountability buddy or mentor) as you power through the first couple weeks or months. Pretty soon you’ll have yourself trained and start seeing significant progress!

16. Coffee

There is no denying the forces of a cup of joe. You don’t necessarily have to channel your inner college student and guzzle an entire pot, but on days when you’re feeling tired or listless, there’s nothing wrong with a little caffeine to perk you up.


Ultimately, your success depends on you. Tools are just that — tools — and while many of them are great, it’s up to you use them wisely. Self-discipline will always be the most powerful piece of equipment in your arsenal.

About the Author

Laurence Bradford is the creator of learntocodewith.me, a blog for self-taught coders. When she’s not building websites, she’s writing about building websites. You can find Laurence on Twitter, too.