How to create a great co-op/internship program at your company?
Is having a co-op program the right thing for your company?
Throughout my career at various Canadian startups, I got a chance to create a co-op program for companies. A Co-operative Education (Co-op) program is a student program that includes work periods in companies in the field, where they perform career-related functions. A student gains real-life experience working in companies while earning credits toward their study. Co-op programs are usually paired with schools. Universities/colleges facilitate the matching of students and companies. Some schools have 4 months co-op program while some schools offer 4-12 months program. The equivalent of the co-op program in the United States would be an internship. In this article, I want to share some of my experiences in setting up a successful co-op program.
What are the benefits of hiring a co-op student?
First, let’s start with the “Why”. Why we should bother setting up a co-op program to begin with? There are many benefits of having a co-op program at your company:
1. Giving back to the society
It’s tremendously beneficial for a student to gain some real-world experience before they graduate. All the work at school is thrown-away projects. The co-op program helps them to try out different types of roles/companies and that would allow them to figure out their directions upon graduation better, as well as being a much more complementary software developer when they graduate. By providing this experience to the students, your company is doing good for our next generation in tech!
2. Training your staff to be better interviewers and mentors
A co-op program is an extremely great channel for you to provide more interviewing opportunities for your staff. The expectations of the students are usually lower so the interview process is more light-weight. Try to pair your engineers who would like to gain interviewing experience with some more experienced engineers and let them run the co-op interviews. Provide feedback to them so that they can do better. Allow them to provide feedback on the whole interview process with fresh eyes to make the interview process better as well. Keep practicing so that later on, they can be involved in interviewing full-time staff.
Everyone can be a mentor for the co-op students but not everyone is a great mentor. Define the expectations and outcomes of a mentor. Give your staff opportunities to mentor the co-op students. Grow your staff to be better mentors. Mentorship can also be great for mentoring internal staff. Note that some people might not fit to be in a mentor role. Co-op students are usually very eager to learn but they are also shy to ask questions to bother others at times. A great mentor can find a good balance to unlock the co-op students’ potential. A great mentor can also enable the team to run more effectively together. Great mentors are not easy to find but they are super valuable to companies and mentoring the co-op students allow staff to practice and learn to be better mentors.
3. Test-run your onboarding system
A great onboarding system is the key to a happy developer’s experience. Engineers can start becoming productive sooner if there’s a great onboarding process and experience. The onboarding system is something super useful when the company has a lot of hires. Usually, companies are not prepared for growth. When they need to hire a lot of full-time staff, the time required to ramp up the staff became the bottleneck. A great onboarding system would alleviate that problem. The co-op program would allow students who have fresh eyes to test-run your onboarding system and improve on it. When you always have an up-to-date onboarding system, you are not only providing something attractive for engineers to join your company, but you also allow the new engineers to be productive sooner to contribute to the company’s value.
4. Getting fresh ideas to challenge the current way of thinking
If the company only hires people with similar skillsets or experience, there will be a lot of groupthink and companies will not innovate. That’s why diversity of skillset and background is very important. Having co-op students join a company would allow engineers to talk about the deep why and rethink how they make decisions. Co-op students often provide fresh ideas to challenge the current way of thinking. I have also seen how some co-op students enlightened people’s minds with their innovative ideas to enhance the company’s product at hackathons.
5. Future pipeline building
Having co-op students is the perfect way to build up the pipeline for your company. Many co-op students return back to their previous companies to join them as full-time employees after they graduate. Returning co-op students takes almost zero time to ramp up. They also have developed relationships with the team and other stakeholders during the co-op term. Every new hire can be a gamble and companies would not know if the new hires would work out well with the companies. Since co-op students have already proven their work ethics and behaviours during their co-op terms, they have a much higher chance of success in the company in the long run.
How do I know if having a co-op program is right for me?
In general, I am a strong supporter of having a co-op program at every company because of the various reasons above. However, there are times you might not want to hire co-op students.
The following are some examples that should not be hiring a co-op at this moment:
You don’t have people to train the co-op students
You don’t have people to do the paperwork to run through the hiring process with schools and do follow up with the co-op students
Your engineering team is too green
Your company setup and structure would not give a good experience to the co-op students (e.g. you are an agency company with a lot of contractors and people are moving around very often from project to project in a short timeframe)
Your team is too busy rushing for a deadline
You do not have a budget to do more hiring
It is important to remember that co-op != cheap labour. Even though there are programs where you can subsidize or cover the co-op student’s salary, companies should never take advantage of the co-op students as cheap labour as the main intention to get them to work for your company.
How to create a co-op program at your company?
A co-op program can be easily established with the following steps:
Find a person (or a team) to be the champion or owner of the co-op program
Collect a list of schools you want to hire from. Go to their co-op websites to read more about it (or reach out to their co-op coordinators to learn more)
Define how your company can support co-op students: Which team(s) would be more beneficial to have a co-op student? Would an 8-month co-op term be better than a 4-month co-op term? Would you want to hire students graduating soon or you are ok with first-time co-op students? How many co-op students can your company support? Figure out the company’s budget to support that.
Document the work needed to coordinate a co-op program as you go through it.
Create a job description for the co-op roles.
Submit the application and posting as early as you can to the school sites and wait for their response. Since co-op is super competitive, it is recommended that the posting be submitted one semester before the term you want the co-op for, e.g. if you are hiring for September, submit your posting to schools at the beginning of May.
Review all the applications as early as possible and shortlist the candidates.
Arrange interviews with the students. Figure out the interview schedule with your staff.
Shortlist the offering order ASAP and present the offer.
Co-op is usually on a first-come-first-serve basis. Students have 48 hours to accept an offer so they got hired really fast. If some of your offers don’t work out, go to the next one right away.
Once the students are hired, try to connect and touch base with them closer to the start date.
Prepare the onboarding materials and mentors for the co-op students.
Follow up with them 1 month/mid-way to ensure that they are gaining great experience. Follow up with their managers too.
When it’s closer to the end date, try to recruit or stay in touch with the students so that when they graduate, they will come back to work for you.
What made a great co-op program?
A key to hiring great co-op students is timing. A lot of companies have co-op programs and it is super competitive to hire great co-op students. The earlier you can kickstart your hiring process (usually at the beginning of the semester for hiring for next semester), the higher chance you can get top-graded co-op students.
If your company has people on the recruiting team to be in charge of the co-op program, that would make the co-op program much easier to run. If not, it could be an initiative you run as an Engineering Manager. A great co-op program provides great value to both the companies as well as the co-op students.
Reputation from the previous co-op students would make your company’s co-op program much more attractive. If students who worked at your company before had a great experience and they learned and grew a lot themselves, they would likely recommend others to join your company. That would make your hiring easier and your acceptance rate much higher.
People made a big difference. If your company is organized and you care about your co-op students and you have a supporting system for them, that would make your co-op program an excellent program everyone wants to join. If the students can be ramped up quickly, they would provide great value to your company just like another full-time staff. It’s a win-win situation for both the students and the company.
Where can I find more information about a co-op program?
Go to your local school websites and search for a co-op program.
Have fun and hope you can support our future software engineers!