Thursday, September 22, 2011

Interviewing @ eBay Part V - Dir. and VP of Engineering

My base line for interviewing senior engineering management  is the following, non-scientific, completely made up, definition:

Job of a manager is to develop & allocate resources and manage execution of projects to satisfy time, budget and quality constraints and to minimize risks and promote efficiency (repeatability of the whole process). Leadership (as in the ability to inspire and influence change) is desirable, and indeed necessary the higher one goes in the management chain.

Based on this, there are five types of questions I’d normally ask,

·        General/ice breaker: One or two questions based on resume or general questions such as Why eBay? Why now
·        Technical Management : Ability to manage large teams, projects, timelines, budgets and plans
·        Leadership: ability to conceive , evangelize and cause positive change
·        Personal: I mean to assess personal integrity, awareness, reflection
·        Field Specific: Needless to say, a director of DB engineering gets specific DB questions, director of commerce must know details of order management and payment processing VP of personalization get collaborative filtering and VP of applications get “how you build a large web app” question.

 Here are the current (and expanding) bank of question I’d normally draw from, please email me or comment if you have other suggestions...

 -        General

o   First 90 days at eBay?
o   Why eBay, Why Now?
o   Talk about the most defining event in your professional life. 
o   What are the 2,3 interesting and promising trend you see?
o   What is leadership to you? What is management to you?

There are safe and conservative answers for these questions, however answers that reflect
measured risk taking and authenticity are always preferable. 
 -        Tech Management
o   How would you structure an engineering org?
o   How do you measure the progress and success of a project?
o   How do you decide the allocation of engineering resources in multiple locations?
o   How do you manage promotion process?
o   How do you allocate bonus budget among your team members?
o   How do you see your relationship with product and architecture function?
o   How do you manage your hiring process? Who would you hire?
o   A new technology for part of your stack is emerging (e.g. a new presentation technology or a better and open sourced database, new JVM or cache …) would you replace your existing technology stack with the new one, why or why not?
o   How do make sure knowledge sharing is effective among your team members?
o   How do you ensure the quality of your delivery?
o   What is the most important job of a technology manager (pick one!), why?
o   How do you monitor the day to day tasks and assignment of your team?
o   What is your view about innovation? How do you practically manage an “innovative” team?
o   How do you deal with “NIH” – Not Invented Here – issue?
o   What is your talent development philosophy?
o   How do you chose and prepare your successor?
o   Would you direct your team to execute on a course of action you do not support?
o   How do you increase productivity? How do you measure it?
o   How do you empower your team to do "the right thing"? even when there is no time or budget for it?
-        Technology
o   How do you manage development life cycle? What development life cycle do you use?
o   What is the current technology stack you are using? What are the benefits? What are the drawbacks? Why it was chosen? (please don’t say “I don’t know, it was chosen before I join”)
o   How do you plan for migration from an old, stable large system to a newer version of the same system?
o   How do you feel about redundant work? is there an occasion that It may be useful?
o   When do you use open source? What are the challenges? When do you use vendors?
o   What is Agile to you? What are the benefits and challenges?
o   What 2,3 question you would like to ask about eBay technology?
o   Explain the CAP theorem.
o   What are the measures/steps you take when your system is in operation?
      The Person
o   How do you stay current of state of technology? What part of stack are you interested in the most?
o   How have you improved over the years as a manager?
o   What is your proudest moment as a manager?
o   Tell me about your biggest mistake, how did you realize it was a mistake? What did you do afterwards?
o   What is one criticism that your subordinates make about you?      
o   How can twitter be used to improve eBay?
o   How do you improve eBay? Now, I just told you to do something else – that you feel is not right - , how do you react?
o   What is your dream company to work for? Imagine now that you have an offer from that company, what should eBay do so that you work for eBay instead?
  -        Leadership
o   How do you deal with a “failing” project? Or a project in crisis?
o   Your plan requires the cooperation of another team, but that team has its own priorities and plans, how do you convince them to allocate time and resource to your project?
o   How do you influence and convince a group of people over whom you have no authority? Give an example
o    How do you mentor/coach your team member?
o   You receive a call at 2am telling you that the entire search (or checkout) is down, what do you do?
o   Two senior technical leaders (or teams) escalate a technical difference to you (MemCache v.s NoSQL or doing it now vs. doing it in the future …) how do you settle the matter?

Sunday, September 11, 2011

OpenID Tech Summit - Mountain view, CA - 9/12-13

I am attending the OpenID Tech summit tomorrow (Monday) and Tuesday at the MSFT Silicon Valley campus.

