Bottom Up
"Some people can read War and Peace and come away thinking it's a simple adventure story. Others can read the ingredients on a chewing gum wrapper and unlock the secrets of the universe" - Lex Luthor, superman movie
Sometimes, Whenever i try to work on something, it could be building a robotic system for a academic projects, designing/coding the feature in work setting. Often my mind go immediately blank like staring into the void refusing to look at immediate solution that was being there laid in plain sight. With pride, I refuse to think through them as if it is some kind of sub optimal way to even try that , even though i know i am very well versed in that subject at least i believe i do. the state of mind where one gets the feeling that one has lot of information yet it's unable decide which is right or stuck in a loop hole of indecisive state. I often mistook it for information overload or lack of prioritization hence i tried to reduce distraction and started using tools/techniques available in the internet. yet somehow i often encounter the situations i mentioned earlier.
whenever we are dealing with a complex problem hierarchically speaking, there are two ways to attack it. one way is to think of the problem generality and how it is significant on wider level and try to fix it in a way it solves globally, other way is to attack the problems locally and trace our way to how it's fixes globally. most famously it's called top down vs bottom up in programmers world. I tend to choose the former automatically without even thinking, and it often bites me. besides personal preference, I believe this top down approach is attractive and shiny for most. kind of things that make it to headline, the once we see in mainstream media headlines.
latter way is to start from the bottommost source and slowly build our intuition way to the top, it considered boring and it tales lot of patience. to truly understand a system one must master the fundamentals, to achieve that one must go through the early hard phase of learning its origins. if one skips it today, that lack of understanding always comeback to hurt them in the future. This locally solved state may act as anchor and enable one to take next course of action whether to increase the search space wider or fallback to old local state. This even makes more sense if one is building a new product, the best option is to start from MVP (minimum viable product) that solves the problem of it's first 10 users. a successful product grows along with it's insight about users problem it tackling. something that most big corporates failed to do so(via Enshittification). In my last 10 years of programming hobby, i ended up coding the tools/ products on high level, without much understanding of the internals. if i want to build something, i will look for a fancy tool and pipe the tool that is available, instead of trying to solve on my own. i am not blaming the wide variety of beginner friendly tools that are available in the programming ecosystem. People often say being the generalist is good but hidden cost is lacking the depth that is necessary otherwise.
with raise of LLM accelerated coding agent tools, i believe this will boost the rise of surface level knowledge type programmers in future. we are already seeing AI slop started affecting software industry1. The bottom up builds depth and develops a knack for seeing the nuances something that is hard to explain to an outsider, so far LLM systems (Mainstream's AI) couldn't replicate that. it could be our only edge against AI slop, I hope. I found one way to acquire true depth is to read from original source, for example if one want to learn c++ read directly from Bjarne Stroustrup books, cut the middle men (content creators), and any anything that looks like learn x in y minutes. other way is by actually doing the thing, nothing fancy only the good old fashioned grind.
related -> the 3blue1brown's video titled tale of two problem solvers2 where he is done good job at explaining top down vs bottom up approach in solving math problem
