How did you get so many applicants? How do you find such good students? How did you come up with that process? These are all questions we’ve been asked about our Apprentice Selection Process.

We’re spilling our secrets, because one thing’s for sure: our process is working. Our last two apprentice classes have been crazy strong. (Wondering what an EduSource apprentice is? Read more about EduSource Apprenticeships here.) This year, we had more than 80 applicants, but were able to whittle it down to six incredible students for next year’s class. We feel great about the students we ended up with.

But before we go through the steps of our Apprentice Selection Process, here’s a sneak peek into what makes an ideal apprentice for us. There’s the obvious, of course: good programming skills. But we have a few other things we look for in our apprentices.

What we look for in apprentices:

Self-motivated workers. Since our apprentices work during the school year, we need people who are self-motivated enough to work independently. We’ve had a few apprentices who are great programmers and leaders during the summer, but when they get back to school and they struggle. We’re actively trying to avoid that now.

Core Values. You can read more about our core values here, but basically, we’ve decided that the most important attributes for any EduSource employee are feeling ownership in the company (Crownless King), valuing relationships (Phalanx), a natural desire to figure things out (Figure-it-Out Gene), and a need to constantly make things better (Kaizen).

Teamwork skills. EduSource operates through teams, so seeing how the students interact with each other is important to us. We don’t need all leaders (though leadership skills definitely get our attention!), but we need people who will speak up and gently correct others on the team. Knowing that our students work well in a team environment is crucial.


We’ve learned a lot over the years. And we’ve learned that there are a few things that companies usually look in interns for that don’t matter as much to us.

What we don’t necessarily look for in apprentices:

High GPA. While this is obviously never a bad thing, we’ve found book knowledge doesn’t always translate to hands-on-keyboards knowledge. Also, since our apprentices work part-time during the school year, it can be more difficult to get the attention of those with 4.0 GPAs.

Great interview skills. We’ve learned that we can’t rely entirely on this. Frankly, some of our worst interviewers have been some of our best hires. Sure, students should have learned to have a strong handshake, make good eye contact, and sound confident while answering questions. But let’s be honest – some of the best programmers really struggle with these basic social skills. And that’s not a bad thing. It’s just something we’ve learned to accept and appreciate. While we love having apprentices with the business skills to be able to attend client meetings and give demos, we would miss out on some great programmers if we required it. The interview just plain can’t stand alone – we wouldn’t make good decisions.

Snappy dresser. Well, obviously. We do ask our apprentices to dress business casual for our interviews, but we honestly only do that because many students will dress up regardless, so it makes sense to even the playing field. We don’t have a dress code at EduSource, so judging an apprentice based on the impression they make in a suit makes no sense for us.


Okay, so now that you have a better idea about what we are looking for, here’s our Apprentice Selection Process.

Apprentice Selection Process

Step 1: Raise interest. The first step is getting applicants. We do this several ways, starting in early fall:

Website. We have a landing page dedicated to our apprentice program, and constantly drive student traffic there.

Social media. Our Instagram account goes crazy during this time, trying to drive interest in the program.

Emails. We send emails to any college that we are targeting. We choose targeted schools that meet certain criteria in Indiana or the surrounding states. We work hard to get the department chair’s email address, and send information about EduSource and the apprentice program. (Pro Tip: Communicating right with the professors yields better results than going through career services in our experience.) These emails link to the landing page from the website.

Here we are, rocking a job fair at Cedarville University.

Job fairs. We attend carefully selected job fairs to raise more interest. The costs for these can add up and they take a lot of time, but they are an incredible way to bring awareness to the program, so we try to hit 3-6 each year.

Info nights. Sometimes, we host info nights at various schools. We ask the computer science department to put up flyers, then buy pizza and show up to answer questions and show some of the things our students have been working on. If any of our current apprentices attend the school, we ask them to come and answer questions.

Through each of these outlets, we ask students to send us resumes to get started in the process. We take resumes up until our cut-off date (which we advertise).


