Follow @nxtchg

Author Topic: Being a better programmer  (Read 115 times)

NxtChg

  • Overlord
  • *****
  • Posts: 1113
  • Respect: +60
    • View Profile
Being a better programmer
« on: June 27, 2017, 12:35:05 pm »
+1


Over the years I've read a lot of code from many different people and I realized that the single most important thing that makes developers create crappy solutions is inability to question everything.

It's not the lack of intelligence. It's not the lack of experience. It's not even the lack of discipline.

It's that horrible anti-skill of not questioning things that you learn subconsciously alongside normal learning.

You see, when you start learning something, almost anyone knows more than you and has more experience. So you tend to assume that they have very good reasons to do things this way. You take whatever they tell you and store it in your memory without much thinking.

Gradually, your ability to critically assess all incoming information diminishes and you stop questioning things.

You never fully get over that low self-esteem feeling of inferiority you had when you first started learning.

You don't develop enough arrogance that gives you the balls to ignore whatever the authority figures tell you.

Microsoft told millions of programmers the wrong Hungarian notation, and millions blindly followed.

It never made any sense to me, so I haven't. After about 10 years, Microsoft finally retracted it and told everybody not to use it and instead love CamelCase.

Or you see this:

Code: [Select]
function(){
...
}

instead of this:

Code: [Select]
function()
{
...
}

and you never even stop to ask yourself, which one makes more sense...

To be a great programmer you need the courage to reject anything that doesn't make sense, no mater who it comes from: Microsoft, Steve Jobs, the Pope himself...

You need the courage to do things your own way and to not participate in the perpetual cycle of spreading the same bullshit around and to the next generation.

*  *  *

Another thing I noticed is that people who started learning programming early by messing with things, rather than by formal education, tend to preserve the ability to question.

On the other hand, students that start with some high-level programming language in high school tend to do worst. In particular because they listen to teachers, who never actually wrote anything real!

*  *  *

So if you want to be a better programmer - start questioning everything. And I mean everything! Don't be afraid to do it. Grow a pair! Make a habit out of it.

And if you want your kid to learn programming - don't teach. Give him a way to mess with things without any figures of authority. And tell him to question things and do his own goddamn thinking!

Not only it will make him a better programmer, it will make him a better person.

Too many people just coast through life with their brains on pause, blindly accepting everything somebody tells them...
Tentacle Overlord, The Deranged Genius of The Abyss