4 ms·
I'd name the law after the guy who told me this but I don't have explicit permission (he'd probably be OK with it, but I don't see him often and he's a well-kno
by michaelochurch 13y ago
I'd name the law after the guy who told me this but I don't have explicit permission (he'd probably be OK with it, but I don't see him often and he's a well-known CS person) so let's just call it Smith's Nineteenth Rule: the quality of a candidate is inversely proportionate to the number or technologies listed on the resume.
One startup idea I've had is a scarce resume system where people are limited to 7 technologies and allocate 10 points in each for skill and interest (3-5 points means you're really good or really interested). It's like building a character sheet. More information in that than a typical resume.
- fecak 13y agoSmith's Nineteenth Rule is probably spot on based on most resumes I see. The ones that list every insignificant detail are sometimes good at getting interviews (particularly in companies that use ATS or train recruiters/HR to scan for single words), but not always successful. Again, as someone who specialized in Java for many years, this was something I'd see on a daily basis. I see it much less now in the camps I deal with regularly (Python, Ruby, FP, mobile) but that probably has something to do with the technologies themselves and naming protocols.
- michaelochurch 13y agoThe Java programmers tend to be enterprise types (not to knock that; a few of those are really good) who aren't especially selective in the technologies they work with. Until about 5 years ago, using Python meant you deliberately went out there to find non-standard technologies-- you were passionate about more than just getting a job. Short technology lists show selectivity. For example, I've dealt with XML but I'm not going to put that on my resume. I don't even know what it means to "know XML".
- fecak 13y agoJava programmers tend to have longer lists for a few other reasons. For one, the number of available frameworks, IDE's, and other tools is much more significant than other language ecosystems. There really isn't another dev group that has as many tools available between the vendor and open source options. There is also the tendency to name every single Java API - you can't just say you know Java EE (formerly J2EE), but you have to list EJB, JSP, JMS, etc specifically to get picked up by searchers. There are many Java devs who worked with JSP and servlets that didn't use EJB, but when EJB was in high demand everyone listed it anyway.
- jerf 13y ago'I don't even know what it means to "know XML".' There's definitely such a thing: Do you understand entities and how they work? (There's more to it than just & and <. Without looking it up, do you know what a Billion Laughs is, and why it's related to entities?) What's in a DTD? Do you understand XML namespaces properly? (e.g., in the tag <x:test xmlns:x="http://blah.com/ns1" http://blah.com/ns1" att="1"/>, what namespace is "att" in? What, exactly, does the http://blah.com/ns1 http://blah.com/ns1 mean? How does it relate to blah.com or the content at http://blah.com/ns1? http://blah.com/ns1?) Do you have an understanding of the various schema languages? Do you understand how encodings interact with XML? Are you familiar with the terminology (e.g., can you precisely answer "What is CDATA?", with some idea of where in the XML grammar it appears and what characters are and are not allowed)? Do you know what a processing instruction is? What is the correct way to embed binary data in XML? BTW, the answer is generally no. "Everybody" understands a subset of XML with balanced tags and simple attributes, but I'd guess single-digit percentages of the people who have "XML" on their resume really know XML, rather than the simple subset. Fortunately, as an interchange format, since nobody understands XML, nobody uses it to its full capacity, those few who try use it incorrectly, and it turns out there isn't a heck of a lot of reason to actually know the full scope of XML, since in general you're unlikely to encounter correct advanced XML anyhow. You can easily go an entire career without ever seeing the advanced features used correctly. Actually knowing XML can be almost end up being an impediment, you're almost better off having a fuzzy understanding so that when you encounter some developer's weird half-assed dialect, you're less shocked and just get on with it. (I am aware that some of my example questions there are themselves based on false premises. Consider them trick questions.)
- dasmoth 13y agoDoesn't that just encourage those who do have a range of technologies at least somewhat under their belt to tweak their skill-weights on each application to bring it closer to a presumed "perfect skill vector" for that job? (...or is that the whole point...?)
- michaelochurch 13y agoAlso listed would be years of experience, in the first iteration. In a later one, I'd want to replace that with some way of evaluating directly a person's general skill level on a scale like this: http://michaelochurch.wordpress.com/2013/04/22/gervais-macleod-23-the-shodan-programmer/ http://michaelochurch.wordpress.com/2013/04/22/gervais-macle... That would take a long time to figure out, though: how to evaluate programmers in the general case. 3 points of Machine Learning with 20+ years of experience (or 2.0 level skill) is different from 3 points from a fresh college student. The first means he's probably an expert; the second means he specialized in it while in school. Resumes have two purposes. One is to give a list of topics one is willing to discuss in the interview. The second is to project social status (i.e. lie). So you have a mix of self-evaluations and lies on a resume. The latter don't have signal, but the former do. The reason for the 10-point allocation is that self-evaluation has a great deal of signal if a person is expected to trade off one claim against another ("i.e. I know Java but I'm really good at Python" vs. "yeah, I'm an expert in all languages").
- biondim 13y agoThis can never work. Resume's have only one purpose - they are marketting materials for folks looking for work. Everything else has to be considered within that frame reference.
- fecak 13y agoTo some extent what Michael is saying is already true, but since resumes don't have a character limit candidates aren't held to it. If you were given a finite amount of space, such as one page, what would you choose to describe? What Michael is proposing is essentially limiting what you can say. If you had an online application that said to list 3 technologies that you use, that would probably be quite different than the list of 30 you may have on your resume, and it would send a strong message about how you truly value certain skills.
- d23 13y ago> One startup idea I've had is a scarce resume system where people are limited to 7 technologies and allocate 10 points in each for skill and interest (3-5 points means you're really good or really interested). It's like building a character sheet. More information in that than a typical resume. I'm not sure if it's a good startup idea, but I definitely plan on doing something like this one my own resume next time I have to job hunt.
- jiggy2011 13y agoIf you get to rate yourself from 1-10 isn't the standard approach just to make yourself a 9 in whatever you are most familiar with and weigh everything else relative to that. So if your main programming experience is a couple of semesters of Java at university you are a "9" at Java and a "7" at PHP because you built a website for the knitting society.
- microtherion 13y agothe quality of a candidate is inversely proportionate to the number or technologies listed on the resume. In some cases, maybe, but there are genuinely people who have worked in lots of technologies, and others who have stuck with the same stack (in other fields, this is also known as the fox vs. hedgehog paradigm). Making both types list the same number of technologies elides an useful distinction. I also find it somewhat naive to advise “selectivity” and “focus” in resume writing, if said resume is then filtered by machines or humans doing keyword spotting for specific technologies (and implicitly assuming you could not possibly learn them if you haven’t listed them on your resume). What I’d try to do is an expansive listing, but providing perspective. In my case, I’ve written C++ pretty much every day for the last 25 years; I wrote a substantial amount of Tcl/Tk for 3 years, 15 years ago; I used PostScripts for 2 smallish tasks, both of which left the customer amazed and happy. I feel entirely justified in listing all three languages, as long as appropriate qualifiers were added.
- fecak 13y agoThe difference here is people who have worked with a technology and people who are listing technologies that they have 2 weeks with in the same group as the technology they have 5 years in. I'd hope that you would somehow differentiate your expertise in C++ from your rusty Tcl/Tk. If you list them side by side with no differentiation, it almost serves as you misrepresenting yourself (not intentionally perhaps). If you are providing perspective as you say, you are not part of the problem here. It is a bit naive to advise candidates to be selective when they know that a machine might be ranking their words. If candidates that have 9 page resumes and 2 pages of buzzwords stop getting phone calls and find out why, that will solve the problem eventually.
- throwaway420 13y agoDoesn't relying on people to accurately rate themselves make their rating sort of susceptible to the Dunning–Kruger effect?
- fecak 13y agoResumes suffer the same problem, which is why something like the product I'm working on GeekRez at least takes a bit of that effect away. References are also one part, but again it's easy for most people to get someone to say they are good. On a resume you can say you are the best in the world. You control your self-assessment on a resume, but have no control over what someone thinks of your code or what someone thinks of your answers on Stack Overflow (reflected in your reputation).