Live data from Hacker News

Ask HN: Essential skill needed to be a programmer?

news.ycombinator.com

41–50 of 193 posts

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

#41
Lots of people have put less obvious skills required, but IMO a decent level of logical thinking is a definite requirement. I think we often take this for granted because most of us who make a career out of programming find it so easy, but I've never seen anyone succeed at programming unless they had this.

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

#42
3 things: 1) curiosity 2) learning 3) growth

you need to be curious about why things in a certain way or why they don’t work, to take them apart, to continuously ask why

along with curiosity you need to learn. ALL THE TIME. you job learning is never done. there are fundamental things that will not change with time but a lot of things will and mastering anything will be a lot of work.

and last: growth. you need to tackle bigger and bigger problems and understand more and more in order to not get into a dead end career-wise. your goal is that by learning basic building blocks (programming languages, frameworks, tools) you get to work on or learn more advanced building blocks. the abstraction level you work on should go up

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

#43
post #38

By essential, it is what most engineering disciplines have in common: Good logical reasoning, and spatial thinking/skills, ability to build up complex systems from smaller ones, and ability to understand/debug how complex systems work, and no 'magical thinking', but ability to analyze things logically. I am seeing here a bunch of answers that mention 'communication', 'write docs', etc... etc but those are essential s…

> P.s I know communication is not core, as i have worked with many 'brilliant' engineers that they had poor communication skills due to be foreigners, or just personality quirks. While that will hamper their ability to get promoted to managers, or architects, they all were respected and did well as engineers.

The position taken by including communication as a core engineering skill is that poor comms ability ought to undermine one's perceived ability as an engineer.

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

#44
Abstraction.

When my kids were little I thought I would teach them programming. The biggest problem I had was teaching them what a variable was. They finally did figure it out after a lot of work.

Abstraction is the same barrier between elementary school math and algebra. Some people never do learn algebra.

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

#45

Tenacity is the short version of what Norvig is saying. A curious thing that happens every time I write code is that some unexpected error occurs. Sometimes it's trivial stuff, other times it's deep structure. Either way, you have to be bothered to make changes and test them. Sometimes this tree gets very very deep. See an error, Google it, find an example that mentions a new keyword, explore that cave for a day, ret…

Couldn't agree more. You might be highly intelligent and/or creative, and those things should help for sure, but if you don't have grit, nearly a masochistic attitude to keep striving when you're flat on the ground or when you're at a dead-end, you won't make it.

To me, writing solid code is like combat.

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

#48
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.

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

#49
I've a MSc in Computer Engineering and I think the most important stuff I learnt are "Design Patterns" and in general any Principle that guides you to write code that is: flexible, clean, maintainable, efficient and reusable. Any programmer can write code, but how many can meet the requirements mentioned?

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

#50
Programmers and problems come in a bunch of varieties. Some programmers only need to solve a small subset of problems, so understandably their skill set doesn't need to be particularly broad. It's ok to be capable in a niche area if that brings value to you or your organization. Largely though, programming does come down to problem solving.

The best programmers have an eye for detail that can see below the surface of a system. When someone says "we need feature X because Y", they take a Socratic stance and ask "Why do they believe X will solve Y? Why is there a Y? Is there also a Z or a W to consider?" These aren't necessarily coding questions, they're engineering and process questions. Anyone with some familiarity with a system and the tools can add feature X, but the best developers will think about the precursors and implications of X first in hopes of improving the system as a whole.

Post reply on HN