My Productivity Tools as a Software Engineer
Tags: productivity, tools, knowledge, organization
Published: 2020-05-17 19:10:12


Staying organized is hard. As a software engineer, writing code is probably 1/4th of the battle. You have to  stay on top of your knowledge for long-term storage. You need to keep a Dev journal to record your insights. You need an interstitial journal to reflect and switch contexts mindfully.  You need a way to securely and privately track your time spent on projects and to track future-events and meetings.

This is why I delegate my second brain (long-term) into different apps that handle one and only thing.

These are the tools I use to manage my projects and my life.  They are mostly found in the Apple ecosystem, but alternatives are listed below.

# Bear: for knowledge-base
* [Private Markdown Notes for iPhone, iPad and Mac | Bear App](https://bear.app/)
- For [permanent notes](https://www.lesswrong.com/posts/T382CLwAjsy3fmecf/how-to-take-smart-notes-ahrens-2017#Permanent_notes) (zetels) and [trees](https://www.mentalnodes.com/a-gardening-guide-for-your-mind) (mind garden)
-  For [literature notes](https://www.lesswrong.com/posts/T382CLwAjsy3fmecf/how-to-take-smart-notes-ahrens-2017#Literature_notes) and reference notes as well 
- For long-term knowledge
- Good for code-snippets, syntax highlighting is available
- **Premium is required for Mac OS and iOS sync**
- Alternative: [Joplin - an open source note taking and to-do application with synchronisation capabilities](https://joplinapp.org/)

# Agenda: date-focused working notes with a project context

* [Agenda - Date-focused Note Taking.](https://agenda.com/)
* For notes that do have a project context
	* some notes you took on a project or meeting
* Assign notes that are “On The Agenda” for focus
* This is great if you keep a [dev journal](https://opensource.com/article/19/4/what-developer-journal) or an [interstitial journal](https://medium.com/better-humans/replace-your-to-do-list-with-interstitial-journaling-to-increase-productivity-4e43109d15ef)
* Alternative: [Joplin - an open source note taking and to-do application with synchronisation capabilities](https://joplinapp.org/)

# Trello: project and life management 
* [Trello](https://trello.com/)
* A *kanban* (signboard, in Japanese)
* Visualize work
* Limiting work in progress
* Follow [Personal Kanban](https://www.amazon.ca/Personal-Kanban-Mapping-Work-Navigating/dp/1453802266) for how to manage life
* Follow [Agile](https://www.atlassian.com/agile/kanban) methodology to manage projects 

# Standard Notes: secure raw notes
* [Standard Notes | A Simple And Private Notes App](https://standardnotes.org/)
* For secure cross-platform (iOS, Android, Web) notes
* These are good for ephemeral, raw notes without a project context
* Also works as a small password manager
* Alternative: [Joplin - an open source note taking and to-do application with synchronisation capabilities](https://joplinapp.org/)

> Note: Yes Joplin can replace Standard Notes, Agenda, and Bear.

# Apple Calendar: appointments and time-blocked events
* Speaks for itself. 
* Alternative: Google Calendar

# Apple Reminders: one-time and recurring reminders
* For recurring reminders (“Take Out Recycling for collection”, “Wash bedsheets”) 
* Also good for one-off reminders
* Integrates with Agenda
* Alternative: Google Tasks 

# Timewarrior: time-tracking
* [Timewarrior - Done yet?](https://timewarrior.net/)
* To keep track of the time spent on a project or activity
* Cons: command-line only
* Still looking for a simple, cross platform solution (Web, Desktop, Mobile)
* Alternative for Mobile: [GitHub - hamaluik/timecop: A time tracking app that respects your privacy and the gets the job done without being fancy.](https://github.com/hamaluik/timecop)