Joshua Spann

The Importance of the Unix Philosophy


Sep 28, 2019

Folks know of the K.I.S.S. principle and that less is more. But have they heard of the UNIX philosophy? UNIX has been around for over 50 years, inspiring the BSDs, OSX, and GNU/Linux. Not to mention the countless OSes that implement the familiar commands and userspace.

But what’s the UNIX philosophy? It’s 💪 KISS on steroids. It’s completely concise modularity and minimalism. It’s the best managerial style, the idea of having a small program do one thing and do it well, then piping and connecting many programs together to get complex work done.

Once one gets an understanding of this mindset and actually practices it, things get better. Tasks become efficient and optimized. Teams output faster and better quality work. That professional ✨ shine, touch and finish shows.

But that’s software, so it’s great for geeks but that’s not the real world, right? Nope. The UNIX philosophy is called a philosophy for a reason. Though it was born with the development of a great software project, it can apply to much more.

I’m not just a wannabe hacker, a programmer, or a Technician. I’m an artist and a musician. The arts are more forgiving because you can make it look like you made a mistake on purpose and folks will appreciate it for being “avant-garde”. But the arts are time consuming. I think “the fine arts” should be renamed “the refined arts” because of all the small tweaks and refinements you make to your work.

You get to a point where you will need to organize things, especially for a growing project. I do 3D and graphic design work. It sucks having to start from scratch all the time. You make textures and materials in complex node trees. Then you get a new project and have to remake everything all over again. Copying is a chore. But if you set up things right, you get more done with less. Rather than making complex node trees of materials and textures, you can group certain nodes by function. Then you connect the groups to other groups and then to a unified output. Then you can save, copy, and export the nodes. You can load and connect those in other projects and save time.

Maybe you are placed in charge of others. Chances are you have something you need to get done, and fast. What is the best option: everyone doing a handful of things, wearing multiple hats? Is it having specialists in a field working in that kind of role?

If everyone bears multiple burdens, burnout is likely to happen quicker. Nobody wants to do the work of 3-4 people and get paid 💸 for one. Not to mention that people are incapable of being in multiple places at multiple times. We can emulate multitasking but that can come with a sacrifice of quality as our attention shifts constantly. If one person does one job only, they will have all their attention devoted to the single task. If they are in the right fit for their abilities they will do it well. Then they will be a powerhouse, putting out quality work as they find ways to improve their workflow.

While some can engineer, some can’t hob-nob. It makes no sense to have a marketing agent sit behind a desk all day programming. Work quality would be low and costs would be high. If the right person is in the right job that they are trained for, then a good manager can delegate responsibilities to get a better outcome overall.

Music already follows these ideas. Many modern songs are infuenced by the sonata format, where you have the larger song composed of smaller parts. You have verses, bridges, and choruses that convey a single motif or melody well. You add them together and they tell a musical tale just like lyrics. The music touches and moves you. Good music is not random notes all over the place, it’s a well-organized balance of modules that are made up of sound and silence.

In journalism you have a writer, editor, and publisher. You make content, it’s taken by a publisher, and service providers enable access to publishers. Complex tasks work best not by doing it all in one body. Complex projects are a mess without strict modules being made and tested, then merged together. The UNIX philosophy is truly nothing new, but is is a summation of the best management skills. It focuses on tech, but it works in other areas. Go ahead, 👍 give it a shot. Delegation is a great thing if it’s done well.