Live data from Hacker News

Core competencies of great hackers

giraffesoft.ca

31–40 of 116 posts

Re: Core competencies of great hackers

#31

Typing speed? Not sure how much code people here write per hour, but I doubt typing speed is a real issue (the ratio of my staring at the screen thinking versus coding is probably 10:1).

Wish I could give the parent more mods...

I personally touch-type maybe 50 wpm but that's for documentation, not code. If you are attempting to create code at the speed that you type, you are insane ... or you will be soon, when you try to debug it.

If someone was lucky enough to think faster than they could type, they'd be able to think twice before they added more code to a program - a good thing!

Just think. Is wpm a measure of a great writer? How could it be a measure of a great programmer.

I'm not sure what a "great hacker" is. Are they something like sysadmin or maybe someone who does security?

Re: Core competencies of great hackers

#32
post #11

Earlier quoted context omitted.

Every "hacker" I've met either: Doesn't use windows. Uses the tools listed in the article on windows. (well, windows equivalents anyhow) I think the message was more of "Know your tools, know them well. Know them, and what they are capable of so that you may wield them to their fullest potential". For software, this involves reading the source when it's available.

Could that be because you exclude Windows hackers from your definition of "hacker"? I know some folks on the Google Toolbar team. I don't use Toolbar, and neither do any of my friends. It's desktop software, and desktop software for Windows, so I mostly ignore it. But their installed base is huge . I'd wager that if you added up the combined user base of every Web2.0 startup mentioned on this site, you still wouldn't…

Exactly, and look at IE6... combine the amount of every web 1.0 startup's VC funding and you wouldn't have the number of users that used IE6.

AND they used Visual Studio.

Userbase != great hackers

Re: Core competencies of great hackers

#33
post #11

Earlier quoted context omitted.

Every "hacker" I've met either: Doesn't use windows. Uses the tools listed in the article on windows. (well, windows equivalents anyhow) I think the message was more of "Know your tools, know them well. Know them, and what they are capable of so that you may wield them to their fullest potential". For software, this involves reading the source when it's available.

Could that be because you exclude Windows hackers from your definition of "hacker"? I know some folks on the Google Toolbar team. I don't use Toolbar, and neither do any of my friends. It's desktop software, and desktop software for Windows, so I mostly ignore it. But their installed base is huge . I'd wager that if you added up the combined user base of every Web2.0 startup mentioned on this site, you still wouldn't…

Could that be because you exclude Windows hackers from your definition of "hacker"?

No, it couldn't. The person out of the group of people that I know personally that I consider "hackers" uses Windows primarily, and knows a bunch of crazy APIs inside and out. He does whip out VS for some stuff, but the vast majority of his code is written in emacs.

I'm not saying the article is right all the time, but I think it's a pretty good rule-of-thumb.

My experience coinciding with the article is more of a function of "I really don't know very many people" than "I don't think there can be such a thing as a hacker that uses windows, or microsoft tools".

Re: Core competencies of great hackers

#34

Typing speed? Not sure how much code people here write per hour, but I doubt typing speed is a real issue (the ratio of my staring at the screen thinking versus coding is probably 10:1).

Typing speed is important for the reason the article mentions -- micro-interruptions. Most of the time, you just have to type a few words, and the editor will complete the rest for you. Fine. But a lot of the time, you are typing a symbol for the first time, and autocompletion doesn't really help. It breaks your flow if you can't type this symbol quickly and correctly the first time. (It is also worth pointing out that I can type most words faster than it would take to cycle through potential expansion candidates, so I only use it for moderately-long identifiers. Abbreviation expansion becomes less of a time saver when you learn to type more quickly.)

Anyway, a few months ago, I decided I would learn to properly touch-type (and increase my typing speed). It was very difficult at first -- I couldn't type at all, and even simple programming made me really mad. A few months later, I can type significantly faster, and I make many fewer errors. (As an aside, I don't think touch-typing was really designed for programmers. All the important symbols end up under your pinkys, which is not very comfortable. So I compromise and type some symbols like ()- with my ring-finger. This probably reduces speed, but it doesn't hurt my hand.)

The common response to typing is "programming is not about typing, it's about thinking". Sure, that's mostly true. Nobody expects you to sustain 120 wpm typing for eight hours a day. But, it's very helpful to type quickly in bursts, to get your ideas in to code form as quickly as possible. Sketching out that idea in 2 minutes instead of 3 means that your brain has more time to think about the problem, and has to waste less of its time babysitting your fingers. I know I get mad when my typing speed is delaying me from trying an idea as quickly as possible. That's why I decided to do something about it.

I'm glad I spent the time to practice typing. It has made programming and writing more enjoyable, and didn't take much time or effort at all. The dismissive attitude of "programming doesn't require typing skills" is extremely naive.

Re: Core competencies of great hackers

#35
post #24

Typing speed? Not sure how much code people here write per hour, but I doubt typing speed is a real issue (the ratio of my staring at the screen thinking versus coding is probably 10:1).

There are at least two people who I'd dub "great hackers" who type essentially, two fingered. One of them suffers from horrible RSI (but, at one point, had the company hire someone to be their hands). The other didn't grow up around computers/type writers (growing up in the 1940s/1950s in Soviet Union), didn't really heavily program until after graduate school and for the first decade mostly programmed by writing cod…

There was a guy I worked with who was one of the most productive people on the team and a great coder. He could type fast, but not by touch - hunt and peck all the way. When he had his ergonomic evaluation, after seeing the way he typed, the evaluator recommended he try voice recognition software. He didn't.

Re: Core competencies of great hackers

#36

Typing speed? Not sure how much code people here write per hour, but I doubt typing speed is a real issue (the ratio of my staring at the screen thinking versus coding is probably 10:1).

I believe that corresponds with comfortable familiarity with and proper use of one's tools. I view a non-touch-typing hacker/coder much like a carpenter who drives nails using a hammer's handle. (The inevitable reaction from both camps: Hey, what's your problem? I'm using my tools to get the job done!)

Typing ability is an effect rather than a cause of hacking ability.

It's not so that you can type code quickly. The bottleneck in coding is always the thinking time, or you're using an overly verbose language.

Typing is important because hackers communicate with one another using a keyboard. I've worked with programmers who couldn't type quickly enough to have a comfortable conversation over IM. It's torture.

If you can't type, it's probably because you're not communicating enough. Hacking is not a solitary activity, and it's mostly not coding.

Re: Core competencies of great hackers

#37

- Type fast - Use Linux - Use TextMate/VI/emacs - Don't read documentation Sounds like "Core competencies of ruby on rails hackers"

"We haven't met a single great hacker that relied on an IDE, although we hear they exist."

Sounds like GiraffeSoft folks don't use languages with type info and a graphical debugger. I certainly wish TextMate could handle static info and had a JVM debugger. I would love to code scala in TextMate.

The IDEs are too heavy. I don't like them. But if you want/need a debugger and type info for refactoring and exploration, you don't have much choice.

The other three items they list seem on target. The one about great coders don't use IDEs is highly dependent on what language and kind of code your writing.

Re: Core competencies of great hackers

#38

Earlier quoted context omitted.

The article was pointing out correlations, nothing more.

"We haven't met a single great hacker that relied on an IDE, although we hear they exist." The implication here is completely in the negative. Further, it's like saying "If you want to be a hacker, use English measuring units because we've never any met any great hackers who use the metric system." Just because a bunch of rails hackers don't use an IDE doesn't imply the contrapositive.

I hear they exist, I've just never met them. That could be my sampling bias. None of the people around me relying on IDEs are great hackers.

Instead of arguing about what might have been implied in what I wrote, I'd rather you introduced me to people you consider great hackers that use an IDE. Know any?

Re: Core competencies of great hackers

#39
post #2

I don't want to start a war but I'd say that this list is about the differences between a Windows VS Linux developer. The thing behind what is said is "get your eyes off of the nice UI. Look and type code".

The thing behind what is said is "get your eyes off of the nice UI. Look and type code".

Hmmm. I'm currently working a project targeting handheld devices written on the .NET Framework, meaning I'm using Visual Studio. Currently, my IDE looks a whole lot like an instance of Vim or TextMate--no widgets outside of the top level menu displayed, and I typically use keyboard shortcuts for builds, navigating, etc, etc.

Re: Core competencies of great hackers

#40

Typing speed? Not sure how much code people here write per hour, but I doubt typing speed is a real issue (the ratio of my staring at the screen thinking versus coding is probably 10:1).

Typing speed is important for the reason the article mentions -- micro-interruptions. Most of the time, you just have to type a few words, and the editor will complete the rest for you. Fine. But a lot of the time, you are typing a symbol for the first time, and autocompletion doesn't really help. It breaks your flow if you can't type this symbol quickly and correctly the first time. (It is also worth pointing out th…

Learning vim (edit: or emacs) is another step in the same direction (less transition to the mouse.) I agree that raw typing speed isn't that important. What I like is being able to see what is in my mind show up on he computer without too much hassle, so I can focus on a) perfecting my mental model of how the system behaves and b) creating a new model for the system.
Post reply on HN