There are many titles in the tech industry, such as Engineering Manager, Lead Engineer, CTO, Head of Engineering, VP of Engineering, Individual Contributor (IC), etc. Although these titles seem self-explanatory, they’re interpreted differently by organizations.
The roles and responsibilities of an Engineering Manager (EM) and an Individual Contributor (IC) vary based on many different factors, such as the size of the company, the founders' backgrounds, the funding stage of the organization, and existing skill sets within the team. However, they can be generalized as follows:
Roles and responsibilities: Engineering Manager vs. Individual Contributor
Engineering Managers direct, plan, and coordinate activities. They supervise employees and manage a team of engineers. Additionally, they develop new product concepts, set schedules, create administrative procedures, and propose budgets for projects and programs.
On the other hand, an Individual Contributor is an engineer who wants to hone his/her skills to become a technical expert rather than foray into management. ICs work independently on complex tasks, often at an architectural level. They give crucial advice, ranging from scaling to maintenance to the amount of time and risk involved, at the beginning of projects.
Interview Process: Engineering Managers vs. Individual Contributors
Engineering management generally comprises three levels:
- L6 or first-line managers
- L7 or second-line managers or senior managers
- L8 or directors of engineering
Interviews for L6 and L7 Engineering Manager candidates feature questions that are very similar to those asked in an IC interview.
These interview questions can be divided into three categories
- Coding questions
- Domain-specific questions
- System design questions
However, Engineering Manager interviews feature an additional category i.e., leadership management questions.
Key differences between an Individual Contributor and an Engineering Manager interview
- Coding questions
- Engineering Manager:
Though engineering managers don't focus solely on writing code, it will be easier for them to solve and discuss problems with people if they still know how to write code.
As an Engineering Manager, you will be required to prioritize all work directly related to interacting with and managing your team. Occasionally, you may be required to fix super tiny bugs (1–2 line bugs). Like with code reviewing, this approach doesn't require writing much code. Instead, it requires reading the code around the bug and a working development environment.
Also, to be an effective manager, you should understand what you're managing. This is especially crucial for hiring decisions. If you can't differentiate expert programmers from mediocre ones, you're going to make some costly mistakes. You have to make informed decisions when bringing on new engineers. Otherwise, you'll upset your team and risk losing talent for the company.
- Individual Contributor:
An IC is involved in all the processes related to designing and creating new systems. As an IC, your responsibilities could include initial planning, establishing parameters of projects, designing, writing, coding, encrypting, and testing. Needless to say, your interviews will focus significantly on coding questions.
How to prepare for coding questions?
Generally, companies allow you to code in a language of your choice. You may also use a code editor you are comfortable with. Coding tests evaluate your programming skills, and your reasoning ability in input cases.
When preparing for coding interview questions as an Engineering Manager or an Individual Contributor, you should get an understanding of the technical stack and languages of the organization you're interviewing with.
Coding interviews usually feature data structure and algorithm-based questions. There may also feature logical questions such as, “How do you swap two integers without using a temporary variable?”.
You'll definitely need to know the following for coding interviews:
- Arrays, strings, linked lists, stacks, queues, trees, graphs, hash maps, and other common classes of data structures.
- Breadth-first search, depth-first search, binary search, recursion, and other common classes of algorithms
Few other things to keep in mind are:
For Engineering Manager Interviews
- Understand the interviewer: Engineering Managers face two types of interviewers in a coding interview. :
- Engineering Managers themselves (who understand what an Engineering Manager does and what to expect from a coding interview of an Engineering Manager)
- A Senior IC interviewing an Engineering Manager is fairly common. If you’re interviewing for an L6 Engineering Manager position, your interview panel might have an L8-level IC or a Director-level IC. These ICs write code every day so they will grade you differently.
“Long story short—you have to prepare for the coding side of things. Preparing for an engineering manager role (L6 and L7) is best done when it is done like an IC. This way, interviews tend to go much better.” - Soham Mehta, Founder and Tech Interview Coach at InterviewKickstart
- Brush up on coding: Check out websites such as InterviewKickstart. We have over 50 instructors, interviewers, technical coaches, and career coaches. Our team comprises hiring managers, hiring committee members, and technical leads from Google, Facebook, Amazon, and other FAANG and top silicon valley companies. We can help you skill up and demonstrate familiarity with coding languages, which is exactly what you’ll need to ace your next technical interview. You’ll get to practice coding interviews, live, over video conference, which will not only help develop coding and technical skills, but you can also develop effective communication skills for the real interview.
For Individual Contributors Interviews
- You’ll need to write code: Skimming problems and memorizing solutions won’t suffice. Writing code is important in order to arrive at efficient solutions. When you write code, you will also discover and learn nuances of the programming language you're using, which will come handy in actual interviews.
- You’ll need to repeat the problems: Repetition deepens your understanding of problems and their solutions. Often patterns emerge only after repeating a number of problems. Obviously, repetition also improves recall and boosts confidence.
- You’ll need to seek help from experts in the field: Coding interviews at top companies are designed to be extremely difficult. An overwhelming percentage of successful candidates testify that subscribing to an interview training course has made a big difference in their careers. These courses help you become proficient in succeeding at almost any technical interview by building a strong set of skills.
- System Design questions
These days, system design questions are part of the interview process in most companies for both Engineering Managers and Individual Contributors. Uber, Google, Facebook, Dropbox, Netflix, and other Tier 1 tech companies, all ask system design questions. When companies ask system design questions, they want to evaluate your experience and skills in designing large scale distributed systems. Your performance in these interviews decides your prospective role and position as well as your compensation.
You’ll definitely need to know the following for a system design interview:
- Large scale system design
- API design
- Object modeling
How to prepare for system design interviews
- Be comfortable with whiteboards: Although many engineers dislike whiteboard interviews, it is considered the holy grail of system design interviews. After all, you can draw, discuss, and explain your technical diagrams and system designs better on a whiteboard.
- Focus on your body language: While candidates take the test on a whiteboard, interviewers notice their body language—are they relaxed while explaining the system? Are they excited while explaining the system? Is their excitement contagious? If the answer is yes to all of the questions stated above, you have probably made a good impression on the interviewer.
- Make complex systems sound simple: This is especially important for Engineering Managers. Good Engineering Managers should be able to break down complex problems into simple solutions. Your goal should be to clearly describe a system to anybody, irrespective of whether the person is tech-savvy or not.
- Domain-specific questions
Domain-specific interviews aim at evaluating your knowledge about the technology you are most comfortable with. For example, if you’re applying for the position of a Machine Learning Engineering Manager, you should be prepared to showcase and discuss the basics of ML as well as distributed ML. For Individual Contributor roles in companies known for difficult questions, you should solve several relevant problems and gain experience in domains important to the particular company.
How to prepare for domain-specific questions
- Domain-specific interviews focus on projects you've worked on in the past. In order to crack these interviews, it’s crucial to have experience working on projects in relevant technologies. During the interview, be confident and proud of your work. Don’t hesitate to dig into the technical details of specific projects. However, it’s important to highlight recent projects. Before your interview, it’s advisable to work on relevant projects, do research, take classes in the subject, make open-source contributions, etc. to be able to showcase relevant project-based skills during the interview.
- Organizations may give you a take-home test that you will have a day or two to complete. For instance, if you’re a Laravel developer and you're interviewing at an organization that uses Laravel, you may be required to build a miniature version of the company’s products. The most important criterion for passing a domain-specific interview is to showcase that you can build something that works.
- Leadership management questions
Engineering Manager is a role that demands a strong technical and leadership background. By asking leadership or behavioral interview questions, recruiters evaluate your leadership experience, skills, and potential. If you are interviewing for a role in an organization that requires strong leadership skills, preparing for leadership-related questions can help you take your career to the next level.
A few common leadership interview questions for Engineering Managers are:
- What does leadership mean to you?
- Tell me about a time when you showed leadership skills at work.
- How will you monitor the performance of a team you have to lead?
- How do you delegate responsibilities?
- How would you describe your leadership style?
- How do you motivate a team?
- How do you prioritize different projects?
- What values are most important to you as a leader?
- How do you give feedback?
- Can you collaborate with others and accept new ideas?
- How do you handle disagreements with coworkers?
- How do you respond to criticism?
- How do you measure your performance at work?
- What strengths would you bring to this particular job?
- What is the most difficult decision you had to make as a leader and why?
“Explain your answers to leadership questions in a way that is authentic, clear, and expressive. Walk the interviewers through compelling stories from your work history.” - Soham Mehta, Founder and Tech Interview Coach at InterviewKickstart.
If you’re looking for guidance and help with getting started, sign up for our free webinar. As pioneers in the field of technical interview preparation, we have helped train thousands of engineers over the last 5 years to crack the toughest coding interviews and land jobs at their dream companies.