How to Prepare for our Associate Software Developer Position

June 30, 2023
How to Prepare for our Associate Software Developer Position

For over 4 years, Michi¬≠gan¬≠Labs has hired Asso¬≠ciate Devel¬≠op¬≠ers who are typ¬≠i¬≠cal¬≠ly in col¬≠lege or are new to soft¬≠ware devel¬≠op¬≠ment. Our goals have always been to help men¬≠tor them, treat them the same as any oth¬≠er team mem¬≠ber, and have them direct¬≠ly con¬≠tribute to projects we‚Äôre pas¬≠sion¬≠ate about. As we‚Äôve improved our inter¬≠view¬≠ing process¬≠es over¬≠all and are being more open about how we hire, I want¬≠ed to share this post in col¬≠lab¬≠o¬≠ra¬≠tion with Rohit Kartha, one of our newest 2023 Asso¬≠ciate Devel¬≠op¬≠ers. We‚Äôll be look¬≠ing at high¬≠ly action¬≠able advice, tech¬≠ni¬≠cal¬≠ly and behav¬≠ioral¬≠ly, for any¬≠one look¬≠ing to apply to our Asso¬≠ciate pro¬≠gram in the future, and what they each mean to us inter¬≠nal¬≠ly. Rohit will start us off with behav¬≠ioral prep advice, and David will respond.

Behav­ioral prep #

Rohit Kartha‚ÄČ‚ÄĒ‚ÄČAsso¬≠ciate Soft¬≠ware Developer
Dur¬≠ing the inter¬≠view process, and typ¬≠i¬≠cal¬≠ly before any tech¬≠ni¬≠cal inter¬≠view, behav¬≠ioral ques¬≠tions are asked to get a bet¬≠ter under¬≠stand¬≠ing of the appli¬≠cant and assess their fit for a role. In my opin¬≠ion, answers to these ques¬≠tions are best unpremed¬≠i¬≠tat¬≠ed. In oth¬≠er words, it‚Äôs a good idea to think of what types of behav¬≠ioral ques¬≠tions might come up, but prepar¬≠ing a script or mem¬≠o¬≠riz¬≠ing exact respons¬≠es to com¬≠mon ques¬≠tions should be avoid¬≠ed. I usu¬≠al¬≠ly aim to keep this por¬≠tion of the inter¬≠view casu¬≠al and con¬≠ver¬≠sa¬≠tion¬≠al by know¬≠ing broad¬≠ly what I‚Äôm going to say, but not how I‚Äôm going to say it. There are count¬≠less blogs that con¬≠tain pop¬≠u¬≠lar behav¬≠ioral inter¬≠view ques¬≠tions that might be worth¬≠while to look at. It‚Äôs a great idea to have a cou¬≠ple of talk¬≠ing points ready for these com¬≠mon questions.

David Craw¬≠ford‚ÄČ‚ÄĒ‚ÄČSoft¬≠ware Developer
There’s no ques­tion that the longer your career is, and the more expe­ri­ences you’ve had, the eas­i­er behav­ioral ques­tions are to answer both nat­u­ral­ly and with lit­tle prepa­ra­tion. Behav­ioral ques­tions are best answered with sto­ries that exem­pli­fy what­ev­er the answer to the ques­tion might be. That being said, for our Asso­ciate pro­gram, we under­stand that this could be your first job and that you like­ly haven’t worked in soft­ware devel­op­ment before. So how can you draw from expe­ri­ence with­out hav­ing experience?

Hav¬≠ing a port¬≠fo¬≠lio of projects done on your own can help bridge this gap. When asked about how you deal with chal¬≠lenges, use the chal¬≠lenges you‚Äôve faced on your own per¬≠son¬≠al projects. We also rec¬≠om¬≠mend using school as exam¬≠ples, such as detail¬≠ing how you nav¬≠i¬≠gat¬≠ed a dif¬≠fi¬≠cult group project, or a tight dead¬≠line. Every¬≠thing you expe¬≠ri¬≠ence in life con¬≠tributes to your behav¬≠iors, and that‚Äôs pre¬≠cise¬≠ly what you should draw from dur¬≠ing a behav¬≠ioral interview.

