Live data from Hacker News

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

news.ycombinator.com

1–10 of 51 posts

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

#1
I'm a software developer who recently started to work 4 days a week and consequentially I have some free time I want to dedicate to self improvement. I'm not looking to learn new programming languages or framework, but I just want to learn or improve code agnostic skills to do my work more efficiently.

My first idea is to improve the way and how much I use the keyboard with the final goal of typing faster and use the mouse less (my wrist will be happy about that).

Is there any other everyday skill you think is important to master? Any advice on how to improve it?

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

#2
Typing speed beyond an intermediate level will not improve your software development prowess. The more experience you gain, the less of your time developing will be spent hitting keys on the keyboard. If you're spending more than 10% of your time typing, you're probably not thinking enough.

The biggest bang-for-your-buck skill to learn as a software developer is delving one level below what you're working at and learning enough about how it works so that you can debug effectively. It will also expand your horizons so that you can see more possibilities than the next guy. Problem solving is the bread and butter of the software developer.

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

#3
1. People Skills - you can be the whizkid, but if you cannot relate and talk to the end user, your product will be worse off, and you will likely be out of a job soon.

2. How to ask the right questions - and how to ask them correctly. The clearer you are able to convey which information you are looking for, the less you will be sent on wild goose chases.

3. How to use Google well.

4. How to take a step back, relax, and refocus.

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

#4

Typing speed beyond an intermediate level will not improve your software development prowess. The more experience you gain, the less of your time developing will be spent hitting keys on the keyboard. If you're spending more than 10% of your time typing, you're probably not thinking enough. The biggest bang-for-your-buck skill to learn as a software developer is delving one level below what you're working at and lear…

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.

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

#5
> 97 Things Every Programmer Should Know

> Any programmer wishing to be a great programmer should read this! https://www.amazon.com/Things-Every-Programmer-Should-Know/d...

This book is an assemblage of short papers running on themes as different as Bugs, Error Handling, Customers, Refactoring, and Expertise.

The motivation behind the short exposition isn't to address every one of your inquiries or be an authoritative manual for programming.

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

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

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

#8
post #4

Typing speed beyond an intermediate level will not improve your software development prowess. The more experience you gain, the less of your time developing will be spent hitting keys on the keyboard. If you're spending more than 10% of your time typing, you're probably not thinking enough. The biggest bang-for-your-buck skill to learn as a software developer is delving one level below what you're working at and lear…

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 position does matter for playing an instrument well, it's far less important on a keyboard you spend 10% of your time typing on.

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

#9

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.

A shame to see this downvoted. I presume its because of the "Very few people are capable of this" bit?

I can't stress this point enough. Learn to write product plans. Documentation that delights people being onboarded to new systems is always appreciated, often by yourself months -- or years -- later. Well written bug reports, feature request, and such can easily cut developer turn-around time in half.

And to add one more thing: humility. Be the type of person nobody >needs< to listen to because they can so clearly follow you by example.

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

#10
Things that have made me a better programmer:

- Mentoring

- Outsourcing my thoughts to discussions with other engineers. Help leverage their knowledge, and help myself.

- Thinking about error handling when integrating 2 systems. Expecting failure should be part of the solution.

- Making systems that are designed in the "there are obviously no problems" vs "there are no obvious problems" which I have succeeded in various degrees. Every time I hit the latter I get sad that I failed.

- Knowing when a test is absolutely critical, and when one is optional.

- Knowing how to abstract better, into more testable code.

- Knowing what "project ownership" means and practicing it heavily.

Honestly, I still use the mouse _A LOT_. I don't use VIM for coding, I like it but I prefer JetBrains for everything.

Post reply on HN