Become a more productive developer!

First image from DuckDuckGo for query - productivity

The amount of time you spend with your family or alone with yourself depends on how much time you spend on work. I spend as little time as possible for that. Try to make my day as productive as possible so as not to waste a minute.

Don’t spare money for the time when you will earn more money.

First of all I’m a family man. Secondary, I am a software developer, cyber security engineer and also a teacher on every Monday and Friday. So obviously I need to manage my time slots very thoroughly.

So let’s understand what we have got out of the box.

  1. More than one communication source.
  2. Huge list of events and tasks.
  3. A lot of logins/passwords and cards.
  4. A lot of notes.
  5. A lot of code samples.
  6. Work with multiple windows.
  7. Making screenshots.
  8. Forgetting have a rest.

So lets go through this list step by step.

Work with emails

First of all, I have “personal email” for the general communications and registrations and a “trash email” to use 0Auth on unnecessary/temporary sites, etc. Also I have 3 additional inboxes from my job.

How to manage inboxes?

  1. Google Accounts (G Suite). In that point you must open at least 4 tabs (in my case) in the browser to get all notifications.
  2. Checker Plus for Gmail (Google Chrome only). The best extension which I’ve found for using multiple inboxes.
  3. Outlook (all platforms). Mostly for Microsoft users.
  4. Spark (all platforms). My choice. This desktop application have a lot of integrations, features and also include calendar (consider in the next section).

Examples:

Use Gmail with Google
Checker Plus for Gmail (Google Chrome extension)
Spark inbox

Events management

We can’t remember all, so obviously you need to use calendar. Which one to use?

So, basically, the main part of people use Google Calendar for different invites with Hangouts, etc so you need to be ready with this. I use Google calendar for all my events. But how manage greater than 1 or 2 Google calendars?

  1. Google Accounts (the same as in the previous section).
  2. Built-in calendar. Use if it is enough...
  3. OneCalendar (all platforms). Integration with many Calendars.
  4. Spark (from the previous section). My choice. It also has a Calendar and you don’t need to install additional tool for that. It fetches calendar data from your accounts which are connected. Smart inboxes feature is out of the box.
Spark calendar

Tasks management

You need to manage your tasks and see on your progress. I suggest to use Agile tools for project management and also simple ToDo lists as additional for personal usage.

  1. Trello (all platforms). Cards oriented platform to work with Agile processes.
  2. Jira (all platforms). The same with Trello. Created by Atlassian, so have integrations with Bitbucket and also with other services. Paid for big teams. Can be installed manually.
  3. Teamwork. Has a little bit more integrations than Jira.
  4. Microsoft TODO (all platforms). Previously Wunderlist. It also provides tasks sharing between people.
  5. Reminders (MacOS). My choice. Out of the box MacOS tasks manager.

Probably you may store your tasks in Notion but I think that each program should do what it can best.

Microsoft ToDo

Confidential data storage

If you have more than 2 logins and passwords probably you need to have passwords manager.

  1. KeePass2 (Windows, Linux). Use .kdbx files to encrypt and store your data.
  2. MacPass (MacOS). Same with KeePass
  3. 1Password (all platforms, paid). My choice. The best app for saving your passwords, cards, notes, app licenses and a lot of more. Provides family sharing.

KeePass and MacPass use local files for saving passwords. You can use them with Dropbox to maintain relevance between devices.

Notes are necessary

I use notes for everything in my life. It is better to do something once and create a guide to yourself, so as not to waste time for this.

  1. Google Keep (all platforms). Minimum functionality for me.
  2. Evernote (all platforms). Amazing tool and also in free version. You can categorize notes with: notebooks and tags. Provides templates. Sharing.
  3. GitBook (only web version). You can separate your data with “spaces”. 10 spaces in free versions. Really good design. Sharing.
  4. Notion (all platforms). My choice (I migrated to it from Evernote and GitBook). Has huge functionality in free version. Separate data with pages. No limitations. Provides a lot of templates. Sharing. PDF export in free version.
“Notion” overview

Documentations and Code Samples

If you are not a beginner developer, it is obvious that you have many examples of the code that you will be reused. You can save them in any application for notes or use favorite IDE/editor to create code snippets. But you need to recreate all snippets after reinstallation.

Also, I always look for everything in the documentation.

  1. Devdocs (online only).
  2. Dash (MacOS). My choice.

What Dash gives to you:

  1. Offline access to 200+ API documentation sets.
  2. Fast search engine (full text search).
  3. Code snippets creation.
  4. Content table on the left for comfortable navigation.
  5. Comments, bookmarks.
  6. Preferences and snippets synchronization.
  7. Creating custom documentation sets and contributing them to the Dash.
  8. Amazing integration plugins for all IDEs/editors.

Examples:

List of downloaded docs
Python “itertools module” search result
Dash snippets creation

Automate your work with Alfred

Alfred (MacOS only). My choice. It is an application which boosts your efficiency with hotkeys, keywords, text expansion and more.

Alfred has free and paid versions. You can use a free version as a better version of built-in “Spotlight”, but I suggest using the paid version of Alfred because it has very useful features and integrations.

  1. Better search engine. Search inside files.
  2. Clipboard history (history of all file types in clipboard history).
  3. Snippets (for creating global text snippets).
  4. Workflows (automate any process on your computer).
  5. Integration with 1Password.

Clipboard history

Alfred clipboard history configuration

Snippets

Use global snippets for frequently used text.

My snippets list

Workflows

  1. Using Alfred snippets as a code snippets are not enough because it doesn’t provide placeholders. You can use Dash code snippets and its Alfred integration to quickly find code snippets from Dash with Alfred.
  2. Use it open all necessary apps on day start.
  3. Launch your development environment, etc.

Examples:

Dash settings. Integration with Alfred
Use Dash snippets with Alfred. Created in Dash section of this post
Auto paste after complete placeholders and hit Enter
Launch all morning apps/sites for example

Work with multiple windows

I hate the way MacOS works with multiple windows. You need to use your mouse to resize the window, for example to a half. Or you need to use full-screen mode to have better resizing tool. For example this like tool is built in the Windows.

Start using Spectacle to improve your productivity!

I make more than 100 screenshots every day

MacOS built-in screenshot tool is disgusting. You can’t draw on it without pre-saving. For example Windows can.

  1. Lightshot (all platforms). The most popular tool for customizable screenshots.
  2. Teampaper Snap (MacOS). My choice. It is not better than Lightshot, but it is enough in free version and it’svery simple.
Teampaper usage

Have a little rest

I always forget to have I rest. I can be in work for 5 hours without any breaks.

Stretchly is an amazing multi-platform break time reminder app. You can configure it to disable your monitor every 1 hour for 10 mins for example (my choice).

Software developer. Cyber security specialist.