

Ask HN: How would you react to this programming test? - mrcharles

Say you were applying at a well known, well regarded company. Eventually it progresses and they give you a programming test. A key part of that programming test are questions about a language you've never seen. For this example, it's a language so rare, that it might as well be an in-house language for which it is impossible to have any previous experience, even cursory.<p>The test lists operators and their functions, precedence, and the order of operations, and then provides a bunch of code that you have to decipher. However, the syntax, operators, and look of the code as a whole is fairly different from anything you've ever seen before.<p>They won't hire you if you can't learn the language on the spot.<p>How do you react?
======
dutchrapley
You take the test and do your best. They're not testing how good your code
looks, but to see how much effort you're will to make to solve a problem on
the spot OR to see if you are someone who will look at the screen dumbfounded
and will simply give up.

Being a programmer isn't about knowing a specific language, it's about having
the ability to solve problems.

~~~
joezydeco
_"They won't hire you if you can't learn the language on the spot._ "

 _Learn the language_ is a pretty vague criteria. Do they want you to write
helloworld? Modify a working routine? Write fibonacci? What will they be doing
to test you?

This firm wouldn't happen to be Goldman Sachs, would it?

------
tom_b
Given a philosophy that says your top hackers should be creating DSLs that
facilitate dev in the problem space, this might be common at companies in
well-defined problem spaces.

So, it might be quite exciting to dive into. If you are well-versed in maybe
three programming paradigms (imperative, logical, functional?), you should
probably be able to pretty quickly make some good guesses about how the code
works and what it does.

But, and it is a _big_ but - are you looking at a position that puts you in
place to work with (and learn from) the top hackers or are you going to be
just another drone in a large faceless organization? These are continuums in
reality, but I think you need to take care that you don't become pigeon-holed
in your hacking career.

So while I'd try hard to really dive into the test language, I might have a
much harder time deciding about accepting an offer or not (ignoring other
aspects that would of course affect any job decision).

------
buro9
This depends on whether that language was consistent with my experience of
other languages.

I've no problem learning a new language, and having TCL, PERL, C, C#, Java,
Python and JavaScript in my arsenal I wouldn't be intimidated by having
something new presented and being expected to pick it up.

The real issue for me would be the question: What motivated you to create a
new language? What problem set did you feel that you have that isn't addressed
by existing languages? And if this language is a domain-specific one, I would
want to know what made your domain so special?

I would basically fear that a "Not Invented Here" mentality led to the
creation of the language, and that would strongly discourage me from going
further.

On a secondary point, it would also depend on the type of position it was. If
it was a startup, language would not be an issue. But for a contract position
the language may well limit future opportunities and so it would matter.

~~~
mrcharles
I would say it's closer to Perl, in the same way that Perl reads unlike most
other programming languages, without actually being like perl.

------
manuscreationis
Explain to them that I'm unfamiliar with the language

Do my best to make heads or tails of the situation

If I feel i've done well, play up my ability to learn new things quickly.

If I feel i haven't done well? Smile, shake hands, and make sure I'm the one
who tells him "You know, I just don't think this will be a good fit for me.
You need someone with more expertise in this language", and go and find myself
another interview.

------
rdouble
That sounds like a pretty good test. "Dev ops"/sysadmin people have to do this
exact thing all the time, so it's far from irrelevant.

It definitely beats some of the other common tests: syntax trivia, decipher
this metaprogramming mess, implement a compsci 201 algorithm, do you agree
that TDD is the one true path?

------
tobylane
If they want to force you to quickly learn and only use a language which
doesn't seem logical to you (by that I mean C-style or recognizable in a
similar way), then it may not be a nice job to have.

------
ultrasaurus
I'm not sure how useful a test that would be, but I'd love it. Sounds like fun
-- but if they haven't actually written the interpreter for it, I might look
down on them a little.

------
thiagofm
I would pass the test.

I wish companies hired based on tests not experience/education, so I would
easily get that 100k job. Companies are full of shit.

~~~
mrcharles
That's ridiculous. I've worked with people who could recite K&R C or
Stroustrup's C++ Reference Manual line for line and who still couldn't program
for shit.

~~~
wnight
That's the needless education, not the ability. A proper test is doing
something real, not conjugating types and reading obfuscated code.

Is this scenario real? Where were you interviewing and how did you do?

~~~
mrcharles
It is real. I haven't done it, but I was told of its existence by a friend at
a company that I won't name. I'm trying to see if I can convince him to give
me the test -- my gut feeling is that I'd fail it, despite 12 years of
programming and knowing enough languages that when I count I forget some. I'm
just more of a 'learn by doing' rather than 'learn by reading' guy.

~~~
wnight
Why won't you name the company? I don't get this, it's not like you accused
them of a crime or something. Why would it matter?

~~~
mrcharles
Most companies don't want their programming tests out in the wild, usually.
Plus I'm not exactly doing this with his permission.

------
bartonfink
I've done something similar except with an API instead of a language. I
thought it was a good idea, and liked that aspect of the interview.

------
wnight
I do better than the next guy. It's not like they expect magic, but they
expect effort commensurate with the $250+/hr they plan to bill for you.

I think I'd like such a job because it always annoys me when co-workers won't
try just because things look hard. I only know half of what I dive into
anyways, at least until I'm in it.

