If you were interviewing a candidate for a Senior Elixir role, what coding exercise would you give them?

Good lord, ya. I recently had an interview for a Ruby job. I did two different one hour meet-and-greet style 1:1 interviews with the CEO then the CTO. I told both, several times, that while I have a lot of past experience in Rails, it’s been three years since I was working with it daily and I was quite rusty. I also let them know that I had zero experience with Hotwire, which is what they were using. They said I sounded like a good fit and got me to do a takehome. I put in a few hours on the assignment, sent it in and I got a rejection. I asked why and if they could give me feedback on my code and they said: “There were no glaring issues with your code, we just need someone who already knows Hotwire and can hit the ground running.” So why the feck did they get me to do the takehome then??

In any event, I do think exercises can be good if they are short and especially if they are paired on. I like stringcalc so much because it starts off stupidly simple and sets a relaxed tone. I really don’t understand the point of asking people tough algorithm questions when your company sells baby clothes or whatever.

5 Likes

One that’s relevant to what you’re building and the Elixir tools you are using (Phoenix? Nerves?) :003:

Seriously tho, maybe a different way to look at it might be “How would you find or recruit an experienced Elixir developer?”

That may vary for person to person but a good place to start might be:

  • See if they’ve released any OS projects and their general OS activity (and review the quality of it)
  • See if they’re a blogger or conference speaker (or even podcaster) (do they communicate well? About topics you feel are in line with that you’re looking for?)
  • See if they’re active on places like the forum (again, do they communicate well? Are they amiable? Have they got a lot of accepted solutions? Are they the type of person you would want to work with?)

If you want to hire someone special then you probably should put just as much work in trying to find them (if not more) than you might expect of them to impress you at an interview…

3 Likes

That’s definitely a good question but on the other hand you can’t expect people to hire you just because you said you have qualifications. At some point some proof should be provided.

One thing I did severely wrong in my life and career was not investing in public portfolio – in our case, GitHub open-source repos. That can help you skip a good amount of steps in many interviews.

6 Likes

Most of those criteria are great for people without families or responsibilities who have free time to spend after work. Actually, even then, I don’t know if I want to work with people with such narrow interests and hobbies outside of work.

1 Like

Definitely agree. This is why I’m always hesitant to complain about coding tests even though I really don’t like them.

+1

I was impressed by this interview - How We Interview at Pivotal

1 Like

Sure, talking at conferences and writing blogs would maybe be a bit much at certain stages of your life. But you could argue that, for Elixir, contributing to OS projects from time-to-time would be expected for any paid job given that the vast majority of tools and libraries we use are OS. Even if it’s just PRs to fix up or extend documentation, or to fix a small, irritating bug. It shows a certain kind of care and initiative that I would value if I was hiring as well as giving an idea of communication and coding skills.

FWIW I have worked side-by-side with 6 different developers in the last 12 months. They are all at different life stages. All have recently contributed to various OS projects. Some in a small way, some in a significant way. Some of them are working for one of the sponsors of these forums, so it could be that open source contribution was part of the hiring process.

And while @dimitarvp mentions that he hadn’t built a track record of GitHub repos, he had built a track record of contributions to the community, e.g. through this forum. As have you, although not quite as long as Dimi’s yet! This also shows the care, initiative, communication ability and often technical skill that you can point to in a hiring process.

3 Likes

I wouldn’t do it before both parties were invested in the processes, ie after some interviews.

Doing OS is a huge time investment, I never could afford that at my previous jobs and I’m sure a lot of other people are in my boat. If the company would allocate some time for it, it would be another question, but a lot of companies never care about the libraries powering their product and this is true not only for elixir.

1 Like

Yes and no. Companies rarely care about OSS contributions by themselves but those who interview you have more exposure to the technical side of things and to them those are impressive credentials. It definitely can serve to give you one foot firmly in the door.

1 Like

I am in process of making some OS libraries, so I will give a feedback later if this works :).

1 Like

:slight_smile: Typing speed & problem solving skills (specifically, is their first instinct to ask a peer for the answer/help, or research/independently figure it out). The rest of it is practice. If your project requires more algorithmic stuff, then check for math background. If it is IT stuff, I have found people who win programming competitions do really well (the ACM programming competitions during my school days taught me - take a barely sufficient approach, focus on the problem and only the problem, speed of execution, … something that helped me in my career).

I lost count on the number of people I have interviewed that said they were a top developer, yet, were one-finger typers. But I am old-school. The kids nowadays are just amazing.

1 Like

What’s wrong with being a one-finger typer? I know plenty of people that are outstanding developers and they either are one-finger typers or have some sort of injury or condition that makes them type slower.

4 Likes

No offense intended to anyone with limitations. Point understood and accepted. To clarify, my context is around someone who comes to me saying they can “crank code” and deserve to be paid more than others in the team because they are “senior” and can produce more … in that context, I cannot believe that someone who has written a lot of code in their careers is not a touch-typer/type blindfolded. I suspect kids nowadays are learning to type before they are learning to write with a pen … and of course, you can also argue that writing a lot of code doesn’t mean “productive” …

I was gonna say… these are the types of arbitrary things some hiring manager has decided is important that really has no bearing on anything. One of the best developers I ever worked with was a two finger typist with his eyes glued to the keyboard. He hated typing and had a 14 button mouse with all the common stuff you need (cut/copy/past/cmd-tab/screenshot/etc). He got shit done and produced some of the nicest code I’ve seen.

3 Likes

I love this forum. Am learning …
This just makes me feel so old. It is very different … am still old-school emacs.
Luckily for everyone, am not doing the hiring anymore.
That said, having crossed paths with over 30k developers over my career and having at least 25 CTO/CIOs currently out there who started out as developers I hired … feel didn’t do wrong.

Apologies to @grangerelixx … did not mean to distract the forum/question. It is a good one. My point in all this really was that hiring top developers isn’t just about passing a test / being able to answer a coding question. There are a number of factors that make someone thrive/succeed or suffer. Having objective criteria in an interview process does help keep the process fair / avoid unconscious bias, however, it is not a guarantee.

My typing speed comment was a simplification that should be interpreted as “familiarity/prowess” with an IDE or whatever is the current method of “coding”. Unless of course, someone wants to argue that you can be a top developer without ever having turned on a computer ?

2 Likes

Typing speed/style is overrated. Unless someone is doing data entry task - max speed anyone is going to type is directly related clarity of the thought of what one is trying to do.

Hiring is more a business problem, rather than “hiring the best person” problems (as many view it).

2 Likes

I type blindly but with one finger on each hand (except modifiers and stuff). Wrote my first program when I was 13 years old, use PC for about 8 hours a day every day

I guess typing is completely irrelevant to software development and almost all other computer-related jobs

2 Likes

This is what a successful candidate looks like:

:grin:

10 Likes

That is just too funny …
Thank you for that.