Code Samples?

85 views
Skip to first unread message

Matthew Isleb

unread,
Mar 17, 2010, 4:53:37 PM3/17/10
to rails-b...@googlegroups.com
Hey all,

Was wondering what all of you expect as far as code samples when evaluating a potential new hire. Would you expect a whole model file, for example? A whole application? Or just snippets of particularly clever functions? Doesn't seem like the code would be very meaningful out of context.

-matthew

Damien Tanner

unread,
Mar 17, 2010, 4:55:45 PM3/17/10
to rails-b...@googlegroups.com
We ask for github and take a look at open source contribs.


--
You received this message because you are subscribed to the Google Groups "Ruby on Rails meets the business world" group.
To post to this group, send email to rails-b...@googlegroups.com.
To unsubscribe from this group, send email to rails-busines...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rails-business?hl=en.


Ho-Sheng Hsiao

unread,
Mar 17, 2010, 5:17:02 PM3/17/10
to rails-b...@googlegroups.com
You can also ask for a Ruby implementation of one of the Project Euler
problems. You can not only look at the correctness of the code, but
also the code style.

-Hosh

Timothy Fisher

unread,
Mar 17, 2010, 9:28:01 PM3/17/10
to rails-b...@googlegroups.com
I like the idea of asking for github and seeing what projects they have on Github.  Open source developers tend to be better in my experience than those not involved in open source, and github is a great place check out code.

Philip Hallstrom

unread,
Mar 17, 2010, 10:12:05 PM3/17/10
to rails-b...@googlegroups.com
Another thing is to ask for patches submitted to open source
projects... not all of which will be on github.

The other nice thing about patches is you can see how thorough they
are (tests, docs) and how well they can follow the different style/
coding guidelines of those projects..

>>> busi...@googlegroups.com.


>>> To unsubscribe from this group, send email to

>> rails-busines...@googlegroups.com<rails-business%2Bunsu...@googlegroups.com

>> >
>> .
>>> For more options, visit this group at
>> http://groups.google.com/group/rails-business?hl=en.
>>>
>>>
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups
>> "Ruby on Rails meets the business world" group.
>> To post to this group, send email to rails-b...@googlegroups.com.
>> To unsubscribe from this group, send email to

>> rails-busines...@googlegroups.com<rails-business%2Bunsu...@googlegroups.com

Chris Conrey

unread,
Mar 18, 2010, 12:01:24 PM3/18/10
to rails-b...@googlegroups.com
Those are all good ideas, what we try to do is to have those plus have them come in and pair with one of our devs for a while so we can get a true feeling for how they work both as a developer and as a team member.

Chris Conrey
chrisconrey.com
Human->Geek Relations at Integrum
@conrey on Twitter


On Wed, Mar 17, 2010 at 7:12 PM, Philip Hallstrom <phi...@pjkh.com> wrote:
Another thing is to ask for patches submitted to open source projects... not all of which will be on github.

The other nice thing about patches is you can see how thorough they are (tests, docs) and how well they can follow the different style/coding guidelines of those projects..


On Mar 17, 2010, at 6:28 PM, Timothy Fisher wrote:

I like the idea of asking for github and seeing what projects they have on
Github.  Open source developers tend to be better in my experience than
those not involved in open source, and github is a great place check out
code.

On Wed, Mar 17, 2010 at 5:17 PM, Ho-Sheng Hsiao <hoshen...@gmail.com>wrote:

You can also ask for a Ruby implementation of one of the Project Euler
problems. You can not only look at the correctness of the code, but
also the code style.

-Hosh

On Wed, Mar 17, 2010 at 4:53 PM, Matthew Isleb <yar...@gmail.com> wrote:
Hey all,

Was wondering what all of you expect as far as code samples when
evaluating a potential new hire. Would you expect a whole model file, for
example? A whole application? Or just snippets of particularly clever
functions? Doesn't seem like the code would be very meaningful out of
context.

-matthew

--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails meets the business world" group.
To post to this group, send email to rails-b...@googlegroups.com.

To unsubscribe from this group, send email to
rails-busines...@googlegroups.com<rails-business%2Bunsu...@googlegroups.com>

.
For more options, visit this group at
http://groups.google.com/group/rails-business?hl=en.



--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails meets the business world" group.
To post to this group, send email to rails-b...@googlegroups.com.
To unsubscribe from this group, send email to
rails-busines...@googlegroups.com<rails-business%2Bunsu...@googlegroups.com>

.
For more options, visit this group at
http://groups.google.com/group/rails-business?hl=en.



--
You received this message because you are subscribed to the Google Groups "Ruby on Rails meets the business world" group.
To post to this group, send email to rails-b...@googlegroups.com.
To unsubscribe from this group, send email to rails-busines...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/rails-business?hl=en.


--
You received this message because you are subscribed to the Google Groups "Ruby on Rails meets the business world" group.
To post to this group, send email to rails-b...@googlegroups.com.
To unsubscribe from this group, send email to rails-busines...@googlegroups.com.

