Live data from Hacker News

Ask HN: Essential skill needed to be a programmer?

news.ycombinator.com

151–160 of 193 posts

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

#151

The ability to stay with a problem for a long time. I think some folks will see something they don't understand and just disengage with it, but a lot of successful programmers that I've seen will continue to think about situations/ problems a lot longer after realizing they haven't fully grokked it, until eventually they do.

Second this - I think part of being a programmer is having a really hard head that stands up to being banged against that wall, over and over, until the thing you're trying to make work works:)

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

#152
post #99

Grit. Don't give up on hard problems. Manage your feelings. Overcome obstacles. Practice patience.

Been programming for 40 years. This is the best answer here, and why I came to comment. If you're not making headway, step back, sleep on it, and try another approach. Giving up will guarantee you fail. You haven't failed until you give up. Also related, fail fast; do the minimum amount of work to create a proof-of-concept, to see if you're on the right track or not. Don't build the whole UI until the algorithm is wo…

Thank you for your kind comment

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

#153

Just "to be a programmer"? Frustration tolerance. Thats pretty much it. To be a good programmer: very much depends on your area of expertise. Most of them need good communication skills, some machine-level understanding, some math or algorithm skills, some require high velocity / long hours... It really is a very diverse field. But like for most jobs, frustration tolerance gets you surprisingly far.

I successfully turned my mom from someone who often needed computer help, into someone who was pretty self-sufficient, when I told her that "The solution to any technology problem will only have two ingredients: Google and pain. If you have access to the first, you can solve anything provided you're willing to endure enough of the second."

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

#154
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.…

This. I immediately develop deeper respect for a colleague when they interact with me this way. (Assuming it's not me who's not following - that happens plenty too!). When a colleague, including junior devs, ask questions and dig in, I interpret that as thinking critically about the problem and digging in. That's exactly what I want out of engineers.

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

#155
I’ve been studying beginner programmers recently on forums plus I’ve done some mentoring. This is market research if you like.

What resonates with me is the sheer persistence of these learners in the face of the rediculous complexity.

I learned basic at You have people doing freecodecamp pushing arch other along, many self taught getting complex apps working with React. Starting from no experience.

So yes keep on going when you hit a wall, struggle through it, and the next thing, and same shit for the job interviews.

Persistence and a love of learning are essential and it’s horrible working with coders that don’t have this trait.

Also:

* team work

* emotional intelligence

* testing and quality

* understanding the business impact

* humility - it’s a skill!

* estimation

* pushing back

* job interview skills

* career strategy (I suck at!)

* going wide and learning lots of things

* going deep in some things

* communication

* inquisitiveness

* getting things done / staving off perfectionism

* some ui/ux awareness

* cloud architecture basics or sys admin basics

* and that’s not all! Etc. etc.

All of which you’ll definitely learn on the job so no need to stress :-)

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

#156

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.

The thing about micro-expressions is that they're involuntary. You can't hide them unless you're specifically aiming to do that. Your face might very well betray a few hundred milliseconds of amusement immediately before you shout a swear-word.

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

#158
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…

I've focused on learning on a want/need to know basis. This has allowed me to make things I want or get paid to make, but I think you nailed the "essential skill" spot on.

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

#160
post #13

Learning what questions to ask into Google is a critical aspect. Most of the time, coding is the process of writing some code, and then debugging it. Knowing to ask, my graphql endpoint is failing with a status of 500, vs. my graphql doesn't work. The first will help you narrow down the issue, the second is far too generic. I have been coding for over 20 years now, and I feel it is rinse and repeat in terms of hittin…

Google falls down flat unless you know "magic words". Example... let's say you want to be able to mark up a web page to highlight some aspect of it, like using a highlighter on a newspaper... you can't google hypertext markup... you have to go for "annotation"

Growing Google-fu is like getting good at smelling bad code, it takes experience, which you get via frustration and the application of gumption.

Post reply on HN