Live data from Hacker News

Ask HN: Essential skill needed to be a programmer?

news.ycombinator.com

121–130 of 193 posts

Re: Ask HN: Essential skill needed to be a programmer?

#122

You need to believe that computers are understandable. There’s no magic involved. Eventually, every abstraction leaks — so if you have fear or learned helplessness blocking you from trying to understand the leaky abstraction layer, the only way you can debug it is by squeezing your eyes shut and trying random things, which is ineffective. You really need to internalize that even things that seem mysterious happen for…

As an extension of this, you need the ability to resist the urge to flip a table and walk away from a problem that seems too hard.

Debugging can be like picking threads out of a tangle of yarn most of the time. Often when you have the most riding on the line.

Stress management/Self-management skills are critical (should be in the top 3) and often overlooked.

Re: Ask HN: Essential skill needed to be a programmer?

#123
To be able to write code, you must first be able to read code. This means you must be able to 'simulate' what the computer is doing when it executes a program — or at least the bit of it you're working on — in your own head before you can write it. Tools can and do help with this, but they cannot think for you.

Competence in engineering and architecture come from expanding the capabilities of your mind to simulate more complex programs and to think in abstractions.

Re: Ask HN: Essential skill needed to be a programmer?

#124

I would say humility is the most crucial skill. If you can't admit when you're wrong or you lose your mind when peer reviewed, you are going to find yourself in more trouble than working correctly in a team setting. It also allows you to question your own code to confirm if it's the existing code or yours (usually whatever is new is broken, not always, but usually there's a high probability). I have had coworkers tha…

Humility impacts cooperation, but another side of it is that it impacts learning. In order to learn you need to believe that you got something to learn, and that is not happening often in people too full of themselves.

Re: Ask HN: Essential skill needed to be a programmer?

#125
post #96

I consider this essential: The ability to decouple the task from your ego. Specifically: - Never say "Got it" or "OK" when someone is explaining a problem or solution and you don't follow. It feels awkward to say "Sorry, I'm still not following. Do you mean that when..." five times in the same conversation but it is worth your time and embarrassment to come away with a correctly framed and well understood situation.…

>> You are likely missing some context about the choice

If it's a product/business decision and you care about that aspect of your work, dig down and understand the context, otherwise, before long you're likely to grow numb to that aspect of your work.

Re: Ask HN: Essential skill needed to be a programmer?

#128
You have to be comfortable enough with computers (real computers with keyboards) to be open to using one 8 hours a day. It may sound obvious but it's not obvious to a lot of people especially with the way programming is marketed to young people through board games, tablets, etc.

Re: Ask HN: Essential skill needed to be a programmer?

#129
post #96

I consider this essential: The ability to decouple the task from your ego. Specifically: - Never say "Got it" or "OK" when someone is explaining a problem or solution and you don't follow. It feels awkward to say "Sorry, I'm still not following. Do you mean that when..." five times in the same conversation but it is worth your time and embarrassment to come away with a correctly framed and well understood situation.…

Agreed. understanding the problem is a big thing. Then explain it back to them, perhaps offer them a better solution if you can.

Asking questions is the way to understanding.

Re: Ask HN: Essential skill needed to be a programmer?

#130
post #23

To simply be a programmer, one must only write a program, nothing more. The essential skill I guess would be literacy, knowing how to read and follow directions, knowing how to use a keyboard, not much. To be a good programmer, if I have to pick only one "skill" I would pick systemic thinking/understanding. This starts with the ability to learn and eventually understand how a system works. The next level is the abili…

Yep, the ability to construct a mental model is the most critical. If you can then keep it organized when you translate it to code, I'd say you're well-suited to the work.

I wonder how many people have this ability, especially when reading about organizations like the one that went to Appalachia to teach people in depressed areas to program.

Post reply on HN