Concepts around building software

Ever since I discovered Foam, I was waiting an opportunity to try it out. It’s a personal knowledge management and sharing system inspired by Roam Research, built on Visual Studio Code and GitHub. It fits nicely into my development workflow, so that’s a plus.

Over the weekend, I attempted to build a personal workspace on Foam. Currently I’m using Notion.so for my notes, journals and personal information. The Graph Visualisation in Foam (screenshot below) is the main feature I wanted to explore.

Originally, I attempted to reproduce what I have on Notion but soon realised there really isn’t much links between my information there. Then I decided to document my recent learnings from work around cloud computing, infrastructure and data architecture.

LINKING CONCEPTS

Graph Visualisation for all the concepts

As I started to link notes between various concepts, I realised there are many more in software development in general. What started from just cloud computing and data architecture, ends up covering software architecture, development, engineering, product development and even machine learning.

These concepts are by no means the only one that matters. It’s mostly from my own experience and I’m sure there are a lot more out there to be discovered. But this is a good starting point to see how things are inter-related and realised software development is actually quite complicated.

Publish and Share

Since Foam uses GitHub as storage, it takes almost no effort to publish the workspace on GitHub Pages. Combined with the awesome Just the Doc theme, the whole project looks really great online.

Published Foam Workspace on GitHub Pages

I’ve also started to share this with my team and got lots of great feedback on what concepts I missed and how to use it in general. It can serve as a guide for their career growth in their respective areas.

If you are a software engineer or interested in some of these topics, check out the site at https://tslim.github.io/concepts. You are also welcomed to contribute more notes and concepts at the repo.