Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Today I interviewed with a big-ego VP for a Rails and Rails position at a profitable company in my city.

He asked me to explain what ActiveRecord is in Rails. I told him the following:

ActiveRecord provides an object-oriented interface to an application's database to make development easier and friendlier for the developer. It provides validation functionality as well which helps keep data in the database clean. ActiveRecord also pertains to the model part of the MVC

He then told me that was "kind of mickey moused."

So, IS my explanation "mickey moused," or should I just have hung up on him right then and there?

share|improve this question
2  
What does "mickey moused" even mean in this context? And I would have just said that ActiveRecord is Rails's version of ORM. –  aroth Apr 23 '11 at 1:50
    
You're saying to keep it concise. I concur; I'll do this next time. Urban Dictionary says "mickey mouse" means "Substandard, poorly executed or organized. Amateurish." So this guy insulted me. –  Chad Johnson Apr 23 '11 at 1:56
1  
Seems kind of rude to me. I'm all for blunt honesty, but you don't really want to work for somebody like that anyway do you? It's not like you should expect to give a wickedly detailed answer to a VP anyway. –  squawknull Apr 23 '11 at 1:58
    
Me neither. I do not want to work for this guy. –  Chad Johnson Apr 23 '11 at 2:11
add comment

migrated from stackoverflow.com Apr 23 '11 at 9:41

This question came from our site for professional and enthusiast programmers.

4 Answers

I think he was looking for a description of Object Relational Mapping (ORM). AR is an ORM; It does the translations between Ruby objects and the database which deals with records and relations.

Part of the beauty of AR is that you don't really need to know anymore about it than you said to do some great things with it. Sorry it didn't work out!

share|improve this answer
    
Forgot to add to my description that I told him "ActiveRecord pertains to the model part of the MVC." –  Chad Johnson Apr 23 '11 at 2:17
    
Sometimes its just a keyword they are looking for. You can describe the correct thing in great detail but if you don't say the word they are waiting to hear... I think that happens a lot when non-techies interview techies. Could be that was what happened to you. –  Mike Williamson Apr 23 '11 at 2:34
    
And sometimes they're buzzword parrots who don't really know what it is they're talking about, so unless you use the exact words they're looking for your words will mean nothing to them. Even if you do use the correct words, they'll still be the same since they don't know what they're asking in the first place. That's why we tag-team candidates with real developers who'll be working beside you. No BS coming from the people in the trenches. –  the Tin Man Apr 23 '11 at 8:05
add comment

I agree with aroth that "mickey moused" is not very informative, but what you omitted is that ActiveRecord is an entire model layer in the MVC pattern, squashed together with an ORM. That is what it means for ActiveRecord to follow the "Active Record" design pattern.

ActiveRecord includes a whole lot of functionality for validation, parameter mass assignment, etc. that is not directly related to its role as an ORM.

In Rails 3, the encapsulation has been improved such that the non-ORM stuff can be used separately (as ActiveModel), without the ORM part, but ActiveRecord still includes all of ActiveModel.

share|improve this answer
    
Now that I think about it more, I did mention that ActiveRecord pertains to the model part of the MVC. –  Chad Johnson Apr 23 '11 at 2:10
add comment

"easier and friendlier" really doesn't say much, maybe that's what he reacted to.

Not a bad answer, but I would emphasize the fact that AR is an object combining both O/R mapping logic and domain logic.

share|improve this answer
    
True. I should have mentioned domain logic. –  Chad Johnson Apr 23 '11 at 2:16
add comment

Sounds like he didn't like you, or your explanation. Whatever the case, or reason, the best thing for you to do in that situation is to politely either explain that you…

A. Don't know what he means.

B. Are interested in knowing why he thinks so.

or

C. That this probably isn't the position for you.

And then thank him and any receptionist for their time and wish them luck. And do it all with a smile.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.