Rohit‚Äôs advice about keep¬≠ing the inter¬≠view casu¬≠al and con¬≠ver¬≠sa¬≠tion¬≠al is impor¬≠tant. Our goal isn‚Äôt to ask you trick ques¬≠tions, but to have a con¬≠ver¬≠sa¬≠tion about who you are. Be hon¬≠est about your strengths and weak¬≠ness¬≠es, and be able to artic¬≠u¬≠late how you man¬≠age them.

Prepar­ing for the Tech­ni­cal Inter­view #

The Michi¬≠gan¬≠Labs tech¬≠ni¬≠cal inter¬≠view helps us under¬≠stand how you approach prob¬≠lems. It involves a prob¬≠lem that can be real¬≠is¬≠ti¬≠cal¬≠ly solved in day-to-day devel¬≠op¬≠ment. We want to know if you have enough of a foun¬≠da¬≠tion to under¬≠stand and apply data struc¬≠tures, and that you can com¬≠mu¬≠ni¬≠cate your thought process to us.

Although the thought of a tech¬≠ni¬≠cal inter¬≠view might seem intim¬≠i¬≠dat¬≠ing at first, there are sev¬≠er¬≠al resources out there to help pre¬≠pare for a cod¬≠ing inter¬≠view. Here are some that I per¬≠son¬≠al¬≠ly used before inter¬≠view¬≠ing with MichiganLabs:

Leet¬≠code‚ÄČ‚ÄĒ‚ÄČThe wide¬≠ly known plat¬≠form, with over 2500 cod¬≠ing inter¬≠view prob¬≠lems, is a great way to prac¬≠tice work¬≠ing through the types of ques¬≠tions asked in a typ¬≠i¬≠cal tech¬≠ni¬≠cal inter¬≠view. Tak¬≠ing a data struc¬≠tures and algo¬≠rithms course before com¬≠plet¬≠ing prac¬≠tice prob¬≠lems on Leet¬≠code is extreme¬≠ly ben¬≠e¬≠fi¬≠cial, as sev¬≠er¬≠al of the prob¬≠lems are based on the usage of basic data struc¬≠tures. When com¬≠plet¬≠ing prob¬≠lems, it is often impor¬≠tant to look for pat¬≠terns rather than com¬≠plet¬≠ing prob¬≠lems in a ran¬≠dom order. Leet‚Äčcode‚Äč.io is a great resource for focus¬≠ing on com¬≠mon prob¬≠lem pat¬≠terns and the Blind 75 com¬≠pi¬≠la¬≠tion is a great start¬≠ing point for com¬≠mon prob¬≠lems asked in tech¬≠ni¬≠cal interviews.

For our Asso¬≠ciate pro¬≠gram, we‚Äôre not look¬≠ing for mas¬≠tery of tech¬≠ni¬≠cal skills. We under¬≠stand that this may be your first devel¬≠op¬≠ment job, or that you‚Äôre still in col¬≠lege and learn¬≠ing. We‚Äôre instead deeply inter¬≠est¬≠ed in how you approach some¬≠thing unknown, what type of ques¬≠tions you ask, and how you break down a prob¬≠lem. Leet¬≠code, and oth¬≠er algo¬≠rithm prac¬≠tice solu¬≠tions, are great at fram¬≠ing your mind around how a com¬≠plex cod¬≠ing prob¬≠lem can be bro¬≠ken down into man¬≠age¬≠able com¬≠po¬≠nents. We want to see that you can log¬≠i¬≠cal¬≠ly fol¬≠low a prob¬≠lem, and talk through, often¬≠times with pseu¬≠do code, what you would do if you had more time out¬≠side the interview.

