Live data from Hacker News

Ask HN: Which everyday skill is important to master as a software developer?

news.ycombinator.com

31–40 of 51 posts

Re: Ask HN: Which everyday skill is important to master as a software developer?

#31
Good keyboarding skills are useful, but also pretty easy. Spend an hour or two reading and watching about how to do it properly, and then spend 30 minutes a day on PAWS, Mavis Beacon, Mario Teaches Typing, Typershark or The Typing of the Dead for maybe a month. Paying attention to your posture and proper technique more than everything else. Put a (paper) file folder over your hands so you can't peek.

Get an ambidextrous mouse, and try left mousing from time to time. Try to left mouse at work, and right mouse at home to give your body more variety. Use page up/page down to scroll instead of the scroll wheel; scroll wheels are super useful, but ergo nightmares.

But, that's not going to help your work that much. Work on effective communication, which is gathering information from others as much as it is providing information to others. Sometimes the other is yourself. When you see some writing or speaking or drawing that communicates well to you, study it, and think about how you would have done it, and what you can do differently to be more effective. Practice this as well. Maybe you see a manual that's terrible. Can you spend 30 minutes redrafting it and another 30 minutes communicating with the owner to get it updated?

Re: Ask HN: Which everyday skill is important to master as a software developer?

#32

Writing, especially technical writing. There is an art to writing concise, accurate text that someone can easily follow. Very few people are capable of this, and those that can have a serious advantage in their career trajectory. It doesn't matter what you know, if you can't explain it to someone else.

This. And then nearly equal in importance (or maybe more depending on your position), speaking. If you can code well, write clearly, and cogently argue your case without being a jerk about it, you will do well in the software business. Join toastmasters for at least a year. You make money by being able to do things other people can't do, or won't do. Most programmers won't or can't learn to do these well, so those th…

'Speaking' has my vote over 'Writing'. If something is not clear then people turn to 'talking'

Re: Ask HN: Which everyday skill is important to master as a software developer?

#33
post #4

Earlier quoted context omitted.

Not answering your question, I have asked HN about keyboard layout: https://news.ycombinator.com/item?id=26112993 . As a touch typist, I think that ability to use keyboard without looking at is a great skill in any use of computers. It is not about time spending, it is about ability to think and typing simultaniously without interrupting the process of viewing code.

Yes, that's a common belief, but what's really freeing up your mind to think and type simultaneously is the muscle memory, which doesn't actually require touch-typing. It's similar for players of instruments. Proper posture and hand position will greatly help in playing the more difficult passages, but it's the muscle memory that allows you to play without thinking (regardless of posture or hand position). While hand…

There is nothing wrong in the muscle memory point, but the key point is different. Whether you DISTRACT or NOT DISTRACT from your lines of code? Do you spend some extra energy for returning your view to your line of code or not spend? Are you able to free your visual stream into your brain from seing keyboard or not able?

Look at Vim workflow, one of the most popular editor for programmers, its command mode seems absolutely pesky for those who not touchtypes.

Re: Ask HN: Which everyday skill is important to master as a software developer?

#34

Listening/observing and writing. Listening/observing because you really need to understand why you build what you build and depending on what you are building you'll only figure out the "why?" if you listen / observe deeply without preconceived notions. I've tried to improve this skill for years and still struggle with it! Writing because once you've absorbed the information, you need to synthesise it and there is no…

> I read a few books about writing skills

Mind sharing the titles?

Re: Ask HN: Which everyday skill is important to master as a software developer?

#35

Listening/observing and writing. Listening/observing because you really need to understand why you build what you build and depending on what you are building you'll only figure out the "why?" if you listen / observe deeply without preconceived notions. I've tried to improve this skill for years and still struggle with it! Writing because once you've absorbed the information, you need to synthesise it and there is no…

> I read a few books about writing skills Mind sharing the titles?

Sure!

"On Writing Well" by William Zissner

"The Elements of Style" by William Strunk Jr., E.B. White

"Stein on Writing" by Sol Stein

"Self-editing for Fiction Writers" by Dave King

Re: Ask HN: Which everyday skill is important to master as a software developer?

#38
post #33

Earlier quoted context omitted.

Yes, that's a common belief, but what's really freeing up your mind to think and type simultaneously is the muscle memory, which doesn't actually require touch-typing. It's similar for players of instruments. Proper posture and hand position will greatly help in playing the more difficult passages, but it's the muscle memory that allows you to play without thinking (regardless of posture or hand position). While hand…

There is nothing wrong in the muscle memory point, but the key point is different. Whether you DISTRACT or NOT DISTRACT from your lines of code? Do you spend some extra energy for returning your view to your line of code or not spend? Are you able to free your visual stream into your brain from seing keyboard or not able? Look at Vim workflow, one of the most popular editor for programmers, its command mode seems abs…

I don't view code as lines, but rather as chunks of logic. When I'm writing, I don't need to see what's on the screen because I already know how it is; the task is transforming it into how I want it to be. The process goes: thinking (5-10 minutes), typing (30 secs to a minute), thinking, typing. Most of the time I'm not even looking at the screen, even when typing. The typing part is just writing the stream of completed thoughts to the computer.

Re: Ask HN: Which everyday skill is important to master as a software developer?

#39
Brainstorming and mapping out your ideas and concepts before diving in to code are very fundamental to an expert workflow. I would recommend getting a notebook with dots or gridlines for modeling out creative tasks, and getting a dry-erase board and some fine-tip dry-erase markers for quick drawing and task management.

For using the keyboard exclusively, I would recommend using the text editor Emacs which is very old (as old as linux?) and very stable, has keyboard actions for moving up and down by row, across by any number of characters, switching between buffers, and even has a built-in "undo tree" that you can walk back and forth to see code changes very easily.

Re: Ask HN: Which everyday skill is important to master as a software developer?

#40
Listening is what I would pick.

Learn to actively listen to what people are saying, what they don't say, and, most importantly, what they mean.

This will serve you in any career, but software devs who can grok what is meant rather than what is said are especially valuable.

Why? Because so much of what we deal with are abstractions that can be slippery and mean different things to different people. Getting a firm grasp on everyone's meanings is crucial to bridging divides and delivering value.

Post reply on HN