About this Blog

November 06, 2022

This blog contains information I wish I had earlier-on while becoming a self-taught Software Engineer. The term self-taught is a dubious one because you're always learning from others, even if it's not from a traditional institution. A computer science degree (or similar) obviously has tremendous value, but it's sometimes not feasible to invest that time or money. The tremendous breadth and depth of resources on the internet on the broad topic of computer science is slowly making it a common skill like basic math. Over time, more peoples' work roles will naturally shift towards being connected to software in one way or another, requiring everyone to increase their software-related technical productive output. Hardware and robotics will continue its upward trend as well, but any new breakthrough in hardware often results in orders of magnitude more opportunities in software. A great example of this is the huge number of software development opportunities created by the iPhone. Web 2.0 and Social Media only took off after its release. This doesn't mean the relationship is one-way from hardware to software -- it's actually symbiotic, because Social Media helped drive the growth of mobile hardware. Another example of this natural exponential branching of software opportunities from milestones in hardware is the advent of cloud computing (pioneered by AWS) that modeled web components as primitives which can be assembled like puzzle pieces. Although one could argue this latter example is a mixture of hardware and software at a lower level.

There are plenty of ways to learn to code. Deciding which path to take can be daunting with a high chance of taking a suboptimal path to your goal. Heck, even deciding what your goal is can be tough. Crowded landscapes need a birds-eye view.

This is just a blog right now, but it is the foundation for something more. Here's a very brief overview of the roadmap:

Phase 0 (Completed)

  • Current phase where blog posts are written manually. This phase will continue until 100 blog posts are reached (~2025 complete in 2024).
  • 2 blog posts per month in 2023.
  • Images will also be added to the blog index page for each blog post, wrapping up the short-term UI updates.
  • NEW: Various foundational upgrades to maintain excellent website performance despite the addition of new features in Phases 0.5, 1, and beyond.

Phase 0.5 (Current phase - release in 2025)

  • AI will be used in the form of language transformers to write another ~300 blog posts trained from the +100 that were written manually (this 300 will continue into subsequent phases).
  • NEW: Updated +100 original posts.
  • NEW: A recommendation engine.

Phase 1 (~2027)

  • The ~400 total blog posts written up to this point will be a thing on the side.
  • Software.Land will feel like a fun journey towards software-related goals (with the addition of more features).

Phase 2 (~2027-2030)

  • Phase 1's journey will be enhanced with AI where common problems in the industry will be tackled. Various communities in the private sector, including academic, will be very pleased with this phase if implemented well.

Simultaneously gaining personal experience in Big Tech (in this still very early >5 year career), as well as gradually rising to the top-tier of the algo competitions arena, will further enhance this bird's eye view. Contributing to open-source projects is another value-adding side goal for Software.Land.

Notes

  • The categorization of Technical blog posts under Beginner, Intermediate, and Advanced exists within the scope of someone who is new to software.
  • Learn more about Software.Land's Alignment with Society.

Updated: 2024-09-25