Interview Questions for a Technical Program Manager
Ohh where do I start ? Over the last 6 months or more I have been in the process of being interviewed and I have also interviewed a several candidates (yes, yes the irony !). It has been a very interesting journey to say the least. Which is why I thought it would be a good idea to write this post on “Interview Questions for A Technical Program Manager”. I have learnt a lot on what and how one should prepare for technical program manager interviews the various types of questions involved and the different types of jobs out there. To begin one needs to first understand the various types Technical Program Manager roles out there.
Roles vary and the team’s needs varies on what type of skills they require. My goal in this post is to be as comprehensive as possible in what I believe a Technical Program Manager know and how he/she should prepare for the task ahead.
I believe one of the most important things are to talk to other tech PMs on what they do and how they do things on a daily basis. Network ! Network with people talk to them understand the skills they use and figure out what’s missing or what you are strong and are weak at. Read more on the “Art of Networking”.
Books You Must Read
- Cracking the PM Interview: How to Land a Product Manager Job in Technology
- The Art of Scalability: Scalable Web Architecture, Processes and Organizations for the Modern Enterprise – Must for Back End Technical Program Managers
- NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence – Must for Back End Technical Program Managers.
- Switch: How to Change Things When Change Is Hard – If you find yourself being too lazy and cannot find the fuel to start.
- Essential Scrum: A Practical Guide to the Most Popular Agile Process – It is a good book. Time consuming read but has a lot of case studies.
- Fourteen Observations of Good Scrum Practice – If you want a quicker take on Scrum. This is a quick and dirty guide or could be used as a refresher. Short book 50 pages !!
The first book “Cracking The PM Interview” is definitely the most comprehensive book written for technology PMs be it a Product or a Program Manager. It can be used as an effective guide to prep and for Interview Questions For A Technical Program Manager. The book covers various things from the very basics of what a Program Manager does to going into a fair amount of detail on big tech companies like Microsoft, Google, Facebook, Amazon, Apple etc. A fair amount of advice from industry veterans, to how one should build and format your resume. This book by Gayle Laakmann then goes into extensive detail on interview preparation for PMs with various behavioral questions and answers and also product, case studies and estimation questions. It also touches some of the basics like defining yourself and cover letters.
Though this is a must read this book it does not cover several fundamental areas like : interview Questions for a Technical Program Manager. Amazon
Tools for Program Management: Today there are literally hundreds of agile management tools out there. But knowing one or better two of the most commonly used Agile tools like Rally and/or JIRA would put you in the forefront among your competitors. If you do not have experience, there are enough and more youtube videos on this so you should be able to pick this up fairly quickly.
Also get familiar with traditional project management tools like Microsoft Project. This really comes in handy when you are dealing with a long ended project spanning several month involving several cross dependent functional groups.
Technology: The book does not cover ANYTHING on various technologies you need to know nor does it cover design question which are very frequently asked questions during Interviews for Technical Program Managers. I’ll be trying to deep dive into this, later in this post.
Product / Program Manager Roles : Also the book does not clearly differentiate between Product and Program Management. I believe Microsoft is one of the few places I know where the Program Manager also works as a Product Manager but in most other places they are separate roles . Both of who work in tandem and have a close relationship, the roles themselves could be very different. In my opinion a Technical Program Manager focusing on architecture, scalability and delivery while the Product Owner who primarily focuses on the vision, design, market research, usability and potential revenue of the product being built.
It also does not distinguish between the various Types of Technical Program Managers. Over the last couple of years there has been an explosion in the specificity of the type of roles. We have Technical Program Managers in the following discipline areas :
- Front End: Could be Web, iOS, Android.
- Backend: API, SDK – Platform.
- Integration: PM who works with 3rd parties to integrate their APIs.
- Business Intelligence: Big data, Hadoop, Machine learning etc.
- ERP: Implementing Oracle EBS, SAP, SalesForce, Microsoft Dynamics, etc.
- Localization: To take existing products / services to international markets.
- Hardware : Chip Manufacturing. VMWare, Nvidia, Intel, etc
- Data Center: With all the cloud stuff happening, there is a dearth for datacenter PMs.
- Process : Lean, Six Sigma, Process optimization, Scrum/Agile Coach, PMO.
- Launch /Release PMs – Coordinating with 10 or 20 other PMs to get a Program to a launch.
Of course there possibly are many more and there are PM generalists as well. I personally see more opportunities for specialized PMs. So know where you fit in and definitely try be an expert in your area.
The second look “The Art of Scalability” is a must read for PMs in the tech world. It is a much harder read compared to Laakmann’s book. It goes into great depth on organizational scalability and technology scalability and building high performance teams. I would highly recommend this book if you are applying to any modern tech company. interview Questions for a Technical Program Manager.
NoSQL Distilled : It a very easy read it takes away all the ambiguity and doubt you might have on NoSQL. It is a beginners book, an easy read and very well written. I think this is also a must read for every tech PM as most modern systems are moving away from traditional RDBMS to NoSQL this could get you sounding like an expert 🙂
Anyway I digress, let’s now come back to how one needs to prepare for an Interview as a Technical Program Manager.
Network & Referrals: First if you have not already start networking, go to meetups, talk to people on the tools, process and the technology they use. Most often you would hear from people you know of opportunities at their organization before it’s even posted these days. Also in my opinion it is very important to apply via a referral. Having a referral most definitely helps you stand out of the crowd. Even better if you can have your contact to go and talk to the hiring manager or the HR for you. interview Questions for a Technical Program Manager.
LinkedIn Premium: It is $30 per month or so. Do I recommended it ? Hmm I’m on the fence about this. I would ask you to try out the one month free offer you automatically get and see what you feel about it. I think it gives me some insight to the people applying to the opportunity. It gives you the breakdown on the number of people and their background. It also matches your “skills” to the job description.
All in all it’s definitely not worth $30 per month but it kinda tells you if there are a 100 applicants to a job or 10 which is a significant piece of info if you pursuing a referral lead or if you browsing jobs. NOTE: LinkedIn tells you the number of people who have applied for the job via LinkedIn you can assume that there are likely 5x more people who probably found the job through other means or directly applied on the website depending on the popularity of the company.
Linkedin in general is by far the BEST place in my opinion to search for jobs. LinkedIn today is better than www.indeed.com as it offers so much more insight into the job and the company. It tells you hiring patterns, who has posted the job etc. I strongly advise you to create job alerts that send you the latest right to your inbox every day. The new LinkedIn Jobs app which is a separate app designed for job search is fantastic as well a must have in my opinion.
Having a good LinkedIn profile also helps. Don’t take this lightly. If you have a link or two on your resume you are sure to get people’s attention and 70% of them are going to clink on the links. It is simple human nature to explore.
Resume: Second is to have a kick ass Resume ! I am not sure why but 70% of the resumes out there are plain junk ! They are hard to read, not coherent nor do they cohesively narrate a story, people list an awful lot of non relevant things, some are way too generic. Try formatting your resume with easy to read bullets. Talk about projects, programs, features you rolled out, detail HOW you rolled them out, the challenges you faced and the end result and what it accomplished all in a single readable bullet point 🙂 How you ask well I’m sure being a PM once of your core skills are to communicate well, show it off on your resume !
Try to do you resume well because this is the only thing that is going to get you through the door. Take a look at your competition here you will see a good amount of the people applying for the same jobs and their resumes. Get feedback from you friends, mentors and people you trust. If you don’t think you have it in you get professional help. There are many professional resume writers who specialize in writing tech resumes.
Certifications: You can read how I feel about certifications in general here. I think to have the PMP and Scrum certification is good and almost necessary. Though I have interviewed and worked with several top notch PMs who don’t have either. I think they add value when someone is looking at your resume and in more traditional organizations who value certifications over actual experience.
Technical Stuff: Ohh God ! This is the tough part simply because as a Technical Program Manager your interview could go anywhere from coding, designing a system, talking about technologies to even specific questions on designing an API or to discussing how HTTPS works. The sheer breadth of things you need to know about is huge. Which I believe is why no one has ever taken up tackling this.
There is no one place where you can learn all of it and most importantly if you do not have real Tech Program Manager experience it is going to be hard to grasp. It also very much depends on the job you apply for, there can be a Sr. Technical Program Manager role for a video conferencing service where they might expect you to have a fair knowledge of video encoding or SPI video packet transmission protocols. Most often they are not looking for you to be an expert or PhD on the topic but a fair understanding and knowledge of how it works.
Elevator Pitch: This is what every interviewer is going to ask you if you get called be it HR or be it the hiring manager. Be concise talk about your education, certifications, your blog if you have one, the org you are part of, your team and its core tenets. Add in your key accomplishments and contributions towards the team.
Your pitch should be for 2 to 3 minutes and please don’t put the interviewer to sleep. Be energetic and enthusiastic wake him/her up and have him engaged. Look out for what perks their interests and give more of it. Practice makes perfect if I wake you up in the middle of the night and ask you what do you do you got to be able to tell me your pitch even when you are half asleep, that’s how well you got to know it.
I’ll split the Technical Preparation & Questions into two
a) System Design b) Terminologies & Technologies
System Design Questions for Technical Program Managers
One of the best resources that I know of out there for system design is https://github.com/shashank88/system_design
Shashank K a very friendly and awesome Facebook developer took the time to pen all this down. This was one of the first places I started when I began my journey. There is a solid month or two worth of information here I recommend this to be your primary source for System Design Interview Preparation.
Hired in Tech – has a great exercise in system design that one can use as a foundation for similar types of questions.
There is also this fantastic article written by Bogdan Gheorghe of Amazon on “How to be a successful TPM at Amazon“.
Palantir Blog – On How to Rock a system design interview is kinda ok.
Remember the depth of system design varies. Here are some of the question collected from various GlassDoor Reviews that I would say are useful.
- Designing an elevator system
- Design a Parking lot system
- Shopping cart – How do you store this information when you use multiple servers that are load balanced.
- How would you design twitter ?
- Recommendation system for fashion / clothes and accessories
- Stores & retrieve lat &long for a cab driver ?
- If a user is at x,y give me five of the closest drivers.
- Extend the product page X and add the auction capability.
- How are your ensuring security on a mobile device?
- Design a web based email system.
- Describes pieces,components, design, large scale, and use case
- Design a chat app
- Design Facebook the privacy features in Facebook.
- Explain different performance scenarios
- Explain different places of you have caching.
- Designing an activity feed system
- Design Viber / WhatsApp / Facebook Messenger: Issues of each, scaling problems, offline/online users and availability, notification etc.
- An airline carrier is losing a lot of bags – Design a solution
- Design SkyDrive, Dropbox etc
- Design X’s frequently viewed product page Shows the last 5 items you saw
- Design the product recommendation feature based on a user’s purchase history.
- Design an online poker game for multiplayers.
- Solve for persistence, concurrency, scale.
- Design a mobile app where you can play Tic-Tac-Toe with an anonymous user in real time.
- Design a url compression system – Bitly
- Search engine : basic crawling, collection, hashing etc. (Depends on your expertise on this topic)
- Design a coupon system for a website like peach.
- Design a picture sharing website. How will you store thumbnails, photos? Usage of CDNS? caching at various layers etc.
- Design a push and inbox messaging platform.
- Design a product based on maps, eg hotel / ATM finder given a location.
- Design malloc, free and garbage collection system. What data structures to use? decorator pattern over malloc etc.
- Design a site like www.Pronto.com (price comparison, availability on eCommerce websites)
- When and will you cache, how often would you query, crawl efficiency, etc?
- Design a system for collaborating over a document simultaneously (eg: google docs) ?
- Design an electronic election / Ballot machine architecture
- Design a logging system – Splunk or ELK
- Design Netflix, Spotify
- Build a machine learning system to detect if a fake user.
- How do you design a system with 99.999% availability
- Design an amusement Park Ticketing system for user ride efficiency
- Design Uber
- Design a Inventory Management System
- Design Instagram
- Design a Video Conferencing application.
So there you go 40 questions. For questions like design facebook or uber the interviewer will likely give you a specific feature he/she is looking to get you started on. Interview Questions for a Technical Program Man
To answer design questions one must be very methodical. In my opinion requires extreme discipline to be follow a format and not jump around. Unless you have a fair amount of experience it is a easy place to fail. Preparing for these types of questions is key.
Start doing these in an exercise book and ask someone you know to review them. Start with a few and then try to get to all of them. The likelihood of you being asked a design question that does not rely on the above principles of architecture is very less likely.
Steps interview Questions for a Technical Program Manager.
- Ask as many questions as possible
- Write them down the main use cases on the whiteboard.
- Ask re-clarifying and scope related questions.
- Once you have the requirements written down draw up a flow diagram with various components and how they are connected and talk about the possible use cases.
- Think out loud. Verify your assumptions with the interviewer.
- Be prepared to write up the APIs specs for the flows and split the applications down by features.
- Also you would need to have a fair understanding of various types of databases. When do you use RDBMS vs NoSQL. When do you use a message queue ? which Queue system would you use.
- Detailing what kind of cache you would use and where.
Interviews might even ask you to code a feature if you have had coding experience in the past. Interview Questions for a Technical Program Mana
Terminologies & Technologies Interview Questions for a Technical Program Manager
Terminologies & Technologies is a tough one, just because there are way too many to list and even if I did list within a couple of months they are going to be out of date. And then there is a question as to to what depth does a Technical Program Manager need to know and what kind of Interview Questions and Preparation he do ? The answer is that it varies 🙂
Here Is My List of Fundamental Technical Workings A TPM Needs To Know :-
Revised on March 31st 2017 Interview Questions for a Technical Program Manage
Terminologies & Technologies
|Memcached or Redis||Link||Low|
|A comparative study of distributed caches||Link||High|
|Memcached or Riak||Link||Medium|
|Persistent & Ephemeral Data||Link||Low|
|Basic HTTP Response Codes||Link||High|
|Rest vs SOAP||Link||High|
|API Idempotence – I||Link||Medium|
|API Idempotence – II||Link||Medium|
|Semaphore and Mutex Simplified||Link||High|
|Understanding REST Headers and Parameters||Link||Medium|
|One API, Many Facades?||Link||Medium|
|Pattern: Backends For Frontends||Link||Low|
|BFF @ SoundCloud||Link||Low|
|Throughput vs latency||Link||High|
|Fault Tolerece, Redundant syestems vs High Availability Systems||Link||High|
|Apache Mesos & Docker||Link||Medium|
|Ring pop I||Link||Low|
|Ring pop II||Link||Low|
|Architecture In General|
|Working of Certificates and HTTPS||Link||High|
|TCP/IP and Networking Fundamentals||Link||High|
|Scalability Harvard Web Development||Link||High|
|Starvation and Deadlock I||Link||High|
|Starvation and Deadlock II||Link||High|
|Why stateless applications are always the way to go||Link||High|
|Processes, Synchronization & Deadlock||Link||Medium|
|Stateless by Stan Hanks||Link||Medium|
|Apache Spark (Real Time Processing of data)||Link||Low|
|Building a Real-time Data Pipeline: Apache Kafka at LinkedIn||Link||High|
|Kafka vs Rabbitmq vs Activemq vs Redis||Link||Medium|
|Two strategies for Feed systems||Link||Medium|
|Spotify’s Event Delivery – The Road to the Cloud||Link||Low|
|HTTP Long poll Socket||Link||Low|
|Pub Sub with Websphere||Link||Low|
|Introduction to NoSQL • Martin Fowler||Link||High|
|JASON Formats and Documentation||Link||Low|
|Types of pagination – Offset and cursor||Link||Medium|
|Design Patterns Pluralsight Course||Link||Low|
|Algorithms and Data Structures – Part 1||Link||Low|
|SPI H.323 (Video Protocols)||Link||Low|
|SPI H.323 (Video Protocols)||Link||Low|
|SPI H.323 (Video Protocols)||Link||Low|
|Netflix launching in various countries & What it takes||Link||Medium|
|Hash Table – I||Link||High|
|Hash Table – II||Link||High|
|Hash Table – III||Link||Medium|
|Hash Table – IV||Link||Medium|
|Hash Table – V||Link||Medium|
|Perfect Universal Hashing||Link||Low|
|Inter Datacenter usage ? Cassandra||Link||Medium|
|Transactions Across Datacenters||Link||Medium|
|Distributed Transaction Layer: App Engine||Link||Medium|
|Other Interesting Things|
|Twitter by Hired in tech||Link||High|
|Drop Box scalling||Link||High|
|Interviewing at Google||Link||Low|
Behavioral Interview Questions interview Questions for a Technical Program Manager.
One important part of Interview Questions For A Technical Program Manager is to prepare well for behavioral interview questions. In my opinion this is the easier part of the interview. All you need to do is have 4 to 5 different stories / project ready which you can use for various questions. Common questions include
- Describe a situation where used your leadership skills to help your project team meet a difficult challenge.
- Describe a situation where you should you technical aptitude and solved an issue.
- Describe a situation where you negotiated a win win situation.
- Describe a situation where you changed process to make it better and more productive
- Describe the most complex project you have managed from start to finish and what were the challenges you encountered during your path.
- How have you manage risk in a project.
You will find a thousand more when you google but if you have real projects that you have executed well you should be able to answer all of these at ease. Always use the STAR methodology – Situation, Task, Action, Result. Be clear and detailed in you answers. Ask the interviewer if he is following along and if your answer was what he was looking for.
Other Random Thoughts Interview Questions for a Technical Program Manager.
If you are looking towards more product centric roles I would recommend reading-
- Decode and Conquer: Answers to Product Management Interviews – Must read for TPMs !!
- Value Proposition Design: How to Create Products and Services Customers Want
- Product Strategy for High Technology Companies – More for leisure reading not for interview prep in particular.
- Inspired: How To Create Products Customers Love
Salary interview Questions for a Technical Program Manager.
Every HR recruiter who first screens you will be asking you about your current salary. You may not want to give it away but you should most definitely know what you are expecting and what the company might pay you. For this I suggest using my previous blog which gives a good salary analysis for technical program managers.
If you do get a chance to interview, you are likely to have a lunch interview. Here is a good article on what to order for lunch 🙂 I am all about the food you know !
Humor interview Questions for a Technical Program Manager.
Always show off the lighthearted side of yourself. It helps in lightening the mood. Remember some interviewers are as stressed as you are and many people do not really know what to quiz you on or what they are even looking for. So be polite and professional but try to be light hearted and humorous.
Finally one of the most important thing, in every interview either on phone or on-site you will be given a chance to ask questions. This is very important, it shows the interviewer how well you are prepared and also puts forward things that you care about. Here are some of my favorite :
- What in your opinion what are the most challenging aspects of this role or team?
- How big is the team what are their backgrounds and experience ?
- What are your short term and long term goals for this team / role?
- What does a typical day look like for the tech program manager at your organization.
- What are the primary skills you are looking for ?
Preparation and experience go hand in hand one without the other may only get you so far. I am going to try to keep this post current from time to time, so when you do decide to start looking stop by.
If you are starting the processes of learning reach out to me email@example.com and let me know if I can help. Please feel free to add your thoughts & comments below and add me to your LinkedIn Network !
Interview Questions For A Technical Program Manager