How did I prepare for my Program Manager interview's at Microsoft?
Program Manager interviews at Microsoft can be a lot tricky. The bottom line being that one has to understand what “Program Management” actually means. I had my round of interviews about 5 months ago, the memories of the interview and the questions still steadfast in my head!
The story is pretty funny though; I actually didn’t per-se apply myself to the position. A good friend of mine spotted this opening and thought I would really enjoy it and bang, I got an interview call one fine day. The first round of interview (supposed to be a bit technical) lasted for about 25 minutes. Subsequently I had another 5 more rounds of interviews (the typical Microsoft style) – I’m sure you would all have read much about the kind of questions that were asked. It’s strange though that when you wish to prepare for something, it’s the path for preparation that is the most important since the questions shared are not typically the ones that you might always get .. So it’s good to know what to expect and this blog is particularly my perspective of what to expect (pretty much covers all areas of my preparation). I do not intend to say that this is all you would need to prepare for a PM interview at Microsoft (personal judgment on this would be the best for you). My only intention of posting this blog is to share my personal experience with the outside world and throw some light on my preparation process and give some interview tips.
I’ve categorized this blog into broader subsections –
- General PM core competencies which I perceive are expected
- General background knowledge
- How to answer questions at PM interviews
- PM concepts (good to know)
- Other online references I had gathered.
General PM core competencies which I perceive are expected (TOP 10)
Here is a list of core competencies which in my perception are expected from a good PM –
- Leadership
- Positive attitude
- Interest and passion for technology, people
- Questioning attitude
- Strong technical and technological backdrop
- Open minded to problems – think before answering.
- Customer focus, user centric
- Aspire, plan, slog and achieve
- Strong interpersonal, communication skills - Is able to verbalize thought process
- Is open to alternate solutions/ options and not stop and stick to one personal best approach.
Rule of thumb is know yourself very well .. know what you have said on the resume .. be highly prepared to answer both surface level and in depth questions on projects you have listed on your resume ..for example, my resume sports 2 years of work experience as a software engineer .. I had questions on the nature of work I was doing (to start with) .. I had actually developed a protocol/ library API for an open source call server. The next set of questions were very specific on the protocol per-se (didn’t expect it though) like was it sync/ async communication, thread model .. Also think for a minute about where you have been, where you are right now and where you would like to see yourself in the future .. remember a good PM is also someone who knows where his team has been (past learning’s, in this case, the team is just you), knows where the team is today (delivered as status update), has a target goal (project finish, in this case would be where you want to be in say 5 years) and has a future plan (project plans?). Some great questions (please look to reference section for more links to questions) which are always good to be prepared for –
- Where do you see yourself in 5 years?
- How do you plan to get to where you aspire to get to
- Why do you wish to work with Microsoft?
- Why Program Manager position?
- What are your expectations on this position?
- What is your understanding of the position?
- What are your strengths? [very important to know]
- What are your weaknesses? [very very important to be self aware]
- Your previous experience in Project Management?
- Which is your most favorite place to work? (company)
- Tell me the courses you liked and why did you like them.
- Give an instance in your life in which you were faced with a problem and you tackled it successfully.
- What is your ideal working environment.
- Questions on the projects listed on the Resume.
- Do you want to know anything about the company.( Try to ask some relevant and interesting question).
Well, if you have had done your homework well by now, you would have known that one tip which is almost shared by every blogger for interviews at Microsoft is – to ask a lot of relevant and timely questions and to use the white board when you start drawing in air! .. that is quite true and made perfect sense to me. I prepared myself in a different style. I have always been methodical in my approach to things .. and so came up with this approach and it worked! Let me know what you think :)
1. Approach to Programming questions
- Start out with basic block with input, output, what it does, what to do on exceptions.
- Define the input and output further
- Define the functioning algorithm of the block for the input
- Define how exceptions are handled within the block or added as output
- Define the test cases
- Identify the break points for the variables passed in and processed like size limit on int or float or double
- Pass non-expected input value (in all combinations)
- Pass exception conditions (null pointers, divide by zero or whatever)
- Attack on algorithm (breaking points)
- Write the pseudo code (algorithm)
- Write the code
- Test it to prove it delivers the expected behavior
A figurative example of how I used the white-board
2. How to approach design questions
- Redefine the problem in your own words to make sure you have understood the question – problem statement
- Requirements gathering
- Understanding who the end users are
- Age
- Personal preference?
- Some background information
- Understand what would be the core features of the system
- Identify areas which are likely to change – what kind (if possible)
- Identify and jot down business dependencies (if any)
- Identify and jot down hardware dependencies (if any)
- Identify performance, security, UI needs (if any)
- Propose technological alternatives
- Compare them against core-strengths
- Security
- Scalability
- Accuracy
- Ease of use
- Consistency
- Propose an optimal or personal choice
- Assumptions/ limitations
- Understand what kind of minimal (essential) functionality the system should achieve – from requirements gathering
- Architect the system discussing about making it scalable, robust, secure, extendable
- Discuss the limits of the architecture
- Identify the integration thread
- Identify the difficult design areas
- Iteratively add the accidental/ additional features/ fine tuning
- Define the use cases for the system (if they exist)
- Design the system with data flow diagrams, how the functional blocks interact with each other, what each functional block does (inner working of each block), error handling techniques/ modules for feedback and corrective actions [if applicable]
A figurative example of how I used the white-board
3. How to approach a Mind Teaser question/ logic questions
- Rephrase the question in your own words
- Just think out loud.
- Be true and honest and don’t hesitate to bring out past experience and accomplishments.
- SDLC?
- Software Development Life Cycle – phases of software development.
- Software Elements Analysis - Requirements gathering
- Know who are the customers?
- Know what has to be done – problem statement
- Know when does this have to be implemented – discuss possible time lines (get a gut feeling)
- Domain Analysis
- Specification
- Software architecture/ Design
- Implementation
- Testing
- Documentation
- Training and support
- Maintenance (bug fixes, patches)
- Models
- Waterfall model
- Iterative process
- V-model
- Extreme Programming
- RUP
- Agile Programming
- Project tracking techniques
- Estimation techniques
- Effort estimation
- Work break down structure
- Estimating code size
- Time estimation
- Resource estimation techniques
- Conflict resolution
- Customer Relations Management
- Change Management
- Project Risks/ Mitigation Strategies
- Technological decisions
- Which programming language to choose?
- Which technology to propose?
- Improve existing software/ functionality addition
- Design/ Architecture Related Preparation
- Design principles
- Features of a good design
- Constraints to choose a particular design
- Difference between design and architecture
- Questions - http://www.emicrosoftinterview.com/default.aspx - MUST SEE for RIDDLES
- http://www.sellsbrothers.com/fun/msiview/default.aspx?content=question.htm
- Questions - http://halcyon.usc.edu/~kiran/msqs.html
- http://blog.mattgoyer.com/technical-interview-at-amazon-sde-and-microsoft-program-manager
- http://adamjh.blogspot.com/2007/03/microsoft-program-manager-interview.html
- http://blogs.msdn.com/jobsblog/archive/2004/04/26/120598.aspx
- http://radio.weblogs.com/0105395/stories/2002/03/27/whatIsAMicrosoftProgramManager.html
- http://blogs.msdn.com/descapa/archive/2007/03/24/program-manager-pm-interview-tips.aspx
- http://blogs.msdn.com/farshid/archive/2007/05/10/what-does-a-microsoft-program-manager-do-demystifying-the-pm-role.aspx
- http://www.tylerbutler.com/dailydose/Pages/MicrosoftProgramManagerInterviewTheBreakdown.aspx
- Great one - http://blogs.msdn.com/farshid/archive/2007/05/10/what-does-a-microsoft-program-manager-do-demystifying-the-pm-role.aspx
- Logic problems - http://www.cut-the-knot.org/algebra.shtml
- Just great source of PM questions - http://www.pmconnection.com/modules.php?name=News&file=article&sid=27
- Steven Sinofsky's Microsoft TechTalk - http://blogs.msdn.com/techtalk/archive/2005/12/16/504872.aspx
- More Questions - http://www.interviewrx.com/discuss/fullthread$msgNum=34
- What Janelle expects - http://blogs.msdn.com/jobsblog/archive/2007/10/30/whatwelookfor.aspx
- Janelle Preparation help - http://blogs.msdn.com/jobsblog/archive/2007/11/05/problemsolvingquestions.aspx
- Unix Design Philosophy - http://www.faqs.org/docs/artu/ch01s06.html
- Microsoft F# - http://www.eweek.com/article2/0,1759,2212215,00.asp
Hope you would find all these information useful and good luck with your interviews :)
To end this post on a good note - here's a poem I wrote about PM a couple of days ago --
“Dawn to dusk with a husky voice,
not to wonder it could really be noise (to a few)
Things lined up on all directions,
no wonder they should actually be the reflections
Of the team and the vision,
something that we could envision!
United we stand and divided we fall
- a wonderful thing indeed to hear, for all!
To use it and use it correctly lies the key,
We would ultimately manage and prosper, the farther we see”
24 Comments:
Cool Stuff! I really liked the way you have painstakingly put all the details.
One free advice! You should chose a Program Management topic and talk about it in depth every now and then.
Example: "Requirements Engineering" or "Managing Change Requests" etc.,
Thanks Sridhar,
Phew! talk in depth .. I'm too young now for indepth talks .. :) .. anyways .. i'm overwhelmed by your thoughts! ..
Just like to comment on this simple part.
It's interesting to see somebody else out there taking a job and turning it into art.
Thumbs up on both getting the job and the poem... :)
I enjoyed your experience. I am sure it will help definitely!
Thanks!
Thanks Sean, Dennis . .I'm glad that you enjoyed the post! :)
Thanks for fabulous overview of Product Manager thinking.
I was really confused where to start as there's so much to do and this is a great place to read about interview prep and get an understanding of what's expected. Great job on the blog!!! Would you be able to share some more on the prep around design questions, did you refer any books for this ?
This is really useful and an excellent approach to PM interviews. Thanks for the post!
Good work! There was not much info for PM interviews, It is really going to be of a great help for people aspiring for PM role!
Good Job! I have an interview for PM in 2 weeks. Sure this will help!
Thanks for the awesome post. I had a question about the scalability and security issues that should be addressed during design. Could you post an example of this ? I'd really appreciate it. Thanks!
Hi Vishwac,
Link 1
Questions - http://www.emicrosoftinterview.com/default.aspx
is no longer valid it seems
Nice Job,
I have a PM Interview scheduled in a few weeks and I am very scared about preparing for it.
Thanks
Great Blog for Program Management aspirants
Ur post was extremely useful and helped me a lot in my PM interview preparation. I am just curious to know... How different is a intern interview diff from that of a full time ?
Great Stuff!!
Thank you so much!!
Hello Vishwac,
Your blog is a great source of information for Program managers however I will be going in a project Manager interview very soon.
Can you help me on how I can prepare best for this interview.
quite helpful and given a direction to prepare for program manager interview
Thanks
Nice Article really shows your efforts and keen interest in the topics.
Good Job :)
Great post. I hope you write more good stuff like this article.
program management
A key skill that the individual taking on the responsibility of project management in an industrial build is the ability to fully appreciate the entire construction process from start to finish. This might involve being familiar with a range of equipment and materials. Also, it will be necessary to have the required knowledge and experience to eliminate any problems that might occur throughout the build.
what is contract management
Good Post. Thank you so much for sharing this post. Visit https://www.levo.com/asanga-gunaratne
to know more.
برنامج مكاتب الإستقدام - برنامج استقدام اونلاين
شركات المياه فى السعودية
برنامج ادارة استثمار عقارى
Post a Comment
Subscribe to Post Comments [Atom]
<< Home