Skip to content

Instantly share code, notes, and snippets.

@tracend
Last active August 29, 2015 14:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tracend/195b4b96ed788f432e13 to your computer and use it in GitHub Desktop.
Save tracend/195b4b96ed788f432e13 to your computer and use it in GitHub Desktop.
The "real" developer #article #makesites #insider

The "real" developer

In the 90s you would often hear on MTV the phrase "keep it real". Basically it means "be true to who you are"; it was the normal attitude when alternative rock was at the forefront of popular music. But what does all this have to do with developing?


Being "real" is on the opposing side of the trend that followed and furthermore what developers are still facing today. I'm talking about political correctness. In the post-millennium era we've grown to think that being politically correct is better, with the consensus that being "real" is just ugly.

There's virtually no argument today when you are asked to do what you're "supposed to", follow "the process" and not "confront" anyone, even when you are right. And each and every one of these directives has its roots in political correctness; which I'll just go ahead and say that it's just "rebranding" conservatism.

But despite anyone's personal beliefs, there are solid arguments why this situation is not helping developers in their work, and why being "real" may actually be a better strategy.

Honesty

In the binary world of computers there is a definite divide between true and false. There is no grey area, no sugarcoating the truth. To be able to work in that environment you have to be truthful to yourself, the same way that computers are to you. If something fails, it fails and it's your problem.

Developers need to exercise honesty in the working environment so they can respond to the demands of their work. Once you start convincing yourself that "everything is fine", when it is not, it's game over. Trying to find excuses is never going to help you become a better developer.

In the politically correct world, honesty is banned in favor of positivity. Honesty will hurt your social life, to say the least. Everyone wants to be likable, but trying to be likable is simply the wrong pursuit. Being accurate is the objective, even if that is not pleasant.

Even if that wasn't the case, there's a good chance developers can't be crowd pleasers, even if they try. Just think of this simple equation:

People don't like being corrected
+
Most solutions are either wrong or can be improved
=
Providing better solutions will not make you likable

You see, almost by definition being a developer makes you annoying. Knowing that is both liberating and relieving, allowing you to refocus on what's important: the truth.

Bravery

To be able to go out on a limb and take on a mental challenge that will affect the lives of a mass audience requires bravery. The confidence that's required to be that brave cannot originate from anywhere else other than within. No one can tell you that you can find a solution, you have to believe it yourself.

How can you be this brave if you have no self-esteem? Thus, intelligence requires self-esteem. That is built in time by enjoying life an fulfilling every different aspect of it.

Sitting at a desk "working" 100 hour weeks will not do. Being a "yes man" to your manager is not going to cut it. Being a predictable worker is not enough. People are not one dimensional, and yet it's the default treatment in a working environment. This kills self-esteem. This quote sums it up nicely:

There are no B players, only people whose potential is not being brought to life, fish which are made to climb trees and then told they suck. -Daniel Tenner

Instead, try to feel "complete" and witness your self-esteem rise, opening up your mind to unseen potential.

Imagination

Continuing the previous mindset, and despite what you've probably been told repeatedly, you don't have to sit at a desk all day to be good at your job. And you don't need a uniform either; especially if you're told you need to wear a suit to develop! That's simply wrong.

Suits are worn to enforce formality; they are often used to create a false sense of importance. People that wear them are mostly after self-promotion, accolades and trophies. The "real" developer is about producing the most elegant solution. That could mean less code, less time spent working but definitely more time contemplating about the solution.

This is where imagination comes into play. Having an open mind allows you to be creative, often in unique ways. This ability is invaluable for any company. It will create something out of nothing, especially when conditions are less than ideal:

Constraints can help foster creativity. -Hakim El Hattab

There's a direct correlation between the priorities you set and your ability to execute. Don't focus on flashy results that will excite the novice. That's what a "suit" would do. Care about a maintainable solution. Aim to interpret a crystal clear idea into a real world product. An idea that came about using your imagination.

Responsibility

So lets say you are a good developer. How good? Very good. But at the same time you may be evasive during conversations, unreliable in your deliverables and overall live in a mad genius state. Political correctness, with its non-confrontational mentality, gives you the opportunity to do all that.

Accountability is a well sought after quality in the developer community. Once you build something you are responsible for it; and that's how it should be. Even the most intelligent developers can't deny their responsibility to maintain their creations. But long-term maintenance is just one aspect of being responsible.

  • A responsible developer will never stir the waters by pointing the finger. As we all should know finger-pointing gets us nowhere, yet in a business environment it is so easy to blame someone else.
  • A responsible developer will never hide vital information to make themselves more important. The pursuit of job security and personal interest makes some developers really bad team players.
  • A responsible developer will never work against their user's best interest. Ad bombardment, breach of privacy, mimicking competitors are just a few ways developers harm users through their creations, ultimately damaging their own good karma.

In today's, "politically correct" world none of the above counterproductive practices are penalized. In practice, all idealism is deemed irrelevant as if it won't affect the bottom line. It will and it does. Prioritizing obedience, conformity and articulation for developers creates the right conditions to end up with bare, uninspired and ineffective products. If "culture fit" is our new top priority why should we expect anything more than superficial results?

Being "real" is not about being rude or annoying or even independent. It's about being honest, and brave and free thinking. And if that's perceived as "ugly" maybe that perception is the problem instead - and the solution is not to cover it as if it does't exist. "Keep it real" with yourself and your co-workers and you're on the safe track to be a good developer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment