That first job or internship—it’s one of the most exciting milestones in a student’s life. But getting matched with the right opportunity can be a frustrating process. If a school is not on the regular recruiter circuit, then students may not be exposed to the breadth of employers and postings available.
Three students from Michigan Tech experienced this challenge first-hand. Their school was too far north for many recruiters, and their fellow students struggled to find opportunities through their career center’s outdated software. The three friends started a side project to build a better job-matching platform. The project was so well received that it turned into a viable business.
Job Matching for Students
Launched in 2014, Handshake is a career network that connects students and young alumni to employers and university career services. Since the project’s inception four years ago, the company has grown from three founders to 35 employees and now serves over 150 schools, 2.5m students, and 70,000 employers across the country.
Universities use the Handshake platform to manage all career-related operations, including on-campus events, advisor appointments, and recruiter contacts. Recruiters use it to post jobs and connect with candidates that have the right skillsets or interests. Students log in to participate in career services and apply for opportunities. With Handshake, recruiters only need one login to access all schools, and students can use their school login.
A Growing Network on Heroku
The Handshake team started their original side project on Heroku. They wanted to get their vision up and running quickly without having to worry about being sidetracked by DevOps tasks. Once their product started to gain traction, the team felt they should evaluate the range of PaaS solutions available as part of the young company’s technology due diligence.
They also considered running AWS directly and deployed a pilot app to test it out. Their app used LibreOffice and although using a buildpack made it easier to deploy, it still took a considerable amount of time.
AWS is considerably more work compared to Heroku. We spent the whole day trying to get everything working on AWS, and then ended up deploying it to Heroku in 30 minutes. Scott Ringwelski, Co-Founder & CTO, Handshake
After careful evaluation of their options, the Handshake team decided to stay on Heroku because the platform could easily scale and support their long-term growth.
We’re software developers, not DevOps engineers. With Heroku, everything is taken care of for us, so we can focus on building our product. Scott Ringwelski, Co-Founder & CTO, Handshake
The Handshake platform is built primarily on Rails, with one small internal app on Phoenix that allowed the team to experiment and learn more about Elixir. Their front-end uses Turbolinks and Knockout.js, although the team is currently transitioning front-end code to Typescript and React. Customer service is handled using ZenDesk and Salesforce.
Handshake’s data storage is on Heroku Postgres, and they use Heroku Redis for caching and running Sidekiq for background processing. Elasticsearch is a major component of their stack, and they use Elastic Cloud to run management UIs and relevancy-based tasks, such as job matching. They provision some dynos within their main app specifically for re-indexing data in Elasticsearch. Other Heroku Add-ons include SSL for encryption and Adept Scale which has made automatic scaling easy for the team.
We love using Heroku Postgres. It’s easy and convenient—not only do we not have to manage databases, but we also get metrics and followers with our account. Scott Ringwelski, Co-Founder & CTO, Handshake
Because the Heroku platform allows developers to use the language or framework of their choice, Handshake was able to deploy easily using Heroku Buildpacks. The team was able to customize several key buildpacks for their particular dyno environment.
Heroku Buildpacks have been critical to our app deployment. They’re composed of only three simple files, which makes it easy and quick to customize them to fit our dyno environment. Scott Ringwelski, Co-Founder & CTO, Handshake
Handshake Scales Up Its Service and Staff
Since the service formally launched in 2014, Handshake has grown from six to 35 employees. The team has found it easy to onboard new developers, with a simple click to add new collaborators to a project. Heroku’s low learning curve has also helped new staff ramp up quickly. Handshake’s leadership is excited about the new Heroku Teams feature, which will help them better manage their engineering organization and their app costs as their business grows.