On having a basic understanding of how software works

9/19/2024

software

There's a lot of reasons I think anyone and everyone would benefit from learning at least a little bit of programming/computer science.

We're going to focus here though on the benefit of having at least some amount of intuition of how software works.

Let's start off with how having 0 intuition means you don't really know what you can ask for or expect from a piece of software.

Real life examples:

  • you are using a piece of B2B software at your workplace.
    It's slow and it sucks.
    You talk to the software vendor.
    They say "The system is slow because we're processing too much data/too many requests in real-time."
    You think to yourself "well I am making a request where I need to load 1000 items on my screen, and 1000 sure is a big number, ok mr software vendor I'll stay content with the solution you've made for me."
arrested development
  • there's a certain part of your job that is pretty repetitive.

    you think it could probably be automated.

    or maybe its repetitive but you think its pretty complex and only a human can do it for now.

    either way you have no idea if you're right
relevant xkcd from 2014 xkcd

The irony here obv is that image classification and then some is pretty much solved now in 2024

Takeaways

Get some CS/programming knowledge to:

  • be able to do brain/napkin math on how many man-hours or days/weeks/months a certain product/solution should take to implement
  • be able to do napkin math of how complex the implementation of a product or feature is
  • be able to separate signal from noise from a sea of people trying to sell you software
  • be able to bring some of your work from the year 2005 to 2024

a little exercise: guess how quickly your browser can calculate primes and also when your tab will crash

going to think of something more interesting to put here, but here you go for now