Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If you can go from 4 to 10 in something new every few years, that's amazing in itself. (although maybe we're using different 1-10 scale here; mine is probably log and I'm probably and 8.x at my strongest skill, and 4-6 for secondary skills after some solid effort.


That's why I hate the 0-10 scale for skill level.

Some folks consider a 10 to be the guy who invented the language/technology. Linus, DHH, etc. Almost no one is a 10 on that scale.

Others consider a 10 to be "I'm an expert in any of the tasks you're going to be asking me to perform with this tech". That's the scale that's more important to me.

Then, of course, you get the brand new grad who says they're an 8 in a language despite never making anything that's not a basic class project in it...


What most people seem to do with these scales is pick the language that they are most comfortable with and say that they are an 8 or 9 in that and then arrange everything else on the scale relative to that.

The problem with this is that your overall numbers are likely to go down over time.

If you are a college freshman who spent a weekend learning JS then you can now probably do most of everything you can do in your main language (say Java). That means that you put down "5" for JS.

Once you've got a few years under your belt, your knowledge in any new language has a much higher standard to meet.

I filled in a questionnaire for a job once that has vague questions such as "Rate your skills in TCP/IP , Novice/Intermediate/Advanced".

I had no idea what the scale was here, did advanced mean being able to write a TCP/IP stack from scratch, identify bottlenecks in huge networks or what?

I was trying to decide whether to tick novice or intermediate however it turned out that "advanced" actually meant being able to run traceroute from command prompt and set A records in DNS.

I remember the advice a friend of mine gave me, he said "Just put 10 for everything, you'll get an interview"


I just put that I had worked with TCP/IP on a resume once, and they asked me what fields were in a TCP header. I was able to reconstruct all but one from first principles, since I didn't actually remember them all.

If I'd put "10" in TCP/IP for that company, I would have been slammed in the interview. As it was I passed. Apparently no one ever remembers the CRC byte in the TCP header. :)


People who have to worry about checksum offloading for high performance know this :) ... This is a feature of high end network cards.

(although, in fairness, I'd only require that level of knowledge at the tip of tongue if someone was going to be a network stack developer or high level sysadmin/network admin -- for a regular web developer, just knowing that there are tcp headers and flags which can be set, and which might get mangled by devices between client and server, is enough.

It's CRC at the level below TCP (well, 2 layers below: ethernet)


From my limited experience the right answer is always 7. It's a BS question so yes there is a right answer.

Here's why: When I see resumes, the only people who put 10s are recent college graduates. They put a 10 for Java and then don't know what a hashCode is. This demonstrates more about the question than about the candidate

I've also interviewed at a few places, been asked the 0-10 question on a set of languages and been told that 5 "wasn't what they were looking for" and they wanted "10s only." This demonstrates more about the company than about the question.

The right answer is 7. It says "I'm good, but not Linus Torvalds" and if anyone asks a follow just say "I'm never really sure what to say there." It doesn't matter if your answer means anything because the question doesn't


I recall a blog post where someone remarked that "7 is really a 3". Precisely because of Dunning-Kruger: people who don't know how big the field is just say 7 because it seems reasonably high and yet doesn't imply mastery.

That'd imply that game-theoretically, the right answer is 8. ;-) Enough to tell the interviewer that you've gotten past 7, yet not so high to make them think that you think you know everything.

(Personally, I've taken to saying "Judge for yourself" and listing my accomplishments. That's what they're really interested in, they're going to do it anyway, and this way I show enough confidence in my own abilities that I'm willing to let others judge them.)


I he only legitimate use for that question is to have an easy excuse to no-hire an idiot who says "10".

The correct answer is "I dunno, what does 5 mean" to show humility and an insistence in meaning in metrics, and if pushed say 6, and trust that decision makers at anywhere you care to work ignore the dufus who insisted on a number.


"When I see resumes, the only people who put 10s are recent college graduates. They put a 10 for Java and then don't know what a hashCode is."

Please tell me what colleges these graduates are coming from so I know never to hire/work with any of them, ever.


I don't think that's a specific problem with the colleges themselves.

It's just when you spend 3/4 years in that kind of bubble and you get getting good marks on all your assignments you are naturally going to think "I've mastered Java" based on evaluating the only evidence presented to you.

Of course there is a difference between knowledge and aptitude here.

Would a candidate who doesn't know what .hashCode() does but who after a 10 minute explanation says "yes, I understand now makes sense" be a bad hire?

I program a lot of Java but I am unfamiliar with huge amounts of both the language and standard API (especially the parts dealing with 'enterprise' stuff and concurrency). This is mainly because I explicitly design my Java apps around a shared nothing/POJO-JPA configuration and I don't use RMI , Reflection or JMS.

Does that mean I am a bad Java programmer?


A phonology professor of mine at Ohio State spent 20 minutes during one of my classes discussing the syntax and semantics of grade point averages, which i have to say, was one of the most useful things anyone had ever explicitly taught me while at Ohio State.

In particular discussing how, despite using the same syntactic formalism, the semantics of what was considered "passing" for undergraduate students vs for graduate students was something no one had ever enunciated to me explicitly (e.g. you pass as an undergrad if you're getting Cs. If you're getting Bs as a graduate student, you are doing it wrong).


And it's not because grad students are supposed to do better, it's because grad school grades are more inflated.


It's because grad school grades are meaningless. No one ever asks about your grad school GPA. So "A" means "pass" and "B" means "fail".


In the job interviews I held, I clearly stated on the pre-hire self eval, "0 is I've never used it, 10 is I wrote a book on it"

And I'd STILL get people who rated themselves 10 in multiple categories.


  >> If you can go from 4 to 10 in something new every few years, that's amazing ...
If you follow edw519's posts (and I recommend that you do#), you will see he is an amazing guy whose life revolves around programming.

#see http://news.ycombinator.com/user?id=edw519, free ebook, "The Best of edw519": http://edweissman.com/53640595

Also well worth following:

http://news.ycombinator.com/threads?id=pg

http://news.ycombinator.com/threads?id=patio11, http://www.kalzumeus.com

http://news.ycombinator.com/threads?id=tptacek

http://news.ycombinator.com/threads?id=cperciva

and many others...




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: