Obsidian use case for software developers

Table of Contents

About

Obsidian is a local first note taking app that uses markdown files to allow users to take notes. Even though Obsidian is very simple at its core, but it’s rather powerful in the way that it can be used, especially considering the great support that the Obsidian team offers for the community to create plug-ins.

This post will go over the different functionalities that Obsidian has and how it can be used in a software developer settings or used by project managers to manage projects on a personal level.

Obsidian Functionalities

Obsidian has many features when you include the countless community plug-ins that exist, but this post will only be covering those that best facilitate productivity within a software development setting.

Linking Notes

One of the core functionalities that Obsidian has is that it allows its user’s to link notes together. An example to demonstrate this is to think of how a wiki functions.

If we were to create a wiki on programming languages we would first create a page on what a programming language is, then within that document we can give an example of a programming language, in this case C++, and create a separate page for the C++ language where we would talk more in depth about C++ and its functionalities and when C++ is mentioned in the previous note we would create a link to the C++ note.

In Obsidian, a link would be created between the “Programming Languages” page and the “C++” page. This linking will then be used to create a graph. This graph shows the linkage between all the notes in the Obsidian environment.

Tags

Similar to Links, in Obsidian tags are another method of creating connection between notes in Obsidian. The graph view will show the tags that are related to a note. a tag is created by adding ‘#’ before a word in the note.

If we were to continue the previous example, we can say that in the C++ page we would like to add a section about the different functionalities that C++ has. In this section we do not wish to give more details about these functionalities, but we still want to see the relation between C++ and other languages that share these functionalities. In this case, we would create a tag with said functionality.

Graph View

Graph view is where all the above-mentioned functionalities come into fruition. The graph view shows the all the connections that exists between notes and tags.

A mock graph view can be viewed here, the green nodes represent tags while the white nodes represent notes:

Plug-Ins

the plug-ins in the Obsidian system are divided into core plug-ins and community plug-ins. This section will focus on the core plug-ins, while the next will focus on community plug-ins

Daily Notes

Daily notes is a plug-in which allows you to create a new note for every day. This note can be created using a template.

Templates

a template is simple, a note with headings/structure that can be inserted into other notes. Templates can be used for various things from design proposals to documentation.

Community Plug-Ins

Templeter

Templeter is community plug-in with much more advance functionality than the core template plug-in. This plug-in gives the ability for generating a much more customized template.

Dataview

Dataview is a powerful plug-in which enables us to fetch data from all the notes in the obsidian system and present it in various forms such as a table or a list

Kanban

Kanban is a simple plug-in that allows the user to create a Kanban board in obsidian. This can be used for person or project management tasks

Tasks

the Tasks plug-in allows you to create due dates and other functionalities such as adding a priority.

Use Case for Software Developers

In this section we will cover how all the above-mentioned functionalities and plug-ins can be utilized by a software developer to increase their productivity and help them with different aspects of software developer workflow such as change management.

Documentation

One essential use case for Obsidian within the Software development field is keepoing documentations.

Markdown Built-In

one benefit of Obsidian is that the notes are stored in Markdown format. This means that sharing them, posting them to the repositories as README or other uses of these files becomes extremely easy.

and more importantly you are not locked down into only using the Obsidian application with your notes. meaning that the documentations that you create using Obsidian are not locked in the Obsidian eco-system.

Component Dependency

By using the document linking, Tags, and graph view. You will have a complete overview of all the functionalities within your system and the dependencies that they may have. This enables a software developer to have a clear view of points of impact when the issue of change management is brought up.

Example: a documentation is created for functionA. In this document a tag is used to mention the technologies used in this implementation, in addition other areas of software such as the different components that make use of this functionality can be linked in this note.

If later on, a change was needed to be made to a specific technology used, the developer can utilize the graph view to have an overview of the implementations that use said technology and look into the impact in that area.

Export to PDF

An amazing feature that exists is the ability to export any note into PDF, this enables easy sharing of documentations with other team members or external stakeholders

Design Proposals

with using the template functionality, a template can be created for design proposals that a development team needs to present before an implementation begins. With this, you will have the ability to keep track of all the proposals made by a team and also the dependencies that those implementations might have.

Kanban Board

The Kanban board when combined with other parts of Obsidian allows the developer to have all the needed infomration in one place.

Task Change Management

Using the Kanban board you can have a sperate note for every task where in this note things such as Progress, Changes requested, Todos, and related meetings can be recorded.

Task Dependency

Similar to other notes, the notes for the Kanban tasks can mention and talk about the different dependencies that it has. Hand in hand with the graph view this enables us to see the point of impact for each task.

Daily Notes

As a software developer, the daily notes can be used to keep track of so many aspects of day to day work

Meetings Notes

In the daily notes section, you can link all the meetings notes that have happened in the same day. In this way, you can have an overview of all the meetings that have happened through-out the year.

And using the graph view you are able to see the meeting notes, other projects/topics they are connected to as well. With this, you can have an interconnectivity between meetings, the projects, and topics that they are about.

Daily Log

Daily logs can be used to keep track of specific information that cannot be stored in other sections mentioned here.

Tasks Due

the Data view, Tasks, and Templater plug-in can be used hand in hand to keep track of tasks scheduled for that specific day, including tasks that are over-due. With this, you are able to keep track of different tasks spread across the projects.

Ending Notes

Obsidian when combined with its core and community plug-ins creates a tool which can be utilized by a software developer to not only increase their productivity but also give a sense of structure and order to their workflow.

The graph view by itself is of utter importance for software developers. When implemented correctly it allows a clear map of dependencies that exist in a software environment and enables a better decision making when change management is involved.

Even though other tools do exist for these kind of use-cases, the beauty I find in Obsidian is its flexibility and the ability to have everything you need in one place instead of having it be scattered around. One environment is all that is needed for your meetings notes, documentation, task management, and other points involved in the software development work that might not have been mentioned here.

this post covers only a few plug-ins and functionates that is utilized by me in my day to day work as a software developer but the possibilities are endless when you consider the number of different plug-ins that exist and all the other use cases that they can be applied to. The beauty of Obsidian is that it can be easily molded into what the user requires of it.

IMPORTANT NOTE: Obsidian is free for personal use, but for commercial or work-related work you require to purchase a commercial license. More info can be found here: https://obsidian.md/license

Related Posts

Balancing task delivery and team growth is key for a team leader. This blog posts discussed approaches to builds confidence and problem-solving skills while not jeopardizing project deadlines.

Read More

AI isn’t replacing developers, it’s empowering them. Explore practical ways Large Language Models (LLMs) can boost your software development productivity, from generating data and code to assisting with testing and problem-solving. See real examples and prompts I use daily.

Read More

Quitting smoking wasn’t just about breaking a habit—it was about learning the true meaning of determination. In this post, I share my journey, the battles fought within, and how these lessons in resilience can apply far beyond addiction, even to challenges in our careers and lives.

Read More