Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Essential skills for any computing professional
6 points by CrLf on March 21, 2013 | hide | past | favorite | 14 comments
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, ...

However, there are skills that are useful for all of them. Skills that no one should go about not knowing.

For example, I see a lot of people not really understanding regular expressions, which I find a very important and transversal skill.

What other skills are there that absolutely everyone in the computing world should know?




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.


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.


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.


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.


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.


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.


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


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.


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.


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.


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)


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.


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


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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: