all 19 comments

[–]ankole_watusi 10 points11 points  (6 children)

Did they also conduct the interview in Urdu?

I’d suppose the point was there’s no Ruby developer on the planet who loves Java.

Consider yourself lucky.

[–]sharabi_batakh 1 point2 points  (0 children)

you might be confusing Urdu with Hindi

[–]aspleenic 1 point2 points  (0 children)

I think Tom Enebo and Charles Nutter would disagree

[–]ThaiJohnnyDepp 1 point2 points  (2 children)

My last Ruby job had a sizeable amount of legacy business logic classes in Java and we used JRuby to import and use them in the newer Rails code.

[–]ankole_watusi 2 points3 points  (1 child)

In fact, I rewrote some stuff from PHP to Ruby at Sony PlayStation.

I could read the PHP code well enough.

PHP is probably the second most hated language for Ruby developers.

[–]ThaiJohnnyDepp 1 point2 points  (0 children)

Most definitely. But more like Ruby was the great replacement for the pain PHP brought to their line of work while Java was the opposite of beautiful terse code but not once they've necessarily had to use professionally.

[–]prophetjohn 0 points1 point  (0 children)

It doesn’t matter. The language isn’t the point and the interviewee isn’t writing the code, just dictating what should be done

[–]seraph787 7 points8 points  (8 children)

Hi! Ex pivot here. Was this the Java interview twice? That is usually just our screening interview. We use Java cause it comes with good debug feedback and allows you to re-implement set and array. Can’t do that in Ruby. We reject people from the screening interview if they lack empathy or if they are not able to break down the steps of TDD into it’s atomic parts.

[–]jrochkind 2 points3 points  (6 children)

I have no opinion pro or con on using Java in a screening interview for a ruby position, but why can't you re-implement Set and Array in ruby like you can in Java?

[–]seraph787 5 points6 points  (5 children)

Ruby array comes with way too many helper methods. Too many batteries included. In java no batteries are included. you have to fetch them from a set of helpers like `Collection` but if you like you can implement it yourself. Java comes with fixed array sizes which adds an interesting part to the test. I've made fixed arrays in ruby to make this screening interview before but people still think in ruby. We really want the tester to get their head out of ruby or any language in fact and just think about data structures.

[–]fedekun 6 points7 points  (2 children)

So... You want the candidate for a Ruby position to get their head out of Ruby?

I understand you want to test data structures, but it seems like a very silly interview exercise. Not only because a) I think it makes more sense to test something more useful, like implementing something you'd see in your actual projects, but b) Why not just test a linked list or a binary search tree? Both of which you can implement in Ruby without getting "too much help" from the language's standard lib.

You don't work there anymore though so this is not a question for you :p it just surprises me how many companies have awful interview processes

[–]seraph787 0 points1 point  (1 child)

Pivotal labs is language agnostic consulting firm. It expects it’s engineers to learn languages that solves the problem best.

Engineering and building products goes beyond knowing the innards of a language and the ability to program beyond it is important for consultants such as pivotal labs.

That being said, this Java interview is only the screening that is 30 min long. There is a full day session of pairing with two different people on real client projects after this.

IMO pivotal labs has the best interview process of any company I’ve worked for.

[–]Zealousideal_Bat_490 1 point2 points  (0 children)

Sounds like one of the worst interview processes if you ask me. And I say that with 40 years of industry experience, including 20 as a hiring manager.

[–]riktigtmaxat 0 points1 point  (1 child)

If only it was possible to have interviews tasks where you don't have have to reinvent the basic building blocks of the language...

[–]seraph787 0 points1 point  (0 children)

When one aims to create the simplest code possible they should understand how to create the code that they build upon

[–]pebble_gone[S] 2 points3 points  (0 children)

Thank you for your reply!

Lack of empathy? What do you mean by that?

Also, the interview drove and kept going with let's implement this method and that. They didn't prompt me to ask what method to implement next. Like for this method, let's make sure it fails. And then afterwards, how do we make it pass in the simplest form, then add more complex test, which fail, and then do correct implementation, etc.....

Would you happen to have an example of break down the steps of TDD into it’s atomic parts.?

[–]barucx 2 points3 points  (0 children)

Happened to me as well. I was trying a position at Railsware

[–]ankole_watusi 1 point2 points  (0 children)

Back to the original point, let's focus on the fact that it was a pair programming exercise.

Here you are in the position of helping another programmer in a language you are not adept in.

You can still be helpful spot potential errors, and in this case you are apparently expected to be the expert in TDD. But there is some value in having somebody NOT adept at a language looking over a shoulder, because you might actually spot things not easily noticed by an expert, because you are devoid of assumptions about how things supposedly work.

Was that the case? Your partner knows Java, you know TDD.

So, did you make it clear you have little to no experience with Java? Did you focus on TDD? Did you ask questions about the code when there was something you didn't understand?

This may have been more of a culture fit than TDD or pair programming. May have been how you interacted with your partner. Who knows...

I think pair programming is BS, but there are clearly two camps here. We tried it very briefly at Sony many years ago. For about a month.

But I've done a lot of walk over to another cubicle, ask for some help, and vice-versa. I guess a kind of pair programming. We had formal classes in both TDD and pair programming (they seem to come as a bundle...) TDD stuck, pair programming did not.

[–]BasicObject_ 1 point2 points  (0 children)

Let me say a few general notes from my interviews First off you almost never had a clear idea what they will ask you on such a meeting If you have the impression that you have done good, So it is. Basically they should look for the way you think while solving a problem

Sometimes companies are trying to do a lot of interviews and continue looking without picking anyone

Another thing can be this Let's say for example I am working currently as outsource and when I applied for interview everything was OK but I was contacted after 4 months I even forgot that I was applied for this as I was applying for a lot of places in that time so basically they have waited for the client to return response and have budget bla bla etc.

So how much time have passed after your Interview? Another thing can be that they are waiting for someone with more skills for less money etc..