Do you code with a fork or chopsticks?

Jad Santos
CodeX
Published in
3 min readMay 4, 2022
Chopsticks are a precision instrument for eating. They represent the mindset I use when modifying code. Photo by Andraz Lazic on Unsplash

I once had a programmer tell me my code was too complicated to understand, so he rewrote the whole thing. It was a surprising statement to me, but I wasn’t bothered or hurt by it. I thought to myself, this programmer codes with a fork. I like to code with chopsticks. They both get the job done.

🍴The Fork

One uses a fork by piercing food to lodge between its tines to lift it to one’s mouth for consumption. The food is damaged because of the holes the fork makes. The fork’s damage can’t be reversed to return the food to its original state. If one wants to return the stabbed food to its original position, it requires help like the side of the plate, another utensil, or your finger. When using a fork, one is limited to picking up larger pieces of food because the smaller pieces are more elusive for the tines. The fork is a blunt instrument, requiring little skill or practice.

Programmers that code with a fork perform analogous activities to the source they’re working on. To be clear, they aren’t using a fork to type or move their mouse cursor. To code with a fork means to have a destructive mindset of removing or replacing code. Fork programmers hunt for code to stab so it can be removed entirely and then replaced with their “better” code. The original source is damaged. It can be challenging to return to its original state, depending on the changes made. You might need tools like backups or revert commands in your version control to restore the original.

🥢 The Chopsticks

One uses chopsticks to eat by skillfully picking up food between the ends of the two sticks. To perform this activity well requires practice and likely another person to give guidance. Unlike a fork, chopsticks do not damage the food, assuming one doesn’t crush it between the sticks. The food can be returned to its original state and position without needing another tool, finger, or the side of the plate or bowl. When using chopsticks, one can pick up a single grain of rice to a large chunk of chicken. The chopsticks are a precision instrument.

You can probably figure out where I’m going with this food analogy. Programmers who code with chopsticks are more skillful and deliberate in modifying software. They have a mindset to examine and understand instead of hunting and destroying. Chopstick programmers recognize that existing code has often gone through multiple iterations and code reviews and has been battle-tested in production. The code might look strange, but it’s known to work. Chopstick programmers respect the code. If it were to be removed, it should be done with precision and care with a way to return it to its original state quickly.

The fork and the chopsticks mindset can both be used to ship and launch code. I prefer to be the chopsticks programmer. Which one are you?

--

--

Jad Santos
CodeX
Writer for

I'm a software engineer, software manager, and a programming enthusiast. I write about software craftsmanship, engineering management, and programming topics.