Being able to memorize things.
Ask HN: Essential skill needed to be a programmer?
61–70 of 193 posts
Re: Ask HN: Essential skill needed to be a programmer?
#62Re: Ask HN: Essential skill needed to be a programmer?
#63Earlier quoted context omitted.
I don't know the sense of OP, but there's a difference between 'programming' and 'software development'--the latter is done in a team. Often the terms are used interchangeably but the skills to make one a good solo software writer only overlap with developing in a group.
I intended it to be pretty open ended. Mostly interested in skills that are useful for _both_ solo and team work. I agree that there are some things that can be very useful for team work that are not as essential for solo work when it comes to programming. For example, being able to justify technical decisions to higher ups. Lots of communication skills are essential for teamwork.
I'd be happy to elaborate on that argument if you have any examples of one or more situations where you wouldn't consider communication important? :)
Re: Ask HN: Essential skill needed to be a programmer?
#64Re: Ask HN: Essential skill needed to be a programmer?
#65"Programmers are not to be measured by their ingenuity and their logic but by the completeness of their case analysis."
Well-engineered programs cover all the cases: they handle what they must handle, and have an answer for the rest which is better than "oh shoot, didn't think of that".
The main programmer skill is remembering to ask yourself, "under what conditions won't this work?" or "what inputs or situations break this?" and being able to come up with excellent answers.
Also, asking this question: "though this appears to work, where are all the requirements (language, library, platform, ...) coming from which make it work, and are any missing?"
Re: Ask HN: Essential skill needed to be a programmer?
#66Re: Ask HN: Essential skill needed to be a programmer?
#67To 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…
Re: Ask HN: Essential skill needed to be a programmer?
#68Re: Ask HN: Essential skill needed to be a programmer?
#69Pessimism. Expect everything that can fail to fail and code defensively to deal with it gracefully. Doesn't make you much of a joy to work with though
1. All kinds of things that you never considered go wrong all the time. This trains you to consider what could possibly go wrong in the long term deeper and ever deeper. I find this carries over into non-coding activities.
2. You are continuously faced with problems that seem completely unsolvable. And, you keep solving them day in and day out for decades. This trains you to be (perhaps rationally) optimistic about what can be done. Because every problem starts out devoid of clues and devoid of clear ways to get clues. No idea what's happening or even where to look. But, it always turns out to be something! It's never evil magic. You might be left with the mystery of "How did this ever work?" But, you solved it. You committed the 3-line patch that took 3 days to write. And, you'll move on to the next unsolvable problem right after lunch.
Re: Ask HN: Essential skill needed to be a programmer?
#70There are many skills (curiosity, persistence, willingness to improve, etc) but IMO the most essential is being able to deal with your own frustration.
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.
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.