What Do People Mean When They Say “From Scratch”?

What Do People Mean When They Say

I’ve been curious about the meaning of the phrase “from scratch” recently—especially as it pertains to technology. We don’t really use the phrase in tech, except perhaps to describe the “reinventing of the wheel.” That said, I was curious what others thought about it.

Table of Contents

Classroom Activity

Recently, I was introducing the idea of abstraction to my students. Inevitably, this concept leads to the idea of layering, where one piece of technology is built on another.

As a part of introducing this idea, I had the students pick out some technology that they use regularly. There were a variety of choices from laptops to phones to video games. Once they figured out what tech they use, I asked them to see if they could describe what’s “under-the-hood”. In other words, how do these pieces of tech actually work?

This discussion worked well, but I wanted to link the role of the software developer more explicitly. So, I reframed the question as: imagine you were developing this piece of technology, how would you do it? Naturally, this conversation led to all the tools “under-the-hood” for tech like video games and TikTok.

By the end of the day, I had run this activity about three times, finally honing in on a good flow in the latest class. By that point, I was introduced to this idea of “building something from scratch.” After all, the whole point of abstraction is to layer your work on work that already exists. No one builds a video game from scratch, right?

Drawing a Parallel to the Real World

When folks use the phrase “from scratch,” my mind immediately goes to baking. For instance, you often hear people ask, “did you make these muffins from scratch?” Of course, what I think this means in the context of baking is making the baked good from the base ingredients (i.e., nothing is prepared ahead of time). But, is that really from scratch? I have to imagine that most folks buy their ingredients from a store. They don’t farm them. In that case, is it really from scratch?

Then, we sometimes hear the phrase in other contexts. For instance, the phrase is sometimes used to refer to businesses that are built from the ground up (i.e., no initial investments, no starting capital, just labor). But, of course, this is also a sort of silly phrase in that there are really no self-made business folksOpens in a new tab.. Not to go on some leftist rant, but businesses require labor and customers, not to mention knowledge and skills which are unlikely to be completely self-learned in isolation. Hell, they probably used roads, right?

All of this is to say that the phrase “from scratch” requires a line to be drawn somewhere. In other words, at what point does a creation become “from scratch”? I’m not sure I know, but I did pose this question to my students out of curiousity.

Making a Program From Scratch

When I posed the idea of making a program from scratch to my students, it seemed that a lot of students felt like assembly would be the line. In other words, if you can create something using just assembly, then you’re some tech wizard.

Of course, assembly itself is an abstraction. You can program without it, you just need to know how to write machine code. But, you’d likely still be making use of various modern interfaces like a keyboard, a mouse, and a monitor. In fact, you might even be using an IDE.

So, maybe you go back to the days of punch cards, and build a program that way. Or, perhaps you even build your program using hardware only, like the old days with the Atari or the old arcade gamesOpens in a new tab..

Of course, even hardware at that time was already abstracted. There were chips with particular functions, like registers and microprocessors.

So what do you do? Do you create your own memory from scratch? Do you build your own processor from scratch? I don’t really think anyone is doing that anymore. The components are just far too small to assemble without incredibly expensive tools. Though, I know folks build basic logic systems with hardware (even just mechanical hardwareOpens in a new tab.) and even simulate them in softwareOpens in a new tab..

Then, at a certain point, you would have to actually become a wizard, so you could move electrons at will. Perhaps then, you could argue you built a program from scratch.

Gaslight, Gatekeep, Girlboss

All of this is to say that I never intended for the conversation around completing tasks “from scratch” to be around gatekeeping. Whatever level of abstraction you choose to work with is entirely up to you, your interests, and your career goals.

I personally can’t stand anything really lower level than Java, and I much prefer to be in Python land with all my excellent tooling. That said, I know a lot of folks who love systems work and would rather have the power and control to manipulate memory.

All of that is to say, do the work you want to do, and don’t make it your entire personality to shit on others for their preferred level of abstraction. You are not better than anyone because you use C and Vim. If that really mattered, everyone would be building their own computing systems “from scratch.”

As usual, thanks for taking the time to check this article out! If you enjoyed this, you can have a laugh at another article I wrote with “from scratch” in the title. Alternatively, here are some other solid articles that call into question some of the elitism in tech:

And finally, here’s the link to my ways to grow the site! You’ll find a variety of resources there like my Discord, Patreon, and YouTube. Take care and see you next time!

Jeremy Grifski

Jeremy grew up in a small town where he enjoyed playing soccer and video games, practicing taekwondo, and trading Pokémon cards. Once out of the nest, he pursued a Bachelors in Computer Engineering with a minor in Game Design. After college, he spent about two years writing software for a major engineering company. Then, he earned a master's in Computer Science and Engineering. Today, he pursues a PhD in Engineering Education in order to ultimately land a teaching gig. In his spare time, Jeremy enjoys spending time with his wife and kid, playing Overwatch 2, Lethal Company, and Baldur's Gate 3, reading manga, watching Penguins hockey, and traveling the world.

Recent Posts