For over 4 years, MichiganLabs has hired Associate Developers who are typically in college or are new to software development. Our goals have always been to help mentor them, treat them the same as any other team member, and have them directly contribute to projects we’re passionate about. As we’ve improved our interviewing processes overall and are being more open about how we hire, I wanted to share this post in collaboration with Rohit Kartha, one of our newest 2023 Associate Developers. We’ll be looking at highly actionable advice, technically and behaviorally, for anyone looking to apply to our Associate program in the future, and what they each mean to us internally. Rohit will start us off with behavioral prep advice, and David will respond.
Behavioral prep #
Rohit Kartha — Associate Software Developer
During the interview process, and typically before any technical interview, behavioral questions are asked to get a better understanding of the applicant and assess their fit for a role. In my opinion, answers to these questions are best unpremeditated. In other words, it’s a good idea to think of what types of behavioral questions might come up, but preparing a script or memorizing exact responses to common questions should be avoided. I usually aim to keep this portion of the interview casual and conversational by knowing broadly what I’m going to say, but not how I’m going to say it. There are countless blogs that contain popular behavioral interview questions that might be worthwhile to look at. It’s a great idea to have a couple of talking points ready for these common questions.
David Crawford — Software Developer
There’s no question that the longer your career is, and the more experiences you’ve had, the easier behavioral questions are to answer both naturally and with little preparation. Behavioral questions are best answered with stories that exemplify whatever the answer to the question might be. That being said, for our Associate program, we understand that this could be your first job and that you likely haven’t worked in software development before. So how can you draw from experience without having experience?
Having a portfolio of projects done on your own can help bridge this gap. When asked about how you deal with challenges, use the challenges you’ve faced on your own personal projects. We also recommend using school as examples, such as detailing how you navigated a difficult group project, or a tight deadline. Everything you experience in life contributes to your behaviors, and that’s precisely what you should draw from during a behavioral interview.
Rohit’s advice about keeping the interview casual and conversational is important. Our goal isn’t to ask you trick questions, but to have a conversation about who you are. Be honest about your strengths and weaknesses, and be able to articulate how you manage them.
Preparing for the Technical Interview #
The MichiganLabs technical interview helps us understand how you approach problems. It involves a problem that can be realistically solved in day-to-day development. We want to know if you have enough of a foundation to understand and apply data structures, and that you can communicate your thought process to us.
Although the thought of a technical interview might seem intimidating at first, there are several resources out there to help prepare for a coding interview. Here are some that I personally used before interviewing with MichiganLabs:
Leetcode — The widely known platform, with over 2500 coding interview problems, is a great way to practice working through the types of questions asked in a typical technical interview. Taking a data structures and algorithms course before completing practice problems on Leetcode is extremely beneficial, as several of the problems are based on the usage of basic data structures. When completing problems, it is often important to look for patterns rather than completing problems in a random order. Leetcode.io is a great resource for focusing on common problem patterns and the Blind 75 compilation is a great starting point for common problems asked in technical interviews.
For our Associate program, we’re not looking for mastery of technical skills. We understand that this may be your first development job, or that you’re still in college and learning. We’re instead deeply interested in how you approach something unknown, what type of questions you ask, and how you break down a problem. Leetcode, and other algorithm practice solutions, are great at framing your mind around how a complex coding problem can be broken down into manageable components. We want to see that you can logically follow a problem, and talk through, oftentimes with pseudo code, what you would do if you had more time outside the interview.
Pramp — Sometimes overlooked, the practice of explaining your own thought process and communicating the approach to a given problem is extremely important in the technical portion of an interview. Pramp is a website that pairs applicants up and provides a collaborative environment for a mock interview. The environment is extremely similar to what one experiences during a technical interview.
If you don’t have a lot of experience with interviews, finding solutions like Pramp to fill that gap is important. Everyone’s day-to-day at MichiganLabs involves explaining our thought processes to each other or to clients. Because of this, we want to know that you can articulate questions you have for your mentor, explain what you’re working on to a client, and communicate well with your team. Take advantage of mock interviews at your college, or use Pramp to practice with other developers. Even though you may not get all the feedback you want, what really matters is getting into the mindset of communicating your thoughts out loud.
Conclusion #
We want Associate Developers who are comfortable articulating their thoughts, who know how to break a concept into manageable pieces, and who love software development. We understand that you may not have a lot of experience in this field and that you’re still possibly in college. What we offer you is a place to learn, a mentor who can help guide you, and an opportunity to develop software for, and directly communicate with our clients.
If this interests you, look out for our next opening in the Associate Developer program, and follow Rohit’s advice. We would love to hear from you!
Later this year, Rohit and David will continue this conversation through more blog posts targeting application/resume advice, and finally a retrospective on Rohit’s project experience.
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
December 21, 2022Is 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 moreMaking your Android project modular with convention plugins
May 22, 2024Explore the journey of Gradle and build tools like it, particularly in the context of Android development. You'll learn the necessity of separating code into modules as projects grow and how Gradle convention plugins can streamline this process.
Read moreHow to Bring Order to the Chaos of Job Applications
August 8, 2023We discuss some tips & tricks for the job application process
Read more