overview: why to learn, background(my past and current situation) future aspiration what to learn,

how to learn

misc:

motivation: curiosity, career, better projects, not feeling dumb, or feel like there’s a prerequiste to stuff and not going deep

path: computer architecture, computer operating system, computer networks, distributed systems

learning philosophy: write notes, anki cards, explain stuff, add tldr.

outcome: complete understanding of computers and be able to stick to this model when a new thing comes for learning.

Background:

I have been a software developer since 2018, I started my career with an internship in Angular2. Then slowly I moved to the backend side of thing, first exploring a bit of backend along side with frontend and later shifted full time to backed in golang.

As I was working I always felt like there’ s a big gap of knowledge and I always wanted to bridge that. I find people understand new technologies better because of the CS knowledge, even new grads were getting better because of making these connection back to the CS knowledge.

but was scared with the huge task that was in front of me.

One time I even left a job thinking I will self study and fill all those gaps and then reenter the workspace with a new confidence after such hardwork under the belt. tldr, I couldn’t keep the composure and give in to the pressure that was building, a man without job is not valuable.

I thought I will learn the CS fundamentals on the job, but I have always problems with discipline and focus.

So, I am still a software developer with little to no knowledge of the underlying system. so this time, I have again mustered up some courage and will try to make this long awaited task from my checklist.

As a software developer, I never focused too much on understanding the internals of computer or how a program actually works. I dealt with abstraction over that stuff for a long time.

I feel because of the difficulty i am facing to subside my curiosity or because this stuff i can’t ignore for long, I decided to give it a go. I decided to understand and make a mental model on the underlying concepts of computer.

I never got a formal education in this field, being a self taught programmer,