Coding Is Social Activity.
Tags: programming, discuss
Published: 2023-07-18 15:17:49

There's a pletora of principles, patterns, practises and heuristics that a craftsman should know in order to be defined a software engineer. But...

**To become a good, trusted and admired programmer you need more than a bunch of engineering theories.**

Typically, we measure one's greatness by its intelligence, gut knowledge, and years of practice. But, almost 20 years in software development, taught me that **bad programmers are everywhere, despite their "expertise".**

We have all worked on projects where WTFs/minute were insane.

![code quality](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m3ifp6088v1a1tcjytym.jpeg)

Why there's so much shit around? Who's to blame? Project managers? Business owners? Customers always demanding more, asap and with fewer resources?

**Coding requires hard work.** But knowing the underlying mechanisms, building complex applications, and sweating over this job for years, does not guarantee code quality.

In fact, contrary to the popular belief, **programming is a social activity.** Why? Because we type words, all day long. Words that are then read and processed by other human beings.

And guess what... The human brain has evolved to deal with spoken language and words, through which we are able to communicate, organize and build some amazing things such as historical monuments, tall buildings and world-wide companies.

If we weren't able to understand words and communicate effectively, we wouldn't be at this stage of development. We would be still hanging off the trees, eating bananas.

**So our goal is to be understood, even if our job is mostly done alone, in darkness (and despair).**

I fuc***g hate to see misleading variable names, terribly organized directories, missing documentation and other hell related horrors.

**Code should be written so others can understand it.**

And we should take the proper amount of time to do it right, no matter the external pressure to clear up the backlog.

It's horrific and discouraging when the onboarding process into a new project requires days or months just because someone else didn't put the effort to write clean code.

**Software developers proudly state their intelligence, their ability to understand complex ideas and algorithms. But they often lack wisdom, the capacity to identify and protect the identity of their code so others can enjoy it.**

And this is the major problem with today's software industry.

Our value system focuses more on outward appearance than on the substance of what we deliver. We obsess about the schedule and deadlines. We never defend code quality.

Let me write it again...

**It's only when your code can be immediately understood by others, that you can define yourself a good programmer.**

Coding is a social skill, it's a communication act. It produces art that people will look at and be either fascinated or terrified from.

So, next time you open up your codebase, look for ways to make things clearer and better:

- improve readability
- refactor code
- avoid duplication
- make it efficient
- make it effective
- re-organize files and classes
- assign proper names
- avoid misinformation, misleading names, messy directories..
- ...

We are not monkeys. We are humans, we think in words and write code. Make it good, make it right.

Let's discuss in the comment section, what do you think?