5 ms·
> My favorite phone interview question? “What’s your favorite language?” followed by “What are it’s weaknesses?” This is also one of my favourite questions to
by DrJokepu 15y ago
> My favorite phone interview question? “What’s your favorite language?” followed by “What are it’s weaknesses?”
This is also one of my favourite questions to ask when I'm interviewing someone. Unfortunately most of the time the only response I get is confused stares. Maybe this is just a UK culture thing but it feels like many people are not prepared to display critical thinking on a job interview.
- ntkachov 15y agoDepends who you ask. Ask most people at my school and they will give you an answer of "Java". Is Java their favorite language? No. Its their only language. Also if one cannot understand the philosophy behind the language that they are using and express why they like that philosophy and what benefits it brings, they probably aren't using the language right. However, ask anyone who is great at what they do and you got yourself an hour long discussion.
- bmj 15y agoIn my experience (on both sides of the table), it's okay to say "what are the shortcomings of language_x" if you are interviewing for a specific set of skills. If the candidate has a list of languages on their CV, then it may be worth asking the "what's your favorite language" question first.
- Argorak 15y agoThats a great question to find newbies. It shows that the candidate has deep experience with the language or programming. As an ancodote: I was on RailsConf Berlin 2007, as a Ruby programmer with 3-4 years of Ruby experience. It was like being the grumpy old man (with 23 years :) ) in a group of young, happy and fundamentally unexperienced people. Most of them had about 6 month or less of ruby experience, they just hadn't seen the bad parts yet. I think any experienced programmer can rant for a least 5 minutes about his favorite language. Also, I think that experienced programmers can quickly find valid criticism even in languages that they don't use all day. And I think thats global. Most people aren't critics and will hop onto any prepared argument they can find. Thats why I hate most discussions about software.
- djhworld 15y agoIt depends who you ask, a lot of developers out there are not polyglots and mostly (especially in the enterprise world) are good old 9-5'ers who have no interest in programming outside of work time. I've encountered many people like this. Nothing wrong with that obviously, but asking a question like "what is your favourite language" is never going to yield fair results across the board
- dsrguru 15y agoI think the point here is that you want to weed out such monoglots that lack a deeper understanding of CS and instead find a hacker who loves coding and has exposure to many languages, paradigms, data structures, etc. If that's your goal, wouldn't asking "what's your favorite language" yield very fair results?
- cunac 15y agoPersonally I would think you want somebody who can get job done instead of some ADD kid which is jumping from one hyped language de jour to other. But that is only me , YMMW
- tikhonj 15y agoThat is a false dichotomy--just because somebody is interested in different languages does not mean they are "some ADD kid" and, moreover, somebody exclusively working 9-5 with no particular passion to programming is probably not "somebody who can get the job done" especially if the job is non-trivial. And if you're hiring for a trivial position, optimizing your interview process is probably a waste of time anyhow.
- onemoreact 15y agoIt takes a long time to become a truly awesome developer. And working more than 9-5 tends to burn people out over time. Which is why I suspect most of the top programmers in the world are much closer to 9-5'er than most people on HN are willing to admit. PS: One of my favorite stories of such a person goes something like this. Coder X was fired after failing to get a 6 month project finished after a full year. Greg, took two 40 hour weeks to read the documentation and slap something together to keep the project from slipping, but made a simple mistake which ended up causing significant problems in production a few days later. After fixing the problem he asked the QA people why they put it into production that quickly while missing such a basic issue was not discovered. Their response, we stopped testing your code a few years ago and this is the first problem that's showed up. The most interesting part of this story is if Programmer X had got his code to work after say 11 month he would no have been fired. Which means the company would employ someone that's 3% as effective as this guy.
- tomp 15y agoI have seen so many programming languages that my only answer to the first question can be, "None". Haskell is too restrictive, OCaml too verbose and inflexible, Java lacks closures, Javascript has weird equality semantics, C lacks garbage collection, Python lacks static typing, Clojure has too many `)))`s, Ruby is inconsistent, ... I could go on. In the end, I just settled on a language that I have to use at work (currently Python), but I'm wishing for something better to come along...
- DrJokepu 15y agoYou see, what you've just written down is a perfectly fine answer to the question.
- gaius 15y agoThere are two kinds of programming languages, those that people hate, and those that no-one uses.
- Yrlec 15y agoYou should try C#. It's like Java with closures (and some other nice features: http://stackoverflow.com/questions/610199/the-art-of-programming-java-vs-c-sharp http://stackoverflow.com/questions/610199/the-art-of-program... )
- tomp 15y agoC# is one of the most interesting languages, really. It's been developing really fast, and along with F#, it shows that MS is really putting an effort into programming language progress. However, my main concern with C# is not the language, but the libraries/ecosystem. It's so tightly bound to Windows that it hurts. There are no good cross-platform implementations, poor IDE support, and I'm pretty concerned developing for a runtime that might go away... Now, if only MS would open-source their implementation, most of these arguments would become void.
- silverlake 15y agoMono is pretty good. F# also runs on the Mono runtime.
- papercruncher 15y agoAlong the same lines, my favorite question is "What is your favorite data structure?". Most of the time, the answer is HashTable followed by a complete lack of understanding as to how a hash table works. Occasionally someone would respond with 'Quick Sort' Every now and then you get a candidate whose eyes lit up and you can't get them to shut up (in a good way). And that is the story about how I discovered judy arrays.
- v0cab 15y agoPerhaps the word 'limitations' might be more appropriate than 'weaknesses'? A 'weakness' implies some kind of flaw, whereas a limitation is something the language wasn't specifically designed to do or specialise in.
- scott_s 15y agoI think weakness is appropriate. For example, I love Python. But I only use it for automating system tasks and data post-processing. It just doesn't perform well enough for me to use it as part of the infrastructure in a high-performance system. I do consider that a flaw; it is a weakness. It is also a limitation, but when given a choice between synonyms, I prefer the stronger one.
- CaptainZapp 15y agoI was thinking about this question and agree, it's a good one. Just out of curiosity: How would you react if my answer is: Shell?
- jerf 15y agoThen I would hope to hear something about dangerous quoting or difficulties in abstracting things or how it affords some fairly dangerous practices and writing rock-solid shell scripts takes disproportional effort vs. other languages or possibly how it can be slow if you're not careful, though I'd consider that a last-tier objection. But it would be a bit of a bizarre choice. I would expect it only if you were coming out of a sysadmin position transitioning to a developer. (Which I've seen, so I don't mean that as some sort of implicit impossibility.)
- CaptainZapp 15y agoActually I'm coming from database programming, primarily in SQL, where scripting can add immense value to whatever you're up to. That said, I very much agree with your sentiments and it does require effort to write resilient, maintainable scripts. Nevertheless, for my day to day work it's probably the most useful "language".
- Danieru 15y agoI imagine he would say 'What are the weaknesses of bash scripting?'
- varikin 15y agoI love this question and have been using it lately though not tied directly to languages. It works great for frameworks and libraries (think Hibernate, Spring, etc) as well. I am uneasy about programmers who are passionate about a technology without being able to talk the problems with that technology.