Step 2: Collect resumes. As we collect resumes, we sort them into students who meet our criteria (must have taken Data Structures or a similar class, must be at least a sophomore, must be a computer science or computer engineering major at an accredited school) and those who don’t. We send a polite “no thank you” to those who don’t.

We keep a big pile of those that do. And we start an Excel spreadsheet of them.

At some point, we evaluate resumes. We look for things that are important to us, such as basic professionalism, some volunteer service or leadership experience, previous work experience, and a minimum GPA. We rate each resume out of 10 and put this number into the spreadsheet. (We have two people evaluate each and compare notes, just to keep us honest.)


Step 3: Applications. After our resume date has passed, we email each student, asking them to fill out a simple application. This answers a few more specific questions. But it also serves one other important point: to weed out applicants. Our next step costs money, so we want to make sure our applicants are really interested before proceeding. To that end, we give the students a date (usually about a week out) when the applications must be sent back. And we stick to it.

After we get all the applications back, we evaluate each of these individually, too. This scale is out of five, since the application is short. Again, we have two people evaluate them. Then we add these numbers to the spreadsheet.


Step 4: Assessments. Since our program involves putting students on real project teams and expecting them to actually build software, technical know-how is of upmost importance to us. So we ask the students to complete a simple online assessment.

We use the website TestDome to create a simple test (we use this site for full-time positions, too). And we ask each applicant to take the assessment (again, we usually give them a week to complete it). The assessment is pretty simple, and it only takes about 20 minutes. But it gives us a better idea of the students’ basic logic ability.

After the students take the test, we give them points on the spreadsheet, based on how well they did. We give 20 points to the highest scores, and on down the list.


Step 5: Arranging interviews. At this point, we tally up all the scores, and decide how many students we want to interview for our available positions. We always have group interviews, in which the students work together to white board out solutions. So we schedule interview sessions (each is two hours long), and email the top-scoring students to let them pick a session. This year, we had four different sessions with 3-5 students in each.

We do require that all students come in person to one of the sessions. We have lost a few applicants by insisting on this, but we feel that assessing the group dynamic is so important. Also, we like the students to get to experience the EduSource culture in person.


Step 6: Group interviews. Our group interview sessions follow this schedule:

10 minutes – We do a quick overview of our apprenticeship program and let the students ask questions.

45 minutes – Then we run the students through the group problem-solving session. Our senior developers work together to determine a new group of questions for each year. The students take turns being the “board writer,” while the others help them with the logic of the problem. Students write “pseudo code” and don’t have to worry about syntax, etc. We record these sessions so other company developers can watch them later.

55 minutes – Then we have sessions of “speed interviewing.” Students are shuttled between 10-minute interviews with company executives. We each have a slightly different angle that we ask questions from, but all of us are especially looking for how well this person exemplifies our Core Values. When they aren’t in interviews, we ask a software engineer in the office to host them briefly and explain what they are working on.

10 minutes – Finally, for the last few minutes of the session, we have some of our former apprentices (who are now full-time employees) come and talk to the students. They explain what it’s like to be an apprentice and answer any questions.

During the interviews, we have the interviewers fill out forms about each student, rating them out of 10 points. Half of these points are based on the Core Values, and half are based on each interviewer’s area of specialty. These ratings go on the spreadsheet.

We do one other thing during the interviews that really helps the selection process: we take a quick photo of each student. This way, we can put a name with a face later on.


Step 7: Bonus points. After the interviews, we let any EduSource employee watch the videos and award bonus points for their top picks. After the allotted video-watching time, we tally up the bonus points and add them to the spreadsheet.


Step 8: Choosing the team. 

The last step is getting the selection committee in one room and making final picks. We print out the interviewees’ photos and stick them up on a white board in the conference room, rearranging to find the best team. Of course, we have our “mathematical” picks, but we do morph things around a bit to get the best combination.


Want to learn more of our secrets?

The other best way to get the best apprentices/interns? Have an incredible intern program. If you want a free download of our pdf “100 Things you can do right now to improve your company internship program,” email us at