By Andrea Poet
An added challenge to the already stressful job interview process facing computer science graduates is the technical interview. It’s an assessment of what you know, how you think, and how well you can communicate this information. Some students wonder how to better prepare for this part of their interviews.
Dane Zieman, a senior in the computer science program at UIC, saw an unmet need on campus and did something about it. He started Algorithm Challenges, a student Association for Computing Machinery (ACM) special interest group (SIG) that teaches students techniques to solve coding challenges, hosts practice sessions, and even conducts mock technical interviews with students, incorporating concepts from data structures and algorithm classes.
Zieman is treasurer of UIC’s ACM chapter, and a teaching assistant for CS261, Machine Organization. He also has firsthand knowledge of what it’s like to interview for post-collegiate jobs, holding a degree in chemical engineering from University of Illinois Urbana-Champaign, and working in that field before deciding to change to a career in computer science.
The UIC Engineering Career Center provides mock behavioral interviews, along with an array of services to students, and provides links to lists of programming questions students may encounter in interviews. But Zieman thought mock challenges would better prepare computer science students for what to expect, and for the interview process itself.
“Fair or not, a lot of the hiring process depends on you doing well on the coding challenges. It can be, you do well and you get the job, or you do you poorly and you don’t get the job,” Zieman said.
He added that the ability to progress further in these technical challenges is critical in the hiring process.
“That can end up being thousands of dollars of difference in salary, depending on if you pass one or two challenges, or not,” Zieman said.
Zieman explained that many companies have long stages of automated coding challenges before a prospective hire even speaks to a person in the interview process. The candidate may encounter a quick code screen that they must enter into an online interface, which provides a simple “yes” or “no” as to whether the problem was correctly solved. If the process progresses to a phone call, the interviewee may have to lay out their approach to solving a different coding challenge. If a candidate makes it to an in-person interview, he or she may have to write their code down on a white board, a skill in itself.
“I wanted to create a SIG group that would help students build up all of those skills,” Zieman said.
The group was formed in January and meets each Wednesday. Just prior to spring break, Zieman said the first mock interview was conducted. He said typically five or six students come each week, and in total 20 unique students have attended. More students are trickling in as interviews are scheduled. It is Zieman’s hope that the group continues after his graduation in May.
“I hope someone will take up the mantle,” Zieman said.
All of the Algorithm Challenges materials are available on Zieman’s Github page, under the SIG_Algorithm_Challenges tab. His hopes to create and share an interview preparatory document, similar to those given to candidates by large tech companies, on the site in the near future. Zieman said drop-ins to the SIG group are welcome.