Anuj Dutta

unread,
Mar 17, 2010, 6:00:00 PM3/17/10
to rails-b...@googlegroups.com
On 18 March 2010 02:47, Ho-Sheng Hsiao <hoshen...@gmail.com> wrote:
You can also ask for a Ruby implementation of one of the Project Euler
problems. You can not only look at the correctness of the code, but
also the code style.

-Hosh


That's a very good idea. Instead, I would suggest a problem from Ruby Quiz instead as Project Euler is a bit mathematical and it might be  intimidating for some people.

Anuj
 

On Wed, Mar 17, 2010 at 4:53 PM, Matthew Isleb <yar...@gmail.com> wrote:
> Hey all,
>
> Was wondering what all of you expect as far as code samples when evaluating a potential new hire. Would you expect a whole model file, for example? A whole application? Or just snippets of particularly clever functions? Doesn't seem like the code would be very meaningful out of context.
>
> -matthew
>
> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails meets the business world" group.
> To post to this group, send email to rails-b...@googlegroups.com.
> To unsubscribe from this group, send email to rails-busines...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/rails-business?hl=en.
>
>

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails meets the business world" group.
To post to this group, send email to rails-b...@googlegroups.com.
To unsubscribe from this group, send email to rails-busines...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rails-business?hl=en.




--
Anuj DUTTA

keith

unread,
Mar 17, 2010, 7:25:34 PM3/17/10
to Ruby on Rails meets the business world
I am trying out this approach:

Provide requirements loosely modeled on some real world interaction/
scenario, like a parking lot attendant and his parking lot. Try to
keep them a little vague so it leaves room for interpretation (it is
always interesting to see how people interpret something and it let's
them show you how they think).

Then ask only for the models and migrations that they would create for
application. No views, no ctrlers. I don't want to waste too much of
their time.

The responses are decently informative. I find you learn a lot about
their coding styles (indentation, conventions, readability) and their
thought process.

You have to notice at a lot of the little details in the code:
how do they name their methods? is the name appropriate?
which class did they put the method in?
are the methods half a page long or do they factor out the body into
private methods?
is the code DRY?
do they comment the complicated stuff or assumptions made?
do they extract out the constants? are the constants at the top?
did they use inheritance and modules in a way that makes sense?

I usually talk over the code sample with the candidates that pass and
ask them why they did things a certain way and if they have a solid
thought process, they'll easily be able to show it.

Keith

Stirling Olson

unread,
Mar 18, 2010, 12:03:32 PM3/18/10
to rails-b...@googlegroups.com
+1 for pairing with current team members.

-Stirling

Anuj Dutta

unread,
Mar 18, 2010, 12:05:10 PM3/18/10
to rails-b...@googlegroups.com
On 18 March 2010 21:31, Chris Conrey <con...@chrisconrey.com> wrote:
Those are all good ideas, what we try to do is to have those plus have them come in and pair with one of our devs for a while so we can get a true feeling for how they work both as a developer and as a team member.

Chris Conrey
chrisconrey.com
Human->Geek Relations at Integrum
@conrey on Twitter
 

That's great. It's quite impressive that you actually get them sit down with one of the developers. Good work!

Anuj

 



--
Anuj DUTTA

Bradley Grzesiak

unread,
Mar 18, 2010, 1:20:15 PM3/18/10
to rails-b...@googlegroups.com
+1 on bringing them in.

We pair with prospective full-timers for a week before offering a job. Preferably, they'd pair with at least two different devs.

:brad
Bradley Grzesiak
co-founder, bendyworks llc
http://bendyworks.com/

Mike Pence

unread,
Mar 18, 2010, 1:42:56 PM3/18/10
to rails-b...@googlegroups.com
I dont think that there is any replacement for that, but I hope that you pay them for their time. I have heard of some firms having prospective employees work with them for a week without compensating them for their time at all, and I know that does not feel ethical to me, and it is probably not legal, either.

Mike Pence

Steve Hoeksema

unread,
Mar 18, 2010, 2:08:22 PM3/18/10
to rails-b...@googlegroups.com
Also, you're only going to get people who are unemployed or who want
the job enough to use (1/4 of?) their holiday leave.

Donald Ball

unread,
Mar 18, 2010, 1:46:42 PM3/18/10
to rails-b...@googlegroups.com
On Thu, Mar 18, 2010 at 1:20 PM, Bradley Grzesiak <list...@gmail.com> wrote:
> +1 on bringing them in.
>
> We pair with prospective full-timers for a week before offering a job.
> Preferably, they'd pair with at least two different devs.

I can't say I'm on board with that notion. I've got a baby and a
mortgage; I couldn't really justify dropping a week on a job I might
not get, particularly if I already have a job. The net effect is to
bias towards the young and financially secure, which isn't exactly
fair. Also, if you're not paying them for their time, you're probably
in violation of US labor laws.

- donald

Eric Davis

