DEV Community

Ytalo
Ytalo

Posted on

The 'dog' philosophy in development

Hello everyone,

You've probably heard of various famous philosophers throughout your life: Pythagoras, Socrates, Plato, among others. However, today let's talk about Diogenes, the Cynic, known as "the madman Socrates," and bring some of his mindset into modern-day development.

Diogenes was known for his ignorance, yet he preferred to live his philosophy in practice, earning him the nickname "Cynic," derived from the Latin for "dog." Despite this, Diogenes laid the foundation of modern philosophy. He preached that humans should learn to appreciate the basic, simplest things, rather than their material possessions. He became famous (and reviled) for taking this so literally, living naked in a barrel and using his actions to complement his words, unlike the common practice of his time to use words to justify actions. Moreover, he already advocated for equality among men, women, slaves, and all members of society, a revolutionary idea for his time. One of Diogenes' most memorable actions was when Plato defined man as "a featherless biped," and Diogenes, in response, threw a plucked chicken at Plato's feet, declaring: "Here is Plato's man."

Now, with this context on Diogenes, let's continue.

His ideas, whether intentional or not, immensely contributed to society, influencing notable figures such as Alexander the Great. Let's bring this into the context of current development practices. Many developers today learn techniques from tools like Tailwind, AWS, and Google Cloud. There's nothing wrong with that, of course, but in a world full of tools, clinging to just one is to limit your long-term potential. New tools will emerge, some better than others, and the one you're accustomed to will become obsolete. Without understanding the fundamentals, you'll be left behind.

Following Diogenes' philosophy, it's crucial to focus on the basics, on the bare minimum needed for something to function. While your team might be using a missile to kill an ant, you'll be labeled a cynic for preferring to use what the project truly requires: simplicity. Abandoning complex tools will allow you to understand how all others work. Like Tailwind? How about starting with basic CSS? Enjoy AWS SQS? Study MQTT and AMQP queues. While other developers around you are stuck with specific tools, you can stand out because you understand the fundamentals. Being adept with CSS, Tailwind, Sass, and applying this principle in everything you do will undoubtedly bring a special touch to all your applications.

Top comments (0)