7 ms·
I like it, but in 3 months she got 2/5 in rails, 2/5 in javascript and 2/5 in git? I doubt thats even possible... I've been working with each of those for ~6
by nwienert 14y ago
I like it, but in 3 months she got 2/5 in rails, 2/5 in javascript and 2/5 in git? I doubt thats even possible...
I've been working with each of those for ~6 years and I'd still only put myself at a 4 and if I was being generous. It's funny the longer you work with something the more you realize how little you understand it. I probably would have put myself at a 2/5 in those categories 5 years ago, but looking back, I'd rate myself at 1/5 instead.
- xxpor 14y agohttp://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
- moe 14y agoI didn't sense any Dunning Kruger in her self assessment. Indicators for that state of mind are actually fairly easy to spot, e.g. when you see someone quoting it without any further justification.
- arockwell 14y agoI think you should look at 1-5 or 1-10 scales logarithmically. It doesn't take a whole lot of work to become basically competent in a git or Rails (2/5), but to become an expert (4/5) takes exponentially more work.
- aliz 14y agoWell, I didn't know there was a standard... for me it just felt "I know more Javascript than Haskell etc" so I put one more black square. So maybe I should change it to 2 out of 7 or whatever. :/
- ascendant 14y agoDon't let pedantic nerds get you down. It's fine. Full disclosure: I too am a pedantic nerd.
- nwienert 14y agoWasn't trying to be pedantic, just giving feedback. In fact I totally respect the relativity of the scale, I would just say if it was for a job interview you'd want to maybe do as you said and adjust on a larger scale. My point was 2 months in JS != 40% knowledge of JS. If that came across as pedantic, I apologize.
- michaelochurch 14y agoIt might be a weighted 40%. As in, she knows 40% of what she needs to know or will encounter in real-world JS... or she's 40% as productive as she'd be with maximal fluency. There's probably a Zipf's Law over programming idioms where you can pick up the first half in a few months, the next quarter takes a year or so, and the last quarter takes more than a decade to encounter, comprehend, and be able to use masterfully. Using a frequency-weighted metric, I would say that I'm 70-95% fluent (unknown unknowns make it hard to get confidence in a number) in my best languages, but I'm not an expert in any of them (and I'd only rate myself 3-3.5 on a 5-point scale, because percentage fluency on first-order concepts isn't the only important thing). I don't think it's hard to get to that point. Getting those last few percentage points is much harder.
- nwienert 14y agoAliz, I guess I was responding to the OP comment about resume's more than anything and didn't mean to offend. I really like your use of a scale, and your project is very impressive!
- moolcool 14y agoYou have to be reasonable about the scale. A 4/5 in English by your standards would also imply a deep understanding of root languages, old English, literature etc...
- law 14y agoBecoming "fluent" in a programming language is vastly different from becoming "fluent" in a natural language. I hate when people make that comparison. How often does one ask for the etymology of the "if" statement and to what extent is such an understanding required for programming language mastery?
- tikhonj 14y agoActually, I think knowing the history and theory behind a language (as appropriate) is very helpful. Particularly, if you're using a language like Haskell or Ocaml, it helps to have at least a vague idea of what a functor actually is and where the idea comes from. (I actually only realized that functors were actually similar ideas in both languages a couple days back.) On the other hand, if you're using a language like JavaScript, understanding the history (especially the languages that influenced it) makes understanding some of the "quirks" much simpler. When you see the influence of Scheme, the scoping suddenly makes much more sense, for example. So, over all, I think understanding the background of a language really helps for complete mastery.
- law 14y ago> Particularly, if you're using a language like Haskell or Ocaml, it helps to have at least a vague idea of what a functor actually is and where the idea comes from. (I actually only realized that functors were actually similar ideas in both languages a couple days back.) I could not agree more! Understanding the significance of particular keywords is quite important when failing to do so will affect your ability to successfully use the language. I distinguish that from my argument, which I premised on such knowledge not affecting one's ability to successfully use the language.
- moolcool 14y ago
- Hominem 14y agoI had an interview that asked me to rate various skills on a 1-5 scale. I think I gave myself a 1 in t-SQL and a 2 in C# even though I had been programming professionally in C# since the .NET beta SDK. I was worried they would pull out some crazy trivia questions and and try to trip me up if I rated myself too high. After I rated myself so low they almost didn't want to continue the interview. I think most places are not like google where if you say 4 it means you invented the language.
- wwarneck 14y agoI do a lot of interviewing and I almost always ask people to rate themselves on a scale of 1-10 in their primary language with a note that I recognize I don't expect our scales to match. After they answer I ask what they learned last to raise their knowledge along their scale, what they're learning now to try to grow further (if anything, sometimes you're just executing not learning,) and if the candidate is applying for Senior Software Engineer or higher what "gotchas" they typically look for in a junior coworker/employee that would be rated lower on their scale (during a code review, for example.) I usually get really thoughtful answers and gather a lot of insight about the candidates mastery of the language, mentoring and overall thought process.
- tedmiston 14y agoAs if rating one's skills in a particular subject with a 1-5 rating under no context bears much meaning... it's so arbitrary as to be insignificant (but it could be a cool concept if not abused). It also depends on one's motivation for representing their skill level; for example, jobseekers probably overestimate their skill levels. It would be great to have a standardized rating system based on a few different tiers wrt a language/framework/etc.: 1 - Wrote some really basic code in the language ... 5 - Wrote some really, really advanced code in the language
- Aftershock21 14y agoI mean how advanced can you be in a scripting language ? There is no memory management, no low level systems knowledge required. Can you give me an example of writing really really advanced code in Ruby or Python ?
- hythloday 14y agoPeople downvoting: this guy is admitting to his ignorance and actively and constructively asking to be challenged on it. I don't think that's the kind of comment we want to downvote here, even if the tone makes you bristle.
- noonespecial 14y agoManaging memory and using low-level system functions is only advanced when the problem at hand requires it. Otherwise its yak-shaving. It would be like digging a pool with a spoon because you're too bad-ass for shovels.
- Aftershock21 14y agoI totally agree. I would not write web services in C++ unless I have only one computer and million users.
- ismarc 14y agoYou've been downvoted a decent amount, and I can see why, but I believe it is unfair because it's only due to your perspective. At one job I ended up having a lot of work writing language bindings from C to what is commonly considered a "scripting language" (TCL), so it's easy to have to deal with memory management and low level systems knowledge in relation to a scripting language (knowing the semantics of memory management within a language drastically changes how you have to write the bindings). However, the idea is to rate your skill with that particular language. No matter what the most advanced state is of a language, a 5/5 (or whatever the scale is) means that you can accomplish the most advanced task possible in the language. That doesn't mean that someone who is, say, 5/5 in Perl, will have the same skillset and capabilities as someone who is a 5/5 in AT&T syntax assembler. However, there are a list of base assumptions of skills they do have that may align with what we need as a developer when looking at resumes.
- ptbello 14y ago--the longer you work with something the more you realize how little you understand it http://en.wikipedia.org/wiki/Metacognition http://en.wikipedia.org/wiki/Metacognition