Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
153 lines (100 sloc) 8.33 KB

Software Engineering Notebook (Albert Mata)

When you have been working with different technologies and programming languages for some years, it is easy to end up with lots of files, notes, snippets, gists, repos, bookmarks... many little pieces of useful information here and there. This Software Engineering Notebook is my attempt to keep all of them organized using an extremely simple system based on Markdown and Git.

51 notes so far. Last added: Programming principles (SOLID)




















About me

I am Albert, a Catalan software developer currently living in Barcelona. I started a business career after getting a Bachelor's in Business Science (2002). But soon after I became interested in software development, specifically in business-related applications, and started working as a programmer and went back to college. In 2008 I earned a Master's in SAP R/3 ERP Consulting and some time later, in 2012, a second Bachelor's in Computer Science. It's been a long journey full of interesting experiences... and it keeps going, as at this moment I am in the process of getting a second Master's in Bioinformatics and Biostatistics (probably in 2019).

I love running, teaching, watching TV series, listening to podcasts, Apple devices and, of course, developing software. I have solid skills on database design, object-oriented programming, project management and UI and UX design.

How to create a notebook like this

For the last fifteen years or so I have used several blogging solutions: Blogger, WordPress, Octopress, Jekyll, Blogdown and even custom sites manually crafted using ASP (back in 2003), PHP (some years later), plain static HTML files (at different times)... None of those were what I really wanted to use, as I have always been looking for a system with these characteristics:

  • It has to be extremely easy to use. When I am to add some content I do not want to run any command or use any template and follow some rigid rules. This way, if I stay away from my notebook for some time, I still will remember how to add some content when I get back.
  • It has to be magic-free. If I have to install gems, dependency managers, clone some repository, go find where to add my content, run more commands... I will simply get bored and stop keeping my notebook up to date.
  • It has to use a really basic technology stack, so that I do not feel I am even running any software but just creating files the same way I would do otherwise. Markdown and (basic) Git seem like a reasonable choice.

So I decided to create this system myself. I call it BlogGit, as it kind of resembles a blogging system and is totally based on Git. Feel free to use it to create your own notebook.


Everything in this repository is licensed under the MIT license. See LICENSE for further details.