There are two main topics, first the official announcement of  OpenID Connect - a standard built on top of OAuth 2.0 to that allows RPs obtain connect and obtain extensible profile information about an identity -  and second is the introduction of a concept called Account Chooser - a UX pattern for federated login pages proposed based the experience of Google in dealing with federated authentication scenarios.

I am also part of a panel discussion on "Identity Schizophrenia - How users want to apply their online identities" moderated by Allen Tom, OIDF Board Member. It is scheduled for Tuesday September 13 @ 1:40pm. For a full schedule of the summit see here.

It should be interesting ... If you there tomorrow, please do stop by and say hi ...

Saturday, September 10, 2011

Interviewing @ eBay Part IV - Product Management Interview

First let’s review, very briefly, what product managers are expected to do – I also highly recommend you read the following Q&A from Quora contributors:

In my view the core of product management role is to understand firm’s resources and capabilities, existing products and markets, customer needs and wants, existing and adjacent market dynamics and economics and use the intersection of these four factors to conceive of and design new products or improve and evolve the existing ones in a manner that is profitable for the firm - i.e. reduces costs or increases revenue. 
That is indeed a tall order, and rarely can be performed by one person – it is a role – but an individual product manager should perform any part of this role.

(Notice that we are not talking about product marketing manager, project manager or program manager, the focus is only product management as it is defined above)

In addition to – or to accomplish - this core function– product managers at eBay work closely with business to understand the markets and trends, participate in conception of ideas, communicate and get buy-in from all stake holder (formal, actual or both), help marshal resources and come up with execution planning and ensure the success roll out – and post roll and operations out activities.

To me, the core traits of a product manager are clear and analytical thinking ability, communication and influence and discipline (in capturing assumptions, solutions, exemptions, follow ups, coordination as required by the breadth of activities above etc.)

In a typical interview (45 min) you can expect 4,5 questions from below list:  

-        Technical questions:
Most eBay products are either technology-based or have a strong technology component to them, so you have to understand technology (as in software engineering, operations, statistics …) also you need to build credibility with engineers, for these two reasons expect a few technical questions, I don’t personally ask you to code, unless you volunteer to (a plus) or you state on your resume that you are “fluent in Java”, then I consider it a fair game. By the way if you are applying for a “Technical PM” please read the “architect” interview post. These two jobs are almost the same at eBay.

o   What is the general architecture of a web application, how about a mobile application?
o   Your product has to use service of a service provider – the service is available online – what are the list of question you would like to know about this service provider?
-        Analytical ability
o   What is BMW’s revenue (do not look it up, I actually change the company randomly)
o   In a marketplace the actual instance of fraud is decreasing, but the perception of fraud is increasing, what is going on?
o   What data/information you’d like to know in order to estimate eBay revenue
-        Business and Strategy
o   Typical management consultant questions on strategy, competition, profitability, new markets etc.      
o   How do you grow eBay revenue by 20% in one year?
o   What adjacent markets eBay should consider entering?
o   Should eBay expand into Japan?
o   Should eBay buy ETSY?
o   Should eBay buy Yelp?
-        Product Design
o   How do you improve eBay buying experience, how about selling experience?
o   Should eBay accept Facebook Identity, if so, what are the considerations?
o   What do you think about “Social Commerce”, hype or real?
o   How do you incentivize excellent selling behavior on eBay?
o   How would you plan the launch of a product? Say fashion vault in Germany or integration of a new shipping carrier into the system.
o   How should eBay verify and confirms the identities of all sellers and buyers?
o   How best you think eBay can combine e-commerce and offline commerce?
o   What are the risks an electronic marketplace faces?
o   How should eBay implement “calendar of event” feature for sellers?
o   How do you improve eBay feedback system?
o    You are asked to improve eBay registration performance, what would you do?
o    What set of metrics would you use to measure the health of a marketplace?
-        Awareness of markets and trends 
o   Which companies eBay marketplaces should acquire
o   What are the eBay main competitors and why?
o   What trends (technology, consumers, economical, social etc.) will impact eBay business and how
o   Describe the economy of electronic payment industry 
o     What are your favorite products and why (please be prepared to mention something other than iPad or iPod)
o   What is the biggest product blunder in your mind and why
o   Which web sites do you visit regularly?
-        E-Commerce and Payment
o   How do you design a multi-merchant shopping cart
o   What is the “e-commerce funnel” – how do you optimize it.
o   How should “best match” algorithm be designed?
o   What are the risks an electronic marketplace faces?
o   You meet an eBay seller that complains about low sales volume, what would recommend him to do?
o   How do you measure the success of a shopping cart?
o   How can you use one's FB and Twitter accounts to improve searches on eBay?
o  How would you design an effective refund experience, how do you measure its effectiveness?

