Live data from Hacker News

Ask HN: Essential skill needed to be a programmer?

news.ycombinator.com

111–120 of 193 posts

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

#111

The question is too broad, but along the lines of Norvig's answer... There's a particular micro-expression I sometimes notice with people who are working on a software problem. I notice it when something goes wrong unexpectedly. People who aren't particularly talented at SW development, for a brief instant, give a facial expression of disgust when something crashes or behaves incorrectly. People who are awesome at de…

It's a lot easier to be interested in a surprise failure mode when you're not under the gun to deliver on a deadline.

I find failures interesting too, but I'm not feeling happy when I expect the reason will be because the tooling I'm using hides information behind insufficient logging or the answer I seek is probably on a system I don't have permission to access.

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

#113
post #70

Earlier quoted context omitted.

when I get frustrated that's often a cue for me to take a break haha. It's been a nice way to deal with frustration for me.

For years I couldn't recognize when I was starting to get frustrated and kept pushing until it was too much to bear. What I've found works better for me is identifying when things are barely starting to get ugly and calm myself. I tell myself that this suffering is temporary and remind myself I've been able to solve pretty much any problem I've faced.

> remind myself I've been able to solve pretty much any problem I've faced.

I think this confidence is really important and part of it seems to come from having solved lots of problems in the past / working through frustrating periods. That's why "write lots of programs" is still my favorite piece of advice because it's a lot like "show up to the gym" if you want to get stronger.

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

#114

The question is too broad, but along the lines of Norvig's answer... There's a particular micro-expression I sometimes notice with people who are working on a software problem. I notice it when something goes wrong unexpectedly. People who aren't particularly talented at SW development, for a brief instant, give a facial expression of disgust when something crashes or behaves incorrectly. People who are awesome at de…

It's a lot easier to be interested in a surprise failure mode when you're not under the gun to deliver on a deadline. I find failures interesting too, but I'm not feeling happy when I expect the reason will be because the tooling I'm using hides information behind insufficient logging or the answer I seek is probably on a system I don't have permission to access.

There's also another side of disgust that motivates you to improve things. Some of my favorite work were born out of sheer anger

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

#116
"Don’t only practice your art, but force your way into its secrets, for it and knowledge can raise men to the divine." - Ludvig van Beethoven

I would say it comes down to a character attribute, and a simple skill. The attribute is curiosity - why does something do what it does, and the simple skill is how to google. That's it. I've seen the most traditionally under-qualified people become excellent, simply by always asking why, and trying to find a answer.

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

#119
1. Communication Skills - Clearly understanding what others are saying and expressing one's opinion in a polite, and respectful manner is a skill one must master. Most of the time it's better to listen first rather than talking first.

2. Prioritization - Learn to prioritize and sometimes to say "NO" to people.

3. Delegation - One cannot do everything by oneself. Learn to delegate and get help from others.

4. Whenever you do some task, always question why am I doing this, why this needs to be done in a certain manner and learn all the background(domain specific) knowledge related to the task.

5. Learn how to debug - I cannot stress enough how important this is. Most of the time you would spend maintaining, coding, and changing, legacy/existing code written by someone else. If you do not know how to debug and follow the trail like Enola Holmes, you'd always have to depend on the help of others which is very inconvenient for you as well as for others.

Apart from that as mentioned in the other answers it's always good to be a smart cookie, but it's not essential.

Post reply on HN