grangerelixx

grangerelixx

Hey all!

If you are interviewing a candidate for a Senior Elixir role, what coding question or exercise would you give them for an interview of 1hr?

Thanks in advance!

Showing Posts 1 to 10

kanishka

kanishka

I think languages are not that hard to learn and it may take three to six months to master an ecosystem. Given that philosophy, I would start by posing a small, simple, typical exercise, and pair with the interviewer driving in the interviewer’s language of choice. Then, let interviewee do a small take home problem for thirty minutes (with no candidates screened as a result of submission) in a language of their choosing, with minimal dependencies like build a CLI application that reads in a CSV and computes something simple.

dimitarvp

dimitarvp

Elixir is easy enough as a language, I’d give a senior candidate a task that involves parallel processing and maybe require them to orchestrate stuff with Supervisor and GenServer-s.

Alternatively, have your team chat with them and just tell them they’ll get the senior payment after 1-2 months of a trial period.

Eiji

Eiji

Most probably none or some really trivial example project to:

  1. ensure that developer known the stack/dependencies required by project
  2. show candidates what are the code quality conditions (credo, format, dialyzer, tests, etc.) which needs to be met before paying for specific issue//part of application

The recruitment process should be as easy as possible. Think about it you have 2 job offers. One needs 5 talks each in other day - good, if this ends within a week, but most probably because of many applicants it would take from 2 weeks to 1 month if not more. However the second job offer requires only a simple talk and/or exercise - first developer wins, so whole process takes not more than 2-3 work days. Of course it’s worth to apply to both, but what you think, which one gets bigger priority?

Doing something in limited time is bad assume in my opinion. It’s much better to post a job offer with a simple test exercise and then all you need to do is to read your email and reply/talk to first applicant who have met all of your requirements.

If you do not trust how developer spends a time when working for you then you can pay him/her for let’s say 1 week iterations, so developer declares that he/she is able to do x number of features within said period and regardless if the iteration is submitted after 4, 5 or 6 days you pay for iteration and not for time developer spend on it.

There is lots of possibilities when both sides want to sign an agreement and especially if we talk about senior developer you can just talk with him/her and decide what kind of agreement is best for both sides. Once again: a simple and flexible job offers are best for both sides and especially are attractive for applicants.

sodapopcan

sodapopcan

@Eiji wish you were in charge of every interview processes of every tech company ever, lol.

I would love it if all tech companies would offer a trial contract position to really suss out fit but alas, I have yet to come across one.

When I was an interviewer I always went far more by personality than ability. Of course, you need some sort of exercise to gauge if someone is capable, but you can learn a lot from a simple exercise, especially if you pair. It all depends on your company’s culture, of course. If you’re a feature factory then none of the above applies… just pick a random leetcode question :upside_down_face:

Ideals aside, I think it depends on the type of interview you’re conducting @grangerelixx. Is it a pairing exercise? Domain modelling?

My favourite to do as a pairing exercise is stringcalc (link is in Java, just read the README). It starts simple and the difficulty ramps up at a pretty even click. It’s pretty fun and not algorithm-y so candidates are generally relaxed.

maz

maz

How about we just stop making developers endure coding exercises for interviews?

11
Post #5
sodapopcan

sodapopcan

That would be fantastic. I can only guess what you have in mind as an alternative, though—these types of statements need backup. What do you propose?

maz

maz

Well my argument is this: I feel like time-limited, on-site(or off) coding exercises don’t actually exercise anything that you would necessarily use in your day-to-day tasks as a developer. Especially now more than ever since development has become so heavily scrum-based that it has become more about conformity to consensual standards and demonstrating a collaborative mindset among your peers.

Here’s a thought: if I were an experienced lawyer who has worked at a law firm and accumulated experience, would I be subjected to a time-limited case law quiz for my job interview? No.

If you’ve already presented a prospective employer with your resume that has outlined your development experience and provided at least two solid references, why is it then that developers in particular are held to this distinctive standard?

sodapopcan

sodapopcan

That’s a really solid point and never thought of it that way. I was asking in earnest because I have given some thought of how to justify eliminating coding exercises before. They have been helpful in the past, though. Like, clearly this was a screening failure, but we interviewed a guy for leadership who apparently had over 10 years experience coding and he was unable to figure out how to turn "1,2,3" into [1,2,3], so in that one case that was useful.

Ugh, I could on and on about this topic so I’ll stop in a minute, but ya, this is why I always go by personality far more than technical ability. I think interviewers should be conducted in a way where the interviewer is trying to help the interviewee to be successful, especially when it comes to coding exercises. I have walked this walk before and it was quite successful at quickly identifying who would fit and who wouldn’t. Of course it doesn’t have a 100% success rate, but it was quite high. Like, nothing says “bad fit” to a candidate you are trying to help along and they just aren’t having it.

EDIT: I feel I’ve glossed over a bunch here as it’s a pretty near-and-dear topic to me and have many thoughts I haven’t fully sorted.

D4no0

D4no0

I am of the same opinion, beside these interviews abuse, there is a new trend for last few years to give big tasks at the expense of the the person that applies to the job.

I had 2 kind of these nasty interviews lately:

  • A company that was hiring only “seniors”. On the question on why, they said that they have a very complicated product, on clarification of the complexity they were unable to specify any details. Their plan was to have 6 interviews, from witch the coding interview was to be 2+ hours. After talking with the recruiter, the second interview was with their team lead, a very disappointing conversation, I was trying to understand and reason with him on the coding interview, but to no avail, he did not care about hiring procedure at all, nor cared about making it better. I have declined to go any further after that as it seemed clear that the interview will be some classic mathematical algorithms, for witch I didn’t have time to relearn them after 5 years of not writing algorithms.
  • The second company had the other end of approach. The job posting was for a mid level ruby developer. At the first interview I clearly pointed to them that I was working in elixir exclusively before without any prior production experience in ruby, however I told them that the switch will not be a problem since phoenix and ror share pretty much same approach. Their second stage is to give a task, and to be fair I should have declined out of the door after reading the task, the task contained a task for a product that would integrate with their services (this included fault tolerance in case their api is down, local caching, authentication, background jobs for data update, a small frontend, full deploy). This kind of application would take me about 1 week of effort to accomplish in elixir, not to speak in ruby. I ended up investing 3 days, finishing the integration, caching, authentication, frontend without any styling, deploy. After they followed with their generic decline response, had to send them another email to receive any specific feedback and the feedback was in the form of “you could at least use bootstrap to style” and “there are not enough tests”.

After working 4+ years on hard projects with very limited resources, I find these companies not only incompetent but disgusting, they treat people like labor resources without any care. If I had possibility to leave this industry altogether I would do it tomorrow without looking back.

D4no0

D4no0

This seems to be an extreme example, a glance over his CV and a discussion over what he worked with seem to have solved this problem before having to do the coding interview, because there is a 90% chance that he used at least something from the stack you are using.

I am in the boat with @maz on this topic, coding interviews are just a reminiscent of big corporations like google hiring people in bulk, and while it is a good fit for students fresh out of university, it doesn’t prove efficient for people with experience.

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
AstonJ
Since we have deprecated our Erlang sections (as we have dedicated Erlang Forums now) let’s add this thread for those who’d like to post ...
New
maennchen
:warning: Security advisory: Decimal DoS vulnerability A vulnerability has been published for decimal where very large exponents can cau...
New
Null-logic-0
What IDE or editor are you using for Elixir development? Personally, I use Zed, and I really like it, but sometimes I wish there were a ...
New

Other Trending Topics Top

marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New
webofbits
Aludel - LLM Evaluation Workbench Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews