A personal challenge
June 15, 2021
Oitee is convinced that he can learn Computer Science basics as a part-time activity. I decided to help him with this endeavour. Being from a non-technical background, his knowledge of Computer Science is limited to high school HelloWorlds. It is both a huge responsibility and honour for me to be part of his journey. My paramount goal is to ensure the gets a good enough guidance to venture into this field. The weight of being able to show the right path is heavy, but it is worth trying.
Here’s what I have in mind (it is probably going to change). I have created the following broad headings of what I think are the most useful areas to spend time on.
- CS fundamentals
- Computer Architecture
- Networking
- Operating Systems
- Databases
- Basics of a compiler
- Programming
- Javascript basics from FreeCodeCamp
- Data structures
- Algorithms
- Problem solving (something like Leetcode)
- Functional languages / OOP
- Tooling workflows
- Linux CLI
- Git
- Visual Studio Code
- Web Development (after 1)
- Server / Client
- Web scale, components, technologies
I pondered a lot on which language and IDE to suggest for him to learn. Eventually I concluded that Javascript and VS Code seem to be the most ubiquitous combination there is for web development. Lambda School also seems to be favouring Javascript.
The list above is biased on what I think I am good enough to guide with. Much to the same reason, there is no mention of machine learning or frontend technologies like CSS, although a bit of that might be necessary.
At the end of six months from now, based on the progress, my objective is for him to be ready for applying to coding bootcamps like Recurse Centre. If not that, then with some more work, a candidate for applying to junior engineering positions, like I did back in 2015 – only better than what I was back then.
In an effort to prove to myself that I could take on this long and ardous (and eventually rewarding) journey, I hope to publish regular posts here about the progress I am making as a guide, so stay tuned and if you’re reading this, wish me luck!