Did you have any issues with the BaseCase recruitment process? I'll try my best to answer any questions you may have.
Glancing at the logs, I think you are objecting to the fact it took ~9 business days to review your solution? I agree that this is long (and longer than usual). I can confirm that I'm restructuring how we handle our recruitment process to speed-up the review process (more people are being involved in the process).
As a courtesy, I would ask that you refrain from posting solutions to our screening tests here. It defeats their purpose, and potentially wastes multiple people's time (both mine and the applicants).
Thanks for the feedback. Our recruitment process is:
1. Screening test (~10-20min)
2. Outline of salary range, working environment, product, and of remaining recruitment process (our "FAQ").
3. Final "software architecture" test (3.5hrs - 6hrs avg, 9hr max)
4. ~2 1hr interviews
5. Offer
Note that after the 10-20min screening test we disclose the rest of the process in detail as a matter of course.
I understand that you might disagree with this process but I think it's reasonably transparent to participants. We've hired several people in the past year and I hope to continue to hire into the future.
Out of curiosity, how would you structure an ideal recruitment process? I'm genuinely interested in alternative methods of assessing people's ability to write high-quality code. (I've found CV/portfolio-based assessments unreliable, but it may be that I haven't done them "right").
If you have any additional criticisms of the process I'm open to discussion. Hiring is tricky and I'm sure we can do better.
"I'm genuinely interested in alternative methods of assessing people's ability to write high-quality code."
Step 1: Specify what high quality code IS.
Step 2: Ask them to write high quality code.
Step 3: ???
Step 4: Profit.
You are taking the shotgun approach of asking everyone open-ended questions and if they don't strike your particular nerve, you dismiss them. You're not testing for ability, you test for luck. Most people are capable of following directions, but you are not providing direction. You just expect people to kinda know what it is that you're looking for.
kept mum for long but happened to me too, although last year.
8 hours challenge, no rejection response until I asked, no reason why submission was considered bad. Won't recommend applying.
Well, I have never posted solutions online before and I can understand your hesitations. But I simply don't care. Because You don't deserve it. I'm sure you can get a lot of candidates when you post here. But, that doesn't mean that you can treat them as you like. This is HN community not LinkedIn. You can't just show up after 9 days to invite me to the 2nd round. Not even follow-up emails. That thing drove me crazy.
For your new recruitment process, I would suggest not to use automated cold emails. Better call each candidate. Most companies do that.
FYI
I'd like to clarify one thing - none of your communications with BaseCase were 'automated' on the BaseCase-side. Every email that was signed-off by a person was manually sent by someone on our team. For 'common' emails, we do use email templates, but a person actually decides to send the template, not a bot.
(Technical detail: the second software test uses an email bot to time the test, but this bot is not reporting your recruitment status in any way, it's just sending the test and receiving your solution. It identifies itself as a bot in communications.)
I have asked our recruitment manager to send an acknowledgement email after every test submission (they usually do, but in your case you're right that they didn't).
To clarify - m00dy did get a response from our recruitment manager ~9 business days after submitting his application. What I acknowledged is that we could have done better is in responding immediately to the submission of his solution, instead of simply reporting the result 9 business days later.
And I responded to you 3 weeks after you sent in your solution, because it took me that long to have a chance to your solution. I wasn't actually aware of the HN posting at the time.
In any event, given all the issues raised here, I'm changing our recruitment process (I've added a comment below). I hope this addresses concerns.
I'm not trying to 'win' an argument here, I'm trying ensure BaseCase has a reasonable process that provides the outcomes I need while being transparent to participants. I therefore am trying to get a fair understanding of you and other's criticisms of the BaseCase recruitment process and making amendments that seem reasonable.
It took you NINE DAYS to review something that takes a minute to review. Do you not see how that may be an issue?
It took you TWENTY ONE DAYS to review my challenge. Granted, it wasn't 5 weeks, but that's immaterial. A decent response would be. "Hey we got your challenge" - on the next business day. If it takes you more than another 2 days to review it, say "Hey, we are having some trouble reviewing your application for reason X".
I appreciate your effort, but you're not being transparent at all. Transparency goes further than "here is what we do, deal with it".
And as I already said, you're handing out challenges that appear to be silly skills tests, expecting people to write "good production code".
The only reason I ever did your challenge was because I somehow enjoy doing challenges for no reason other than being challenged.
Our primary product is a sophisticated web application which allows non-developers create interactive presentations.
We're looking for talented front-end and back-end developers. Our technology stack is Javascript / jQuery / HTML5 on the back-end, and Python / MySQL on the back-end. But you don't need experience in our stack - we know a good developer can learn on the job. You can apply here:
I've decided to simplify the recruitment process, due to some criticisms in this thread (some I would disagree with, some fair). New applicants will follow this process:
1. New applicants receive an outline of the salary range, the working environment, our products, and the remaining recruitment process (our "FAQ").
2. "Software architecture" test (3.5hrs - 6hrs avg, 9hr max)
3. ~2 1hr interviews
4. Offer
The 'software architecture' test document has also been expanded, so that more information is provided on what we're looking for exactly.
Since everything is disclosed in step 1, people can make an informed decision on whether to proceed. This differs with the previous process in that one needed to pass a screening test before receiving this document.
Notes:
-) All applicants receive explicit accept / rejection emails (this has always been the case)
-) I will try to reduce the review time for the tests (I'm involving more people)
Our primary product is a sophisticated web application which allows non-developers create interactive presentations.
We're looking for talented front-end and back-end developers. Our technology stack is Javascript / jQuery / HTML5 on the back-end, and Python / MySQL on the back-end. But you don't need experience in our stack - we know a good developer can learn on the job. You can apply here:
Unfortunately, I was only made aware of this after the thread had closed for commenting. For that reason, I thought it best to reply here to the issues raised.
Firstly, I'd like to say that recruitment is hard, and reasonable people can disagree on what constitutes the 'best' strategy.
With that in mind, I think the main issues raised in the thread were:
1. Rejection email not sent
2. 9hr coding test is too long
3. Coding test is 'pointless OO', not suitable for a senior position
I'll address them one-by-one.
1. Rejection email not sent
One of the posters (wayn3) mentioned they didn't receive a rejection email. I've checked our logs, and he's right that when he wrote his comment we hadn't sent the rejection email, but we subsequently did. So - wayn3: apologies for taking so long to send a rejection notice (3 weeks / May 10). It doesn't usually take me so long to review a solution, but sometimes it does happen due to other commitments.
But I would like to say that to the best of my knowledge, we never "drop" conversations, we make it clear if / when we reject a candidate.
2. 9hr coding test is too long
9hr is the time limit, not the expected duration. The amount of time required is usually 3.5hrs - 7hrs, with an average of about 6hrs for a good solution.
3. Coding test is 'pointless OO', not suitable for a senior position
I'm not looking for OO code specifically. Candidates can submit any kind of solution and I'll review it.
But to some extent the criticism is accurate - the test isn't technically very challenging, and it doesn't have any 'tricky' questions. This is however intentional: the day-to-day of software engineering is writing high quality, easy to maintain code for (mostly!) straight-forward problems. Logic tricks / fancy math are only rarely required for the work we do at BaseCase.
Put another way, the programming test tries to be a 'work sample' tests, simulating something more like the code you would actually write at BaseCase (without requiring you to learn all about our architecture).
This isn't to say that work at BaseCase is boring or humdrum, it's just that the challenges are related to designing high quality, easy to maintain software. To evaluate someone's ability to do this, I need to review a couple of hundred of lines of code they've written to solve a straight-forward problem.
If anyone has any questions please add them in here and I'll try to answer them.
BaseCase Programming Test
You have 9 hours to implement the following game. In order of importance, we are interested in:
1. The full, bug-free implementation of the spec
2. The elegance of the code
3. The time needed to completion
These were the only criteria that were asked and I can assure you that my code was a full, bug-free implementation and very much on time. Elegance lies in the eye of the beholder, but I thought it alright.
Followed by some test that I'm not going to specify further at OPs request. (they seem to have a couple of these tests and you get assigned one randomly and they probably appreciate not having to delete from their test base)
While you claim that this is not specifically OO, the problem itself was very clearly one that lends itself heavily towards OO. If you want me to solve it in Erlang, we can do that as well, but please.
If you want the test to be a "work sample" test, say so. Seriously. You hand me a test that screams "please, for the love of god, just demonstrate that you're capable of writing some classes" and then you use that to find evidence of production level software development. That's not how it works. Include one line in that 3 page document that says "demonstrate your ability to produce maintainable code" and the solution would have looked vastly different. This was a silly challenge and you got a silly solution to a silly challenge. Because thats all it is. If google invites me to a technical interview and says "write fizzbuzz", I'm not writing a unit test first to demonstrate my Test Driven Development fundamentals. I just write some code to demonstrate that I'm not a potato.
Why would I assume that this is just another algorithm test? Because you told me clearly that there would be another 2 rounds of technical interviews.
If you want to look at a work sample, here's how you go about it: Ask for a work sample. Really simple.
FYI, if this test is indicative of the "challenges" faced at basecase, then working at basecase IS boring (to me). If it's not, then your interview process is flawed. Writing "test driven, maintainable code only" is an accountants job. Not something I'd be interested in. So in a roundabout way, I guess your test succeeded.
You raise a valid point: I should make more explicit what I am evaluating in the solution. I will update the relevant document so that future applicants have a clearer idea of what they're being 'graded' on.
Regarding the other points you raised, I disagree with many of them, but I think I'd chalk it up to 'reasonable people can disagree on these things'. If you would like me to respond to a specific item, let me know and I'll do my best.
Well, since you seem to know who I am, you probably know which challenge I was given. Do you really think its not an OO problem?
Otherwise, you can probably have some of your other engineers review these tests if you are too busy to do it yourself. Not like this is rocket science. They can at least weed out clear failures like me :D
> Well, since you seem to know who I am, you
> probably know which challenge I was given.
> Do you really think its not an OO problem?
OO is indeed the most common strategy for solving the problem you received. However I'm sure you appreciate that you could use many different techniques.
I think that after OO, ~functional solutions (ie: 90% pure functions, 10% non-pure) would be the next most popular. Such solutions can be quite elegant.
> Otherwise, you can probably have some of
> your other engineers review these tests if
> you are too busy to do it yourself. Not
> like this is rocket science. They can at
> least weed out clear failures like me :D
I know you're joking but I certainly realize that I reject many candidates who would actually have been great hires. It isn't possible for me to evaluate people 100% accurately, so I have to settle for conclusions drawn from an admittedly imperfect process.
As for getting other engineers to help with the review process: I've been reluctant to do so in the past for a variety of reasons, but after 8 years (!) I'm actually considering it.
Our primary product is a sophisticated web application which allows non-developers create interactive presentations.
We're looking for talented front-end and back-end developers.
Our technology stack is Javascript / jQuery / HTML5 on the back-end, and Python / MySQL on the back-end. But you don't need experience in our stack - we know a good developer can learn on the job. You can apply here:
So... I don't know if we got the same test, but the one they sent me literally took less than 30 minutes to do. Just a pseudo "AI" that took a few trig functions to solve.
My guess is that if it takes you more than an hour to do a code assessment, you're doing it wrong.
Was up to 9 hours and took more like 4. Had some spare time so I knocked it out. I don't mind these things, but when you make someone invest hours, you should feel responsible for investing a couple minutes.
Was one of these "do something pointless in OO so we know you're not a potato" with infinite space for random scrutiny. 1st year undergrad stuff that makes you reconsider believing in intelligence. For a senior software engineering position.
Yep, that's what I meant. You in advance had at least few points that your bullshit detector should have detected:
- Up to 9 hours for the test assignments, too time consuming assignment. Usually that indicates to a lack of respect for the candidate and probably to the potential employee. So you might be a lucky that you was not selected for the next interview stage :)
- Proposing to do something pointless in OO for the senior position.
Considering that points absence of the company feedback should not surprise you :) Thanks for sharing experience with that company.
Our primary product is a sophisticated web application which allows non-developers create interactive presentations.
We're looking for talented front-end and back-end developers.
Our technology stack is Javascript / jQuery / HTML5 on the front-end, and Python / MySQL on the back-end. But you don't need experience in our stack - we know a good developer can learn on the job. You can apply here:
Our primary product is a sophisticated web application which allows non-developers create interactive presentations.
We're looking for talented front-end and back-end developers.
Our technology stack is Javascript / jQuery / HTML5 on the front-end, and Python / MySQL on the back-end. But you don't need experience in our stack - we know a good developer can learn on the job. You can apply here:
Yes on front-end needing some love. You have a cool product/stack but not having at least a responsive site greeting customers and talent is an immediate area [and low hanging fruit] for improvement. Especially because you're in the 'presentation' biz. Try Material + ReactJS to rebuild your site - super fast and elegantly adaptive on mobile. Also recommend tightening the copy for mobile to on device CTAs.
Our primary product is a sophisticated web application which allows non-developers create interactive presentations.
We're looking for talented front-end and back-end developers. Our technology stack is Javascript / jQuery / HTML5 on the front-end, and Python / MySQL on the back-end. But you don't need experience in our stack - we know a good developer can learn on the job. You can apply here: https://basecasecareers.recruiterbox.com/jobs/fk0hffr
Our primary product is a sophisticated web application which allows non-developers create interactive presentations.
We're looking for talented developers. Our technology stack is Javascript / jQuery / HTML5 on the front-end, and Python / MySQL on the back-end. But you don't need experience in our stack - we know a good developer can learn on the job.
We can support remote workers, and are willing to assist in obtaining a work visa for Germany if required.
We have been profitable for several years, so we can offer very competitive salaries, with stock options.
Our primary product is a sophisticated web application which allows non-developers create interactive presentations.
We're looking for talented developers. Our technology stack is Javascript / jQuery / HTML5 on the front-end, and Python / MySQL on the back-end. But you don't need experience in our stack - we know a good developer can learn on the job.
We can support remote workers, and are willing to assist in obtaining a work visa for Germany if required.
We have been profitable for several years, so we can offer very competitive salaries, with stock options.
Hi Diarmuid, I've applied through your website a while ago. I actually live really close to your office in Berlin. ;) Let me know if you want to have a chat.
Our primary product is a sophisticated web application which allows non-developers create interactive presentations.
We're looking for talented developers. Our technology stack is Javascript / jQuery / HTML5 on the front-end, and Python / MySQL on the back-end. But you don't need experience in our stack - we know a good developer can learn on the job.
We can support remote workers, and are willing to assist in obtaining a work visa for Germany if required.
We have been profitable for several years, so we can offer very competitive salaries, with stock options.
Did you have any issues with the BaseCase recruitment process? I'll try my best to answer any questions you may have.
Glancing at the logs, I think you are objecting to the fact it took ~9 business days to review your solution? I agree that this is long (and longer than usual). I can confirm that I'm restructuring how we handle our recruitment process to speed-up the review process (more people are being involved in the process).
As a courtesy, I would ask that you refrain from posting solutions to our screening tests here. It defeats their purpose, and potentially wastes multiple people's time (both mine and the applicants).
Regards,
Diarmuid / CTO of BaseCase