2 years of self-learning

Just a few markers, before my memory is corrupted by new experiences.

  • I started programming from scratch in August 2022. The very first steps were with Scratch (a tool mainly for children developed by MIT), and then C.

  • The jump from Scratch to C was huge. C is a compiled language, and with the School 42 curriculum a lot of hard work was required to make even the simplest thing (e.g. reversing a string) can happen.

  • The frustrations built up and I took a brief pause. After looking at more “practical” materials, I decided to turn to web programming.

  • After C, getting started with HTML, CSS and JS are much more satisfying. You need not install anything: the browser is all you need to get started.

  • For around 6 months, I tinkered with that, making my own simple website and React web apps.

  • This had the benefit of putting me in sync with a lot of people in “mainstream” tech jobs: there is nothing like being able to share what you have done by way of a website deployed for free.

  • For about a month, I have been involved in two Next.js projects (something built on top of React) in collaboration with programmers with more than a decade of commercial experience.

  • I now feel I understand why some old warhorses complain about framework churn and having to learn new things all the time. The reason is not that seniority is unimportant or that experience doesn’t translate.

  • Instead, it is because coding (esp. at a professional level) involves getting all the nitty-gritty right. And it is frustrating when the nitty-gritty keeps changing and one needs to learn new, low-level changes that do not really add to the substantial task at hand.

  • I also now understand why mastering a technical skill is only a matter of (focused) time. The analytically separate question is how one wishes to use those technical skills for a certain specific purpose, and what one wishes (and can reasonably expect) to get out of it.

  • That is a mix of question of planning and luck, where there is no technical solution. In that respect, coding is just like any other hobby/profession/business.