-        Personal qualities and fit  
o   How do you influence people?
o   What is leadership to you? Give me an example where you demonstrated leadership
o   Tell me about the most interesting project you worked on in your career
o   Suppose a technical leader is telling you that your product requirements is not implementable, what do you do?
o   How do you ensure that your product idea/project get priority over competing ideas/products?

Of course, the list of question changes from time to time and you may not get the same exact
question, but this is the general flavor of your interview. Again, if you happen to see this post
before you interview, please let me know.

Friday, September 9, 2011

Interviewing @ eBay Part III - Software Architecture Interview

I don’t know of any job title/role in technology that is more controversial, and evoke more emotional reaction, than that of an “architect”. Engineer, engineering manager, product manager, accountant, business developer etc. all have almost the same definition/responsibilities from company to company,  architects role though vary widely: in some firms one cannot do anything without an architect permission and in some others the role is completely eliminated.

You should first know that architecture is a role with a wide definition (TOGAF alone defines five types of architect - enterprise, business, data, application, IT). EBay architects play a combination of tech lead, internal evangelist, tech management and product management, and role is often the agent of change for eBay technical direction, tech stack, technology choices, process and methodologies …
Interviewing and selecting an architect is especially challenging. In addition to core skills of a software engineer (yes if you are interviewing for an architect position, you should be comfortable coding – no Java guru, but be able to code), the main attributes I am looking for are:

-        Integrity: Change in technology often brings about change in organization and power structure, people currently in power know this and may not be enthusiastic about  it, architect should have the integrity and courage to call for change when  it is not popular.
-        Leadership: integrity and courage is necessary but not sufficient, in this role you should have leadership i.e. the ability to influence, inspire and induce change in direction (often major changes) in a way that people want to make the change, not forced to (you will have no formal power anyway)
-        Clarity : last but not least, architects MUST bring clarity to situations where goals are unclear, definition of problem is fuzzy, needs are uncertain, data is incomplete, assumptions are inaccurate, yet delivery is urgent and pressure is high …bringing clarity to all aspects of such situations are often the most important function of an architect at eBay.

So for interview, expect some of the core software engineering questions, with much more emphasis on modeling and problem solving plus few of the followings:

  • -        When you are asked to “architect” a system – say photo album app – what does that mean to you? What tasks do you perform? What would be your deliverables? How would you interact with engineers?
  • -        How do you ensure the delivered system conforms to your architecture?
  • -        Model and Design eBay
  • -        From the time you type in , to when you see eBay home page, explain what happens under the hood, at all layers
  • -        How does Ajax-style interaction impact a traditional/classical page-oriented architecture? What are the changes it would force to the classic architecture.
  • -        How would proliferation of Mobile application impact the classical web based architecture?
  • -        Explain Map/Reduce in simple but reasonably accurate term, in a way a marketing person can appreciate it.
  • -        Describe challenges and best practices in developing a distributed system – such as SOA based system.
  • -        Describe the qualities of a well-designed API or service interface .
  • -        Describe your favorite application development framework or design, explain its benefits and shortcomings  (e.g. Spring or Struts, or your own framework)
  • -        Compare and contrast SQL and NoSQL DBs, when do you use each?
  • -        How do you store a social graph like LinkedIn or Facebook?
  • -        How do you decide to buy or build a piece of technology?
  • -        eBay, as other online merchants and markets, has a policy against sale of fire arms, how do you design a system to enforce this policy?
  • -        How do you design an application – such as a cart or check out flow - in a way that product and UI folks can experiment with and optimized different aspect of it?
  • -        At any given time, eBay support a set of widely used browsers, for the rest, it display a warning message and asks users to upgrade to another browser. How so you design this system?
  • In a large and distributed system, how do you ensure data-consistency for critical functions such as  authentication/login 
  • Discuss a few significant technology trends, why do you think they are important? How would you anticipate their impact on current architecture/system?
  • What would you do in your first month of working for eBay

If some of the questions sound vague, it is because they are! (btw, they are a lot clearer than what you'd face with in reality). Remember that you need ask questions, seek and bring clarity to the problem definition before you jump into the solution.

Again if you are interviewing for a particular specialty such as Security, I18N, Messaging, Operations etc. you should expect particular question in those areas (I will post a list of question for my security and identity architecture interview later), but for system and application architecture, be prepared for at least 3 or 4 questions from the list above.