Pramp‚ÄČ‚ÄĒ‚ÄČSome¬≠times over¬≠looked, the prac¬≠tice of explain¬≠ing your own thought process and com¬≠mu¬≠ni¬≠cat¬≠ing the approach to a giv¬≠en prob¬≠lem is extreme¬≠ly impor¬≠tant in the tech¬≠ni¬≠cal por¬≠tion of an inter¬≠view. Pramp is a web¬≠site that pairs appli¬≠cants up and pro¬≠vides a col¬≠lab¬≠o¬≠ra¬≠tive envi¬≠ron¬≠ment for a mock inter¬≠view. The envi¬≠ron¬≠ment is extreme¬≠ly sim¬≠i¬≠lar to what one expe¬≠ri¬≠ences dur¬≠ing a tech¬≠ni¬≠cal interview.

If you don‚Äôt have a lot of expe¬≠ri¬≠ence with inter¬≠views, find¬≠ing solu¬≠tions like Pramp to fill that gap is impor¬≠tant. Everyone‚Äôs day-to-day at Michi¬≠gan¬≠Labs involves explain¬≠ing our thought process¬≠es to each oth¬≠er or to clients. Because of this, we want to know that you can artic¬≠u¬≠late ques¬≠tions you have for your men¬≠tor, explain what you‚Äôre work¬≠ing on to a client, and com¬≠mu¬≠ni¬≠cate well with your team. Take advan¬≠tage of mock inter¬≠views at your col¬≠lege, or use Pramp to prac¬≠tice with oth¬≠er devel¬≠op¬≠ers. Even though you may not get all the feed¬≠back you want, what real¬≠ly mat¬≠ters is get¬≠ting into the mind¬≠set of com¬≠mu¬≠ni¬≠cat¬≠ing your thoughts out loud.

Con­clu­sion #

We want Asso¬≠ciate Devel¬≠op¬≠ers who are com¬≠fort¬≠able artic¬≠u¬≠lat¬≠ing their thoughts, who know how to break a con¬≠cept into man¬≠age¬≠able pieces, and who love soft¬≠ware devel¬≠op¬≠ment. We under¬≠stand that you may not have a lot of expe¬≠ri¬≠ence in this field and that you‚Äôre still pos¬≠si¬≠bly in col¬≠lege. What we offer you is a place to learn, a men¬≠tor who can help guide you, and an oppor¬≠tu¬≠ni¬≠ty to devel¬≠op soft¬≠ware for, and direct¬≠ly com¬≠mu¬≠ni¬≠cate with our clients.

If this inter¬≠ests you, look out for our next open¬≠ing in the Asso¬≠ciate Devel¬≠op¬≠er pro¬≠gram, and fol¬≠low Rohit‚Äôs advice. We would love to hear from you!

Lat¬≠er this year, Rohit and David will con¬≠tin¬≠ue this con¬≠ver¬≠sa¬≠tion through more blog posts tar¬≠get¬≠ing application/‚Äčresume advice, and final¬≠ly a ret¬≠ro¬≠spec¬≠tive on Rohit‚Äôs project experience.

David Crawford
David Crawford
Software Developer

Looking for more like this?

Sign up for our monthly newsletter to receive helpful articles, case studies, and stories from our team.

Why I use NextJS
Development Web

Why I use NextJS

December 21, 2022

Is NextJS right for your next project? In this post, David discusses three core functionalities that NextJS excels at, so that you can make a well-informed decision on your project’s major framework.

Read more
Web app vs. mobile app: How to decide which is best for your business
Business Development

Web app vs. mobile app: How to decide which is best for your business

March 26, 2024

When considering whether to develop a web app or a mobile app for your business, there’s honestly no definitive answer. But this article will help you make an informed decision that aligns with your business goals and sets you up for success.

Read more
Make an AI Art Generating Slack Bot in 10 Minutes

Make an AI Art Generating Slack Bot in 10 Minutes

February 3, 2023

David shares how easy it is to create your own AI art generating Slack bot using Typescript and Stable Diffusion.

Read more
View more articles