unread,
Mar 18, 2010, 2:42:14 PM3/18/10
to rails-b...@googlegroups.com
Damien Tanner wrote:

> We ask for github and take a look at open source contribs.

It would also be good to have them describe some of their
contributions. I tend to throw everything up on Github in case someone
else would benefit. Some of it's not production quality and some are
just prototypes of ideas.

Example questions:

* What's one OS contribution you are proud of? Why? (e.g. used some
advanced Ruby to do XYZ, fixed a obscure bug on OS9 when running in a
VM on Tuesday the 15th.)

* What's one OS contribution you made but are not happy with? Why?
(e.g. poor performance, didn't know what I was doing, missing docs...)


--
Eric Davis
Little Stream Software
Redmine Custom Development and Support Services
http://www.LittleStreamSoftware.com

Patrick Reagan

unread,
Mar 18, 2010, 2:46:28 PM3/18/10
to rails-b...@googlegroups.com

I'd be curious to know at what point such a process starts to show diminishing returns. I find that I have a pretty good sense for someone's ability to break down a problem, write appropriate tests, and create a sound implementation within 4 hours of dedicated pairing time. In my view, I think a week sounds quite excessive.

Assuming that there are other rigorous evaluations that happen prior to the pairing time, I think that those who get to that evaluation would allow someone to make a confident hire / no-hire decision within that timeframe.

p.

Philip Hallstrom

unread,
Mar 18, 2010, 3:08:03 PM3/18/10
to rails-b...@googlegroups.com
One of the neatest job applications I've seen in a long time was for a
sysadmin. It was a series of tests that had to be completed in X
amount of time. The goal of the tests was to submit your resume in
the format/method they wanted.

Step one was something like "connect to this non standard SMTP port to
send an email to such an such address with your email address as the
message along with it's md5sum". we'll then send you an email with
the next step.

Next step had something about getting your public key onto their
systems via ftp or some such. Next step would allow you to copy your
resume, etc. etc.

I did it for a little while simply because I thought it was
interesting. Each step was designed to weed out people that weren't
sysadmins. Either you already knew how to do it or they gave you
enough time that *if* you were competent you could figure it out.

But none of them were so time intensive that you couldn't complete it
if you were indeed interested in the job.

You could do something similar requiring they use Ruby (and gems) to
take your resume in txt/markdown/textile and convert that to pdf.
Then submit it via REST to some service somewhere. Then submit all
the code you used to do each step.

Or something.

Would be fun at least :)

Eric Davis

unread,
Mar 18, 2010, 3:47:22 PM3/18/10
to rails-b...@googlegroups.com
Philip Hallstrom wrote:

> One of the neatest job applications I've seen in a long time was for
> a sysadmin. It was a series of tests that had to be completed in X
> amount of time. The goal of the tests was to submit your resume in
> the format/method they wanted.

I remember seeing someones resume written out as PHP code. It was valid
code and read like a resume but when it was executed it would output
something useful. I think this would be a great way for job seekers to
become visible:

$ gem install edavis10-resume

$ edavis10-resume
Hi I'm the mission statement...

$ edavis10-resume pdf (copies the resume in PDF to the current
directory)

$ edavis10-resume text (text format)

$ edavis10-resume contact
My contact information is ...

Easily a weekend project and would make resume updates very easy (e.g.
rake version:bump:minor).

danmayer

unread,
May 11, 2010, 9:13:02 AM5/11/10
to Ruby on Rails meets the business world
Since I had to fulfill the rule of the internet (if it doesn't exist
and someone thinks of it, it must be created... similar to XKCD rule
34 http://xkcd.com/305/ ). I decided to make a installable gem resume
as Eric discusses above. I just shut down Devver, and need to update
and host my resume for the first time in 3 or so years. I went looking
for projects and didn't find anything that met all my needs. I
eventually found a Sinatra project that converted Markdown to HTML and
hosted it on Heroku. I forked that as my starting point, and added
support for converting markdown to a variety of formats, simplified
the Heroku deployment, added the ability to publish to Github personal
pages, and finally added the ability to package up the code and
deploy it as a Ruby gem.

If you want to give it a try, run 'gem install danmayer-resume', then
type danmayer-resume which will print it's help section. Then you can
interact with it a bit on the command line.

You can find the whole project, which makes it simple for anyone to
create a resume gem, on Github http://github.com/danmayer/Resume

I made a blog post going into more detail and screencast showing how
to create new resumes and deploy everything from scratch on my blog,
http://www.mayerdan.com/2010/05/introducing_ruby_resume_a_proj.php

Anyways I figured I would reply to this thread, since I found it while
looking for an open source resume solution in Ruby. Now I will have to
find something else that doesn't exist on the internet and build it...
haha

peace,
Dan Mayer
http://mayerdan.com

On Mar 18, 3:47 pm, Eric Davis <eda...@littlestreamsoftware.com>
wrote:
Reply all
Reply to author
Forward
0 new messages