Skip to content

Instantly share code, notes, and snippets.

@lunohodov
Forked from igrigorik/job-resume.rb
Created August 29, 2010 18:46
Show Gist options
  • Save lunohodov/556554 to your computer and use it in GitHub Desktop.
Save lunohodov/556554 to your computer and use it in GitHub Desktop.
# Hey coops..
#
# Imagine yourself on the other side of the table: two job openings, hundreds of resumes,
# _all of which_ look friggin' identical. Yeah, the HR departments at your MegaCorp XYZ are using
# automated tools to scan for keywords, and the coop department at your school is trying to beat
# you into submission to follow some "predefined template".. But, unless what you're aspiring to
# is to be an automaton at MegaCorp XYZ, relegated to writing test harnesses for code that will
# never see the light of day.. please do yourself a favor, and _be different_! Be bold, dammit.
#
# (Frankly, I'm falling asleep while reading your resumes.. Wake me up! Srsly.)
#
# => Stuff we care about
#
# Yeah I'll ask you about your strengths and weaknesses, but really, the best indicator of who
# you are is what you do with your free time. School projects are great, so is work experience.
# But if you wrote a JQuery lib on the weekend, you know, for fun.. Now that is hot. That says
# a lot, tell me about it.
#
# You know what it shows? Passion. You cared enough to do it on your free time - that already
# puts you in less than 10% of the population of all students (srsly).
#
# Show me your blog, tell me a story. An interview is your opportunity to show off your stuff.
# Grab my laptop and show me a code snippet you're proud of, or tell me about a problem you're
# currently trying to solve.
#
# => Useless stuff
#
# Your GPA is possibly the least useful predictor for a good interview - in fact, it appears to
# have an inverse correllation. That is, of course good grades are good, but they don't tell the
# story, so don't sweat it. Same goes for your high-school hobbies: show me your recent work
# instead.
#
# Oh, and don't even get me started on keyword stuffing. I'm sure that you're bright, but I doubt
# you managed to grok C/C++/Java & Erlang all at the same time, after taking CS 133. Know your
# strenghts, advertise them. If you know C++ inside out, that won't stop me from hiring you for
# a Ruby position.
#
# => In conclusion...
#
# Being exceptional requires hard work, but trust me, it's worth the effort. Let the automatons go
# where they ought to go.. to the MegaCorps who filter on keywords and require pre-formatted resumes
# printed on 95% brightness, extra-think, A4 paper. But you my friend, you're different... so be
# different, dammit.
#
# Kthnx,
#
# Ilya Grigorik - CTO / Founder - postrank.com
# (twitter: @igrigorik, email: ilya@postrank.com, blog: igvita.com, github: github.com/igrigorik)
#
#
# P.S. Yeah, we're hiring at PostRank. In fact we're never not hiring, so if you think you got what
# it takes... then drop me a line, or even better, send me some code. Happy to chat.
#
# P.P.S. So I took 15 minutes to draft a _different_ kind of resume. You know, one that would guarantee
# an interview... Fork it, modify it, use it, do whatever you want. Point is, do something different.
#
class Student < ActiveRecord::Base
has_one :passion, :conditions => "project.type = 'web'"
has_many :skills, :through => :practice
has_many :relevant_courses, :through => :university, :include => :group_work
has_and_belongs_to_many :projects, :through => :github, :foreign_key => "github.com/username"
validates_presence_of :agile_team
validates_presence_of :innovation
validates_presence_of :learning_opportinities
def self.objective
"Learn & improve my skills in an environment that will push me to learn new things " \
"while having fun and contributing to projects that will have an impact ot the end user"
end
def self.toolkit
{
:strong => %w(Ruby Rails JQuery CSS),
:familiar => %w(C++ Java Erlang Flex Flash SQL),
:want_to_learn => %w(MacRuby JRuby)
}
end
def self.experience
past = []
past.push {:company => "XYZ", :title => "Ruby Wrangler",
:date => (1.year.ago .. 6.months.ago),
:description => "Built A because of B, responsible for X",
:reference => "John Smith <john@smith.com>",
:url => "http://awesome-rails-app.com"}
past.push {:company => "CDF", :title => "Server Admin",
:date => (6.months.ago .. Time.now),
:description => "Migrated X to cloud platform Y",
:reference => "Bob Smith <bob@smith.com>",
:url => "http://more-awesome-rails.com"}
past
end
def self.education
{
:university => "Waterloo",
:level => "2A",
:degree => "Bachelor of Computer Science",
:grades => "Available on request, checkout my projects instead"
}
end
def self.contact
contacts = []
contacts.push {:email => "name@me.com"}
contacts.push {:twitter => "username"}
contacts.push {:phone => "519-000-0000", :time => "10am - 6pm"}
contacts
end
def method_missing(method, *args, &block)
"Happy to answer any questions about #{method} (#{args.join(', ')})" \
"please contact me for futher discussions." \
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment