Keep calm and code on: Productivity tools for developers

Productivity turns into a vague concept when speaking of jobs in the technology environment. Programming is one of the areas where productivity is really hard to measure and manage: a developer’s productivity cannot be measured in trivial figures like lines of code. There are various opinions about how to handle it and many management approaches, but in any case, adopting special productivity tools for developers is a great way to improve team’s results. Alongside with the apps designed specifically for developers, general productivity tools that work for everyone can also be helpful for software development teams.

Work management and focusing tools

Let’s start with general productivity tools that help organize the work process regardless of the type of activity you’re engaged in. Keeping track of time, controlling workflow progress, and blocking workplace distractions is important for everyone when you need to get things done.

1. actiTIME
This tool is designed for keeping control over individual and team’s time expenses, but it also a good work management instrument. It is used both by companies and freelancers for recording time spent on work tasks, controlling project progress, analyzing performance and profitability, etc. With its rich reporting functionality, managers can always get a detailed picture of their team’s productivity and individual results, compare actual results with initial estimates, and better plan work for future. For regular employees, the tool offers a detailed overview of their work time structure, and a possibility to control their work time expenses and productivity.

2. Cold Turkey
A popular distraction-blocking app that helps you focus on your work, not on everything funny and attractive on your desktop or on the Internet. Set it up to block your access to specific websites, or to the entire Internet, or to any applications on your computer to create a distraction-free environment. The app helps develop self-control habits and get more done in less time.

3. Strict Workflow
Experts say that 25-minute focusing sprints with 5-minute breaks are an efficient way to increase productivity. Strict Workflow is a Chrome extension that implements this idea: set up and start the timer, and follow its work-and-break cycles. Or, alternatively, you can use the traditional pomodoro technique with a kitchen timer to develop concentration and build up productivity habits.

4. Habitica
If you enjoy playing RPG, why not gamify your work too? Habitica is one of the most popular productivity apps that motivates you with RPG-like rewards and punishments. The app turns your tasks into monsters that you need to defeat. The more you get done, the more you progress in the game (and you can customize your avatar, prizes and punishments). And if you find it boring or disappointing to play alone, there’s a social network feature: compete with friends who are also working on their productivity, fight bosses that can hurt your teammates, and tackle challenges with special prizes.

Special productivity tools for software development

There is another category of tools that can help developers get more productive at the workplace. Special tools that create a more comfortable work environment and speed up routine processes can be of help even for those who are not facing productivity issues.

1. Oh My Zsh
Oh M Zsh is an open-source framework for managing a Zsh configuration that comes with lots of useful functions. It is designed for developers working with the command line. When creating the tool, the developer focused on keeping it simple for people who are new to the command-line environment, but those who need advanced functions can choose among various plugins, helpers, themes etc. As for now, there are more than 200 plugins for different technologies, and over 1000 contributors keep working on the project.

2. The Silver Searcher
The Silver Searcher is a code searching tool. Its author explains that a lot of time he spent on “writing” code was actually reading the code and searching through it. So he needed a tool that would search quickly and relevantly, and he built it. Now The Silver Searcher is ranked among the most efficient productivity tools for developers, as it saves a lot of time and effort.

3. UltraEdit
UltraEdit is a text editor that is often used for editing code and markup in virtually any markup or programming language. It can handle large files (up to 4 GB) and allows to configure the work environment according to the user’s preferences. Besides syntax highlighting for unlimited number of languages and other visual features, it supports FTP, provides a SSH/telnet console, and allows logical grouping and ordering of files and folders, which is convenient when working on n large projects.

4. Homebrew
Homebrew is “the missing package manager for MacOS”, as the authors call it. Its purpose is quick installation of freely usable open source tools from binary packages. Its lead maintainer, Mike McQuaid, says that it is particularly useful for developers, as it offers the quickest and easiest way to find and install commonly used developer tools, or to create your own Homebrew packages.

5. GitHub Changelog Generator
As the name of this tool suggests, it offers automated creation of change logs for projects you’re working on. It generates change logs by tags, issues and pull requests in developers’ tools. This way, you can spend less time on describing important changes you made to your project, and focus on developing tasks.

Let me add Vitamin R-2--very nice productivity enhancer that fills in gaps where GTD and other systems leave off. It's a terrifically flexible tool that can implement the Pomodoro technique as well as just about any other time-block based system. See publicspace.net/Vitamin-R/

Magnet: Linux desktop managers have magnetic corners and auto resizing, but macOS lacks this feature. To enable, use Magnet. Organize your windows pretty neatly and fit many stuff into a single desktop. Work dense.