In the tech industry, a software engineer can fit into many different roles — Chief Technical Officer (CTO), Head of Engineering, VP of Engineering, Lead Engineer, Engineering Manager (EM), Individual Contributor (IC), to name a few. These roles may seem self-explanatory, but they’re interpreted differently by different organizations.
Being aware of these differences is crucial when you're on the hunt, especially if you're torn between an Engineering Manager and Individual Contributor role.
You may have several questions — What does an engineering manager do? What does it mean to be an individual contributor? What are the responsibilities of an engineering manager?
In this article, we’ll tell you the key differences between the Engineering Manager and Individual Contributor role to help you nail your next tech interview.
- Engineering Manager vs. Individual Contributor: Roles and Responsibilities
- Engineering Manager vs. Individual Contributor: What to Expect at the Interview
- Coding Questions
- System Design Questions
- Domain-Specific Questions
- Leadership Management Questions (Only for Engineering Managers)
Engineering Manager vs. Individual Contributor: Roles and Responsibilities
The roles and responsibilities of an engineering manager and individual contributor may vary based on different factors, such as the company’s size, the founders' backgrounds, the funding stage of the organization, and the existing skillsets within the team.
But broadly speaking, the following are their key roles and responsibilities:
- 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.
- Individual contributors 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.
<quote>If you want to hone your skills to become a technical expert rather than foray into management, then an IC role will suit you better.
Engineering Manager vs. Individual Contributor: What to Expect at the Interview
Engineering management generally comprises three levels:
- L6 or first-line managers
- L7 or second-line managers or senior managers
- L8 or directors of engineering
Questions asked at L6 and L7 Engineering Manager interviews are very similar to those asked at IC interviews. These interview questions fall into three categories:
- Coding Questions
- System Design Questions
- Domain-Specific Questions
Engineering Manager interviews feature an additional category — Leadership Management Questions.
Whether you’re going for an IC or EM role, coding questions will be a crucial part of the interview process.
Coding interviews usually feature data structure and algorithm-based questions. They may also feature logical questions such as, “How do you swap two integers without using a temporary variable?”
Irrespective of the role, 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
However, the parameters on which you are measured will differ based on the role. Let’s dive into details:
Does the Coding Round Matter for Engineering Managers?
You know that an EM has to manage a team of engineers. This involves several activities, such as:
- Discussing and solving problems with the team
- Prioritizing and assigning work
- Fixing super tiny bugs
- Making hiring decisions
As an Engineering Manager, you wouldn’t write a lot of code. But if you lack coding skills, how will you discuss and solve problems with your team? Or assign work to the right engineer?
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.
Tips for Engineering Manager Coding Interviews
Know your interviewers: Engineering Managers face two types of interviewers in a coding interview:
- Engineering Managers: They understand what an Engineering Manager does and what to expect from a coding interview of an Engineering Manager and will grade you accordingly
- Senior Individual Contributors: If you’re interviewing for an L6 Engineering Manager position, your interview panel might have an L8 IC or a Director-Level IC. These ICs write code every day, and so, their grading method will differ from the EMs
“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 you prepare like an IC. This way, interviews tend to go much better.”
— Soham Mehta, Founder and Tech Interview Coach, Interview Kickstart
Brush up on coding: Check out websites such as Interview Kickstart. 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 will help you upskill 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 you develop your coding and technical skills, but also your communication skills.
Why the Coding Round Is Crucial for Individual Contributors
An IC is involved in all the processes related to designing and creating new systems. As an IC, your responsibilities could include initial project planning, establishing parameters of projects, and designing, writing, coding, encrypting, and testing. Needless to say, your interviews will focus significantly on 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 a coding interview, get an understanding of the technical stack and languages of the organization you're interviewing with.
Tips for Individual Contributor Coding Interviews
- Write code: Skimming problems and memorizing solutions won’t suffice. Writing code is essential 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 in handy in actual interviews.
- Repeat problems: Repetition deepens your understanding of problems and their solutions. Often, patterns emerge only after repeating several problems. Repetition also improves recall and boosts confidence.
- Seek help from experts in the field: Top companies design challenging coding interviews. 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 solid set of skills.
System Design Questions
Most companies — including Uber, Google, Facebook, Dropbox, Netflix, and other Tier 1 tech companies — have system design questions as a part of the interview process for Engineering Managers and Individual Contributors.
When companies ask system design questions, they want to evaluate your experience and skill in designing large-scale distributed systems. Your performance in this round will impact your prospective position and compensation.
You’ll definitely need to know the following for a system design interview:
- Large-scale system design
- API design
- Object modeling
Tips for System Design Interviews (for Engineering Managers and Individual Contributors)
- 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.
- 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.
- 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? To make a good, lasting impression, ensure that the answer to all these questions is “yes.”
Domain-specific interviews aim at evaluating your knowledge about the technology you are most comfortable with.
For example, say you’re applying for a Machine Learning Engineering Manager position — you should be prepared to talk about the basics of machine learning as well as distributed machine learning.
Suppose you’re applying for an IC role at a company known for difficult questions — you should solve several relevant problems and gain experience in domains critical to that company.
Tips for Domain-Specific Interviews (for Engineering Managers and Individual Contributors)
- Brush up on your past projects: Domain-specific interviews focus on projects you've worked on in the past. To crack them, it’s crucial to showcase your experience working on projects in relevant technologies. Don’t hesitate to dig into the technical details of specific projects. Also, don’t forget to highlight your most recent projects.
- Gain relevant experience: If you do not have the relevant experience, it’s advisable to work on relevant projects, do research, take classes in the subject, and make open-source contributions before the interview.
- Nail the take-home test: 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 interviewing at an organization that uses Laravel, you may be required to build a miniature version of the company’s products.
- Show confidence: No matter what the discussion, be confident and proud of your work.
The most important criterion for passing a domain-specific interview is to showcase that you can build something that works.
Leadership Management Questions (Only for Engineering Managers)
The Engineering Manager role demands a solid technical and leadership background. Recruiters use leadership interview questions to evaluate your leadership experience, skills, and potential.
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
Are You Ready to Nail Your Next Tech Interview?
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.