

Ask HN: Essential skills for any computing professional - CrLf

There are many sub-areas within the computing world: not only programmers and systems administrators, but web programmers, java programmers, .net programmers, ... , and linux administrators, windows administrators, network administrators, etcetera, etcetera, ...<p>However, there are skills that are useful for all of them. Skills that no one should go about not knowing.<p>For example, I see a lot of people not really understanding regular expressions, which I find a very important and transversal skill.<p>What other skills are there that absolutely everyone in the computing world should know?
======
mixmastamyk
There are probably few high-level things EVERYONE must know, I'd focus a bit
lower. A pro must know how to/understand:

\- read/write english

\- type (mentioned)

\- parts of a computer & what they do, GUI

\- exposure to Windows, OSX, and Unix

\- networking, tcpip, internet basics

\- unicode, i18n, L10n

\- use of a web browser

\- how to search (google) effectively

\- email, office suite, edit photos

\- command line

\- script repetitive tasks

\- make backups, version control

\- security basics

\- troubleshooting

\- planning, testing procedures, i.e. make one change at a time, staging,
production

\- SDLC

Then move to the requirements for your discipline, such as developer, qa, or
admin... which get highly specialized quickly. I could list some but this post
would get too long as I'd have at least three lists.

I believe regexes are overused, and wouldn't recommend them to most.

------
lsiebert
How to type on a keyboard. I don't think you have to have perfect touch
typing, but you should be 30 words per minute at the very least.

The other one is testing and debugging. Something I'm always trying to do
better, personally, but whatever you do, understanding both the process of
debugging, but also the though process (edge cases, common issues, breaking
problems up into sub problems, etc.) is important.

It's hard to talk about generic skills for computing though. There are many
useful skills I have, but I'm not sure they cross domains.

~~~
CrLf
Funny enough, in every discussion that I have about this subject typing never
comes up... Indeed there are a lot of people in this profession than can't
type properly. I wonder if this isn't one of the underlying issues when
discussing CLIs vs GUIs.

~~~
tqc
Typing isn't nearly as important as it may at first seem - how much code do
you really type? Sometimes I might produce 10 lines of code in a day, all the
effort going into knowing exactly what those 10 lines should be. Even the
worst typist can beat 0.05wpm.

~~~
CrLf
Typing isn't just coding. Even if you code a lot, you probably spend more time
typing other things than code.

The importance of typing fast is not letting your typing slow you down.

~~~
tqc
The same applies there, albeit to a lesser extent - if typing slows you down,
you might not have thought things through.

That said, I have been typing more than writing for many years and am now
thoroughly incompetent with a pen.

~~~
lsiebert
Actually I spend a lot of time typing documenting my code, so that my though
process at the time is clear.

------
mrlyc
How to convince people that their design could be improved. Say "How about if
we..." instead of "You should...".

What to do when other team leaders keep asking you for help. Tell them to ask
your manager so he can set the priority of the task.

How to work on multiple projects at the same time. I found it helpful to have
a prioritised todo list for each project with a master todo list covering the
most urgent or important tasks for all of them.

------
tqc
Specific skills don't matter much, and you'll never be able to cover more than
a tiny fraction of them anyway.

What really makes a difference is basic problem solving and logical reasoning.
For just about any specific task google will give you some code samples, but
if you can't form a consistent mental model of what the computer will do with
that code, you won't be able to use it effectively.

Regular expressions are just an implementation detail.

------
LarryMade2
I'm going to go the "touch feely" route:

Curiosity (How does that do that? How can I do that?)

Imagination (I think I can do that better, or cooler, etc... This may be
optional, administrators may not need that as much.)

Drive (Not just talking or thinking about stuff but doing it.)

Persistence ("Crash on ME? oh, yeah? Well, how about I do this!")

Patience (if there isn't a way now there will be sooner or later)

~~~
LarryMade2
One more -

Memory (being able to keep things in memory short and long term, really help
solve problems.) Reason why a lot of programs are poorly documented is
developers keep most of it in memory. Mainly because they work faster that
way.

------
hashtree
One that I think is vastly overlooked is being able to really comprehend
numerous forms of technical documentation quickly. I was always surprised how
some developers take quadruple or more time to work their way through than
other devs. I have even come across devs that seem to be unable to do so and
must rely on tutorials and how-tos.

------
codemonkeymike
The ability to learn from reading. That and knowing were the parenthesis keys
are without looking.

------
asapargali
How to find information. I think you know what I mean and why.

