The single greatest benefit to my career as a developer has been learning to draw. I draw on whiteboards, in moleskins, on printer paper, on the back of resumes... anywhere and everywhere. I do this because I need to convey complex ideas to important teams who are NOT programmers: Product, Marketing, People Ops, and the C-suite. Helping people understand my ideas through illustration creates buy-in from them and trus…
Ask HN: Essential skill needed to be a programmer?
141–150 of 193 posts
Re: Ask HN: Essential skill needed to be a programmer?
#142Re: Ask HN: Essential skill needed to be a programmer?
#143A capacity to endure endless mind-numbing boredom.
If learning new things and solving problems is boring to you, then programming is the wrong job for you.
Re: Ask HN: Essential skill needed to be a programmer?
#144I 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.
People like to feel like an expert, and will usually be happy to explain.
It will make you better (knowledge transfer to unrelated problems), your code better (domain knowledge), and your relationships better (recognizing your colleagues as peers with different skills, not just not-your-skills).
Re: Ask HN: Essential skill needed to be a programmer?
#145also, knowing how to say "no" professionally and firmly is an important and respected skill.
finally, being able to see the forest through the trees and value the business side of what you're doing is a key perspective. Everyone loves to trash talk Sales/Marketing/Management but those people turn your programming into your paycheck so a little understanding is deserved.
Re: Ask HN: Essential skill needed to be a programmer?
#146To 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 was going to phrase it as "simultaneously seeing the forest and the trees."
The vast majority of my programming career has involved (1) taking a huge amount of information (specs, code), (2) building a mental model of it at 2+ levels of detail (high-level to fit a simplified holistic system in my mental swap space, and detail to have all the details about this problem at hand), (3) identifying the needle in the haystack, & (4) coming up with a simple solution.
As the parable goes [1], it's knowing which bolt to turn & how far.
Re: Ask HN: Essential skill needed to be a programmer?
#147Re: Ask HN: Essential skill needed to be a programmer?
#148Re: Ask HN: Essential skill needed to be a programmer?
#149The 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?
#150To 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 saw many beginners who treat a compiler like a black box and attempting hand fuzzing until it happened to match the well-formed syntax and behaviour they wanted, while they literally holding a paper text book or opening a browser tab for a tutorial which clearly explain how it works and what they should write in a plain natural and native language of theirs.
One time, I was told by a beginner who copied an example code from a text book that it doesn't work. I looked at it. It was a fizzbuzz code, less than 10 lines. And she typed it wrong. Not just an ordinary typo. She conjured up really strange ill-formed syntax she believe it works somehow. There is a parse error message but she ignored. I pointed out the place on display with a finger and she still didn't get it. I place a text book beside the display but it requires a considerable effort convincing her the cause of the error.
Other time, I was asked why for(;;) ; else ; doesn't work in JavaScript. I kept saying because there is no syntax like that in JavaScript. You have to accept it as is or create your own language.
Sometimes, I wonder some people read natural language text by simple keyword pattern matching. People like above example weren't dumb. Far from it. They are smarter in their field than me. Yet, they failed at this basic literacy level.