extends /templates/recruitment_base block content .artisanal-claim if me.get('anonymous') a#login-link(data-i18n="login.log_in") Log In br if !isEmployer && !me.isAdmin() #tagline h1(data-i18n="employers.hire_developers_not_credentials") Hire developers, not credentials. button.btn.get-started-button.employer-button(data-i18n="employers.get_started") Get Started else if !me.get('anonymous') a#logout-link(data-i18n="login.log_out") Log Out br .row - var fullProfiles = isEmployer || me.isAdmin(); if fullProfiles #filter-column.col-md-3 #filter .panel-group#filter_panel a#filter-link(data-toggle="collapse" data-target="#collapseOne") .panel.panel-default .panel-heading h4.panel-title span.glyphicon.glyphicon-folder-open#folder-icon | Filter .panel-collapse.collapse.in#collapseOne .panel-body p strong(data-i18n="employers.already_screened") We've already technically screened all our candidates span(data-i18n="employers.filter_further") , but you can also filter further: form#filters .filter_section#visa_filter h4(data-i18n="employers.filter_visa") Visa label input(type="checkbox" name="visa" value="Authorized to work in the US") span(data-i18n="employers.filter_visa_yes") US Authorized | (#{candidatesInFilter("visa","Authorized to work in the US")}) label input(type="checkbox" name="visa" value="Need visa sponsorship") span(data-i18n="employers.filter_visa_no") Not Authorized | (#{candidatesInFilter("visa","Need visa sponsorship")}) .filter_section#school_filter h4(data-i18n="account_profile.education") Education label input(type="checkbox" name="schoolFilter" value="Top School") span(data-i18n="employers.filter_education_top") Top School | (#{candidatesInFilter("schoolFilter","Top School")}) label input(type="checkbox" name="schoolFilter" value="Other") span(data-i18n="employers.filter_education_other") Other | (#{candidatesInFilter("schoolFilter","Other")}) .filter_section#role_filter h4(data-i18n="employers.candidate_role") Role label input(type="checkbox" name="roleFilter" value="Web Developer") span(data-i18n="employers.filter_role_web_developer") Web Developer | (#{candidatesInFilter("roleFilter","Web Developer")}) label input(type="checkbox" name="roleFilter" value="Software Developer") span(data-i18n="employers.filter_role_software_developer") Software Developer | (#{candidatesInFilter("roleFilter","Software Developer")}) label input(type="checkbox" name="roleFilter" value="Mobile Developer") span(data-i18n="employers.filter_role_mobile_developer") Mobile Developer | (#{candidatesInFilter("roleFilter","Mobile Developer")}) .filter_section#seniority_filter h4(data-i18n="employers.filter_experience") Experience label input(type="checkbox" name="seniorityFilter" value="Senior") span(data-i18n="employers.filter_experience_senior") Senior | (#{candidatesInFilter("seniorityFilter","Senior")}) label input(type="checkbox" name="seniorityFilter" value="Junior") span(data-i18n="employers.filter_experience_junior") Junior | (#{candidatesInFilter("seniorityFilter","Junior")}) label input(type="checkbox" name="seniorityFilter" value="Recent Grad") span(data-i18n="employers.filter_experience_recent_grad") Recent Grad | (#{candidatesInFilter("seniorityFilter","Recent Grad")}) label input(type="checkbox" name="seniorityFilter" value="College Student") span(data-i18n="employers.filter_experience_student") College Student | (#{candidatesInFilter("seniorityFilter","College Student")}) //input#select_all_checkbox(type="checkbox" name="select_all" checked) //| Select all p#results | #{numberOfCandidates} span(data-i18n="employers.results") results //button.btn#create-alert-button Create Alert #candidates-column(class=fullProfiles ? "full-profiles col-md-9" : "teaser-profiles col-md-12") if candidates.length #candidate-table table tbody for candidate, index in featuredCandidates - var profile = candidate.get('jobProfile'); - var authorized = candidate.id; // If we have the id, then we are authorized. - var profileAge = (new Date() - new Date(profile.updated)) / 86400 / 1000; - var expired = profileAge > 2 * 30.4; - var curated = profile.curated; - var photoSize = fullProfiles ? 75 : 50; tr.candidate-row(data-candidate-id=candidate.id, id=candidate.id, class=expired ? "expired" : "") td(rowspan=3) - var photoURL = candidate.getPhotoURL(photoSize, false, true); div(class="candidate-picture " + (/^\/file/.test(photoURL) ? "" : "anonymous"), style='background-image: url(' + encodeURI(photoURL) + ')') if fullProfiles td.candidate-name-cell strong= profile.name | - span= profile.jobTitle tr.description_row(data-candidate-id=candidate.id) if curated && curated.shortDescription td.candidate-description div #{curated.shortDescription} else td.candidate-description div #{profile.shortDescription} tr.border_row(data-candidate-id=candidate.id) if curated - var workHistory = curated.workHistory.join(","); if !fullProfiles td.tag_column img(src="/images/pages/employer/tag.png") | #{profile.jobTitle} td.location_column img(src="/images/pages/employer/location.png") | #{curated.location} td.education_column img(src="/images/pages/employer/education.png") | #{curated.education} td.work_column if workHistory img(src="/images/pages/employer/briefcase.png") | #{workHistory} if !fullProfiles div#info_wrapper span.hiring-call-to-action h2#start-hiring(data-i18n="employers.start_hiring") Start hiring. button.btn.get-started-button.employer-button(data-i18n="employers.get_started") Get Started h2#hiring-reasons.hiring-call-to-action(data-i18n="employers.reasons") Three reasons you should hire through us: .reasons#top_row .reason img.employer_icon(src="/images/pages/employer/employer_icon2.png") h3(data-i18n="employers.everyone_looking") Everyone here is looking for their next opportunity. p(data-i18n="employers.everyone_looking_blurb") Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction. .reason img.employer_icon(src="/images/pages/employer/employer_icon6.png") h3(data-i18n="employers.weeding") Sit back; we've done the weeding for you. p(data-i18n="employers.weeding_blurb") Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time. .reason img(class="employer_icon" src="/images/pages/employer/employer_icon3.png") h3(data-i18n="employers.pass_screen") They will pass your technical screen. p(data-i18n="employers.pass_screen_blurb") Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News. span.hiring-call-to-action h2(data-i18n="employers.make_hiring_easier") Make my hiring easier, please. button.btn.get-started-button.employer-button(data-i18n="employers.get_started") Get Started .reasons#bottom_row .reason_long img.employer_icon(src="/images/pages/employer/employer_icon1.png") .reason_text h3(data-i18n="employers.what") What is CodeCombat? p(data-i18n="employers.what_blurb") CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io. .reason_long img.employer_icon(src="/images/pages/employer/employer_icon5.png") .reason_text h3(data-i18n="employers.cost") How much do we charge? p(data-i18n="employers.cost_blurb") We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company.