Coding tests in technical interviews

Happy new year ! :tada:

I wish a successful and stress-free 2018 to all the readers of this board :wink:

I’d like to get your opinion on coding tests and technical interviews in general. It’s widely accepted that technical interviews are broken. Whiteboard tests or live coding sessions are things that devs like myself struggle with.

I’m not against coding tests per se… but only if they can be completed in a few hours max. But recently I’ve been asked to submit workable apps… along with tests and other features that quite frankly made me questioned whether or not I was spending my time wisely. Obviously I was not being paid.

I did 2 tests recently

Spotify React Client

This one was to test my skills with React. I had to create a client for the Spotify API with the following specs:

  • Oauth authentication
  • User should be able to search for any Artist
  • User should list Albums and Tracks
  • App should display the latest 3 New Releases

It took me a good 10 days to complete that test. I had no previous experience with React. I figured this would be a good opportunity to get up to speed. I also had to catch up on Redux, Babel, ES6, Webpack, ExpressJS and Bootstrap 4.

Rails 5.1 app with Postgres and React

This one was used to test my skills with Rails (my favourite framework), React, CSS, Rspec and Postgres. Basically I had to create an app with the following specs (summary):

  • FB authentication
  • Authorization for 2 user roles (basic user and admin user)
  • 3 Rails resources
  • 1 React component
  • Theme using Bootstrap
  • 1 test with Rspec
  • Media queries with CSS to create a responsive layout for mobile

It took me about 4 days even though I have experience with Rails. I figured I should use Rails 5.1 (the latest). I got a few issues with wepback (I hate the asset pipeline - so I figured I would try not to use it). This time I was more confortable with React but I still spent about a day on that part alone.

So basically, I’m wondering if you guys had a similar experience with coding tests and where you draw the line. I was not confortable with the amount of unpaid time I had to invest but on the other hand I didn’t have any working apps available on my github account (only forks, fixes etc).

Also It’s entirely possible these companies will use my code on their projects. I wished I had been paid to submit a feature or bug fix. I think that would have been fair but I didn’t have much leverage to be honest.

Thanks

1 Like

Disgusting.

By the looks of those, unless it was a reputable company, I’d be wondering if there was ever a job at the end of that.

The best coding interview I had to administer was an example project like the one above (so already mostly done) and then a few small change requests - very small, like e.g. “change the CSS so the top album title is in bold”, “add the date released next to the album”. Just simple stuff that you can do quickly to show a basic knowledge - it’s a good filter.

I would put these 2 projects up on your git account and use those in future!

Don’t ever do that much work for an interview again, just decline. Someone asking days of unpaid work for the chance of an interview doesn’t respect you and not worth working for.

2 Likes

I struggle with this type of situation.

I think it is unreasonable on the end of the candidate and also ends up limiting potential for the company. It enforces the stereotypical ‘dev’ role and leaves out anyone who strives to maintain work/life balance or is a caregiver/parent in their life. Logging in some time for a code challenge is fine, but days + days to write fully formed functionality seems over the top.

If you find that it serves you to complete (for instance, now you have these two projects to establish yourself!), then maybe it is worth it overall. But if it were me, I wouldn’t continually complete new tests of this length on a regular basis.

It could be helpful to have some phrasing tucked away that helps you navigate those requests politely. “I’d love to demonstrate my skill set to you; here are some examples…” / “If you have additional tasks you’d like to see exhibited, perhaps we can discuss compensation for a short project–” etc.

Happy new year!

1 Like

Glad you posted this. I had a job interview a few days ago where the top-grade interviewer asked me to write some pseudocode design on a whiteboard based on requirements he was giving me. This was new for me. It was fun and stressful at the same time. I have been disabled for five years. The interview was with the company I worked for before I became disabled. I am rusty, but not that rusty. I wasn’t satisfied, though, with what I thought was slow thinking. That’s mostly because of meds. It began when I was diagnosed bipolar and was put on the anti-mania med in 2009. Its purpose is to slow down the brain. I wish it wouldn’t slow down ALL of my brain.

I found it frustrating that the interviewers seemed disappointed that during my 5 years of disability, I hadn’t written any code except for a little bit of HTML. Um, sorry dudes, if I could have done that, I might still have been working. :slight_smile: Anyway, I do not know the status of the interview. I expect to hear something this week, of course, and I’m not sure whether or not I am ready to work. Honestly, I am broke. SSDI isn’t enough money. Because of bipolar mania, I have thousands of dollars in debt that is overwhelming. So I want to try. By using the SSA’s Ticket to Work program, I can work for awhile and keep the SSDI in full. It’s an intentionally designed, optional no-risk program for disabled people who may be able or ready to try working again.

Anyway, back to your topic. This wasn’t supposed to be about me. What I’ve begun doing in the last week is looking at Ruby, and tomorrow I’m going to a Ruby code meetup. I have no experience with it. First time ever to something like that, too. I used to scoff at code meetups, thinking why would I want to get together after hours and code? It’s actually an intro to Ruby meetup - 2 hrs. When I told the top-grade interviewer I was interested in Ruby, he high fived me. But when he found out I didn’t have experience in it, he seemed a bit bummed.

So that brings me to coding or learning to code on my own with no pay. I’m almost 52 years old, been a software engineer since I was an undergrad in the late 1980s working during summer internships. Technology has zoomed so fast in the past 15 years while I was working and disabled that it’s unreal. So I guess I have to balance out coding on my own and doing it in moderation in order to be competitive. There are plenty of people out there who don’t have the years of experience that I do but who are more qualified in today’s development environment. That’s frustrating.

But I have to sharpen my skillset. If I want to go back to work and use new languages and tools, I’m going to be competing with people who could very well already know it. I’ll be pigeon-holed if I keep myself that way. So meetups and coding on my own is what it’s going to have to be, at least at first.

Like the others said, and it’s good advice for me, too, keep working on your skills, but don’t give away too much, if that makes sense.

Happy New Year to you and everybody, too!