10 ms·
I dunno, I think Java vs Rails is a great question if asked right. There are large meaningful and practical differences between the two and every non-jr progra
by siliconc0w 9y ago
I dunno, I think Java vs Rails is a great question if asked right. There are large meaningful and practical differences between the two and every non-jr programmer should at least be able to talk about the technical and business merits of using one vs the other.
There isn't a right answer, you basically just start shallow and probe until either you or the candidate can't go any deeper. This question could lead you into exploration around the JVM, concurrency, memory management, typed vs un-typed, choosing libraries, toolchains, dependency management, strategies for persisting state(i.e ORMs), back-of-the-envelope performance, etc
I'm pretty sure I could get a full 45 minutes out of that question.
- joncrocks 9y agoSo you mean Java vs. Ruby? ('Rails' being 'Ruby on Rails') Java vs. Rails is a bad question as it's comparing two things that aren't equivalent. One is a language, the other a web-application framework.
- khazhoux 9y agoIt's not a "bad" question, but your reply is a fine starting point for a good answer: "Well, for starters, Rails is a framework while Java is a language. Granted, Rails is THE framework on Ruby, so I can tell you about the differences between Java-based webdev, vs Ruby/Rails. With R/R, you have convention over configuration, which means blahblahblah and is good for getting started but at times you run into blahblahblah. And community blahblahblah, etc. Java, OTOH, has stating typing, which gives you guarantees blahblahblah but there's no standard web framework like on Rails so you'll spend a lot of time researching not-so-great choices, etcetc...."
- joncrocks 9y agoSure, there's a good amount to discuss, but I would argue it's too open ended. I could also, as the grandparent suggests, talk about that particular topic for a long while. But as an interviewee it would suggest to me that they possibly are just spewing out words they heard around the watercooler. Either that, or it's a 'trick' question, due to the fact that they are not comparable. I expect chefs could talk all day on the question: "What are the pros and cons of flour vs. forks?" That doesn't make it a good interview question.
- mickeyp 9y agoI believe there is no such thing as too open-ended a question to ask an interviewee. If you're asked something open-ended you have a glorious opportunity to define the scope of that question yourself, and to frame it in terms of things you know. Better still: you get to throw the ball back in their court by asking supplementary questions. The point of such an interview question is to foster dialogue.
- Clubber 9y agoYes. I agree with this. A strategy I employ when interviewing is to run with the first open question. It informs the interviewer about my knowledge and experience and gets me out of the majority of senseless tech questions.
- codedokode 9y agoBetter analogy would be "What technology would you choose for building a bridge". You should compare software engineer to construction engineer or architect and not to a cook.
- rexpop 9y agoValid quibble.
- deleted 9y ago[deleted]
- odammit 9y agoValid point. And we did have that discussion. They were a rails shop and not considering Java for anything ... so it was very much a very random question in regards to the position. He also wanted the pros and cons of them verses each other based on his wording. My original answer was "the obvious pro is a death match is always interesting"
- codedokode 9y agoI agree, question about choosing between Java and Ruby is a good question for senior software developer position. Choosing between technologies, platforms, frameworks is important and responsible part of the job.
- clarry 9y ago> every non-jr programmer should at least be able to talk about the technical and business merits of using one vs the other. So there is no place in this world for a senior programmer who isn't particularly familiar with those two languages? Why are they so special?
- matthewmacleod 9y agoI would expect a senior engineer working on Web technologies to be at least familiar enough with what both Java and Rails are to be able to start that conversation. It doesn’t require an in-depth knowledge of either, but this question would serve as a great way to get a basic level of an applicants knowledge.
- clarry 9y agoMeanwhile I could easily imagine a senior web developer with 15 years of programming experience having used JS, Python, Perl, PHP, ASP.NET, and a dozen non-web languages but never a single line of Ruby or Java.
- matthewmacleod 9y agoI have never used either Perl Or ASP.NET. I would be comfortable talking about the difference between them at a high level regardless. I don’t think it’s unreasonable to expect a senior developer to be familiar with the tools that are used in the trade generally, even if they have not used those tools themselves.
- clarry 9y agoI think it is quite unreasonable. I honestly think that talking about some tools someone never needed is a terrible way to get the feel for a basic level of that applicant's knowledge. And it really doesn't tell you anything about them as a programmer. I think even fizzbuzz and linked list reversal would be more telling, and that's not much. Going by the translator analogy, I feel like it's asking say an Asian translator (who might command a few eastern languages with decades of solid experience) who never studied English and French to talk about English and French. Because in your world everyone skilled translator knows enough about English and French to at least have a useful conversation about them. It smells very elitistic. And pointless.