Ask HN: Essential skill needed to be a programmer?
101–110 of 193 posts
Re: Ask HN: Essential skill needed to be a programmer?
#102The 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…
Re: Ask HN: Essential skill needed to be a programmer?
#103Re: Ask HN: Essential skill needed to be a programmer?
#104I 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.…
But when someone said they could do something a particular way and the results suggest otherwise I find it completely frustrating.
Re: Ask HN: Essential skill needed to be a programmer?
#105Re: Ask HN: Essential skill needed to be a programmer?
#106That can be interpreted as reading someone else's code, but even more importantly: Just being able to understand plain English (or whatever human language).
I've seen so much code that used an API incorrectly, or misunderstood (or simply ignored) documentation. Being able to RTFM, imo, is essential. See also: Understanding what your boss wants and delivering it.
Re: Ask HN: Essential skill needed to be a programmer?
#1071) Literacy. You have to know how to read (and ideally write in) your native language at a relatively high level. So much of our craft's knowledge is written down, in technical if not arcane terms, that in order to learn you really have to read.
2) The ability to reason about causes and effects, that is, to envision in your head what the computer will do when it evaluates a statement in your program. Also, the ability to back-reason which statements will produce a desired effect. You need to be able to predict what will happen before you write the code and test it out after the code is written. You'd be surprised how few people have this ability developed and how hard programming is for the general population as a consequence.
3) The ability to be humble and stay focused. Your program will take much longer to write than you think it will, and there will be more bugs. You have to have the diligence and passion to see it through.
Re: Ask HN: Essential skill needed to be a programmer?
#108Re: Ask HN: Essential skill needed to be a programmer?
#109I'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?
#110To be a programmer you need the direct hard skills of coding literacy, analytical and logical thinking, combined with enough grit and creativity to see a problem through to completion. If you have that, you'll be a decent programmer, but you may not be a good engineer.
Engineering requires the maturity of thought to consider your actions and your solution over time. It requires more wholistic thinking and not just from the tech architecture point of view. Human soft skills tend to be more important over these time scales: communication, empathy, humility, courage. It's these skills that sustain success.
[1] https://www.oreilly.com/library/view/software-engineering-at...