Blogging Style and Roadmap

The first port mentioned about the focus of this site – to help beginners navigate the complex software development landscape. But it is just the general direction, both ambitious and ambiguous. To better clarify for myself, I am going to write down the sketch of the approach in my mind currently, which will certainly be adjusted gradually.

How do I get started? Well, it is late 2024, and we are likely at the beginning stage of the almighty AI era. People can have different ideas about AI, whatever the definition is, but most will agree it will drastically impact our human society as well as the physical world around us. What people do not necessarily agree is the ways the impact will manifest, at which scale, in what time frame.

Indeed, one of the commonly raised questions everywhere is like "Is it a good idea to learn programming now; it seems AI can do a decent job already and can do much better pretty soon?" I get asked all the time, I think about it all the time, and I ask others all the time. If I have any conclusion, it will just be one of the common reasonings and not that refreshing. But now I am in a somewhat difficult position – how can I (claim to) help beginners navigate the complex software development world, if I am not sure which direction software development, and the world surround it, will progress in the future?

Unfortunately I cannot give a clear answer, and have to mitigate by adjusting my goal and lowering the expectation – I'd like to document what I have experiences with, what I am not familiar with and want to explore, and how I am using it in experiments and projects, using the known or emerging technologies at this particular point in time. Maybe if I persist for enough years, the results can serve as some useful "testimony" at the time AI does rewrite the software development ecosystem upside down and inside out.

Like many blog sites out there, my journey will be zigzag-like and circle back and forth depending on my daily encounters. Gradually, laxer materials will stay here, somewhat more"formal" materials will be factored out to other websites. There will be some "agenda" materials here too to promote myself, but I'll keep them minimal – I am not into social media and the like. I am not tracking guest visitors too so GDPR does not apply for me.

Lastly, to do experiments on many technologies and tools, and to build and grow my own set of tools and services along the way, I am into self-hosting more and more these days, to the extent that I'd like to make self-hosting and "controlling your own data" as the accompanying theme of this blog site. I will spend time on how to setup open source tools in a private environment, not only for personal use but also for small business to function.

The Roadmap

I'd like to lay down a rough roadmap about what I plan to cover. There is no timeline though:

  • Learning programming – for new comers
    • Plans to get started quickly
    • Python, C++, Java, JavaScript
    • Web development basics
    • Competitive programming
  • Learning technologies and tools – for beginners
    • Development tools
    • Backend
    • Frontend
    • Databases
    • Infrastructure
  • Computer science and software engineering
    • General principles and OOP
    • Algorithms and data structure
  • Machine learning and AI
    • LLM
    • Reinforced learning

The Exploration

My goal is not to produce complete course materials. Many websites do that quite thoroughly. I am more into learning new things, and bringing in existing ones when needed. So my "diary" of exploration will contain

  • Building something interesting and useful during the journey, from experimenting to long-term deployment.
  • Building new or assembling existing apps and services locally or on VPSs. This is also for my goal to pursue the possibility of controlling own data and other assets.
  • Different topics, old or new, back and forth, with many leads advance concurrently, reflecting the work in progress or what I encounter along the way

In most cases, for a topic I am investigating, I will jump to the core deal quickly, with assumptions and prerequisites stated roughly, but I will try to produce something that works to ease analysis. I have no time preparing all sorted-out materials, and hope that by presenting something working, people who are interested and inspired enough can proceed with less burden.