Friday, January 16, 2015

Sheila. Big tank lady.

I love cars. I really really do and while I realize that self-driving cars are the future, little beats navigating a curve at near optimum speed and listening to the roar of an engine. Proper roar. Not the bullshit artificial sound that's making its way around (*cough* BMW *cough*).

What are we talking about again? Yes...can you pick up chicks in a tank? Err...so what does Product Management have to do with cars?

Well, I was thinking about an analogy last night and given that every question can be a PM question (just go with it), behind any successful process, there's usually a PM or a team of PMs doing what's needed. Keep in mind that the title might not always be "Product Manager".

So what can a great PM do at a company like Ford or Porsche, especially when a new car is being developed. If it were me, I'd not only have to have great customer empathy but also know what's under the hood and make sure my team isn't doing silly work.

What does that mean?

Is the car safe while still being fun? (and this means different things to different segments). Do I know what that means to a potential 20 year old versus a 50 year old driver?

Do I show up at 6am to drain the oil and send a sample off to analysis, top off the oil and make sure the car is ready for my engineering team to run their test?

Do I study the statistics from the latest Brembo installation and have a set of recommendations / questions ready for the brake team before they roll in to work?

Do I make sure that the analysis on tread usage is complete and the tire pressure is optimum or tires/wheels have been replaced before the track drivers show up?

Have I been hounding the accessories team about the new AC that's 5% heavier than the old model and how I want a reduction in weight. Hello, this is a race car yo.

Do I see a threat from Acura in their new supercar and preemptively plan to crush them at the Detroit Auto Show that's scheduled to open in 8 months?

Am I aware of the auto regulations in Europe and intimately know how they compare with the ones in Australia and Canada?

Do I bring the donuts?

... and the answer to all the above questions is:

YES.

At any place, there's lots of work that's considered "boring" or "not sexy". What do you do as a PM? You take that stuff on so your team doesn't have to. You migrate dying hardware on to a VM stack. You maintain an ancient automation harness and think of ways to rewrite the whole thing. Then you do it.

You keep track of the big picture, you keep people in the loop and you bring donuts. You do what needs doing.


Wednesday, January 14, 2015

Adblock this

Design an ad server that returns relevant ads from a store of 100m unique ads. It must be fast and must scale across 1billion different pages and 1billion requests per day.

Why bother eh? Our users are going to block our ads anyway. I mean ads are annoying yea? With that, the interview swiftly comes to a close and you check if the closest bar has your favorite Scotch. Or something.

Here's Google's financial data from Q3 of last year: Q3 2014 Financial Data

Look at how much money Google pulled in. Yea, soak it in. Now, back to the question:

Questions to ask:

* What platform are we targeting? (Mobile, Desktop or both?) - with whatever platform, what's the display medium?
* What's the nature of the content that's being displayed (this affects the database choice, bandwidth considerations/network conditions)

Requirements:
* Be easy to use
* A web-service solution and a database solution (needs to be scalable, distributed)
- Flesh out delivery system more
* Database and web-server need to be able to handle a variety of ad formats and rich media
* Need to serve ads based on business rules / requirements
* Target ads based on user, geographic location / IP location, content and legal considerations
* Need to be able tune delivery based on results / feedback
* Determine ad-targeting
* Need 12000 ads displayed per second assuming an average duration. Double that if you assume a 12 hour day.
* Expose APIs, be connected to supply chains, ad. approval, audit, account management
* Be connected to a billing system

Technical Design:
* Would need to use key-value stores for high-volume, low-latency transactions
* Have aggressive cache-expiration unless you see clicks

Physical Architecture:
* <Load Balancer> <-> <Ad chooser cluster> <-> <Database cluster> <-> <Application server> <-> <Web Server>

Software Architecture:
Ad. Chooser <--- (Constraint Checks based on requirements) <-- (Read from DB) <-- (Influenced by Campaigns, business rules)
Ad. Inserter ---> (Audit) ---> Store in DB ---> Tie into Reporting System

Infrastructure:
Go EC2 or actual commodity hardware, fast networking

Ad. Chooser Design:
(Pool of ads) -> (Display medium: browsers, mobile apps). Goal: Maximize value of ads served. CPM comes into play.

Reporting:
Realtime, bulk

It's hard to know all the components (not sure I got them all) but you need to key components, the broad categorization. Think of who the user is and work back from them. How do you think this'll apply to Adsense?

Call the CEO a waaaahmbulance. He's not happy with his elevator.

"A CEO complains that the elevator in his building sucks - what would you do?" (You own the elevator company) - You cannot talk with the CEO to find out what's wrong, everything seems normal, the other people aren't complaining. Whatcha gonna do...whatcha gonna when the interviewer is out to mess with you.

I like this question. I do. The "solution" approach below is entirely original (you're welcome) and completely suspect. I like this question because if you read the first two lines, it doesn't look like a lot of information is given to you and there's a good reason behind that. However if you are like me and have had the luxury of a 16oz vanilla latte, a really pretty face 15 feet away and 20 minutes to brainstorm, you can start digging and "branch out".

Points to focus on / clarify:

  • Only complainer is CEO, everyone else seems fine with how the elevator worked. 
  • Is there only a single elevator?
  • This means there might be other people who have an issue but are keeping quiet.
  • What differentiates a CEO from non-CEOs? Their time is valuable, they don't like to be kept waiting or interrupted. 
  • Which floor is the CEO one? Is it the very top floor? If not, does the floor see more traffic?
  • As a segue, how do the VPs feel about the elevator? What floors house the VP offices? They do have VPs yea? People love being VPs. 
  • What time does the CEO come in to work? What time does everyone else? Look at elevator scheduling rules
  • Are there other companies housed in the building? Do non-employees use the elevator? Deliveries? Freight? 

Possible solution:

Give the whiny CEO a special card. When the CEO scans his card while waiting for the elevator, the elevator doesn't stop for anyone else and comes straight to the floor the CEO is on. Once in (no need for an additional scan), the floor selected is the next stop regardless of anyone else requesting the elevator at the same time.

In addition, when the "CEO bypass"is engaged, the elevator moves 10% faster given that weight safety requirements are met (usually are unless the CEO is moving with a large contingent). What's that? You want the CEO's office to be on the ground floor? Son, he's the freaking CEO and his office has an awesome view. Plus that's the only office with a personal restroom.

Other factors:

- Does the elevator play any music that the CEO hates?
- Do the freaking security guards smoke weed? Air freshener be annoying? Odor considerations.
- Is the entrance to the elevator too narrow and the CEO is obese...I mean big boned
- Are the elevator buttons too low for the CEO? Is the guy a giant? (or vice-versa)
- Does the CEO hate having to scan his card a second time (the above solution will address this). Or forget scanning, use radio frequency to detect when the CEO's badge is in proximity. 

Interrogation Time OR Say WHAT one more time (or Who, Why, Where, When)

This isn't a question/answer post which breaks the format and ruins everything here (Yes, this is the straw that broke the camel's back. This is exactly what's wrong with an otherwise pristine offering). Yesterday, I realized that pretty much any question can be a PM interview question.

Sample 1: How would you solve the traffic nightmare in Seattle?

Potential Answers:

  1. Machine gun turrets
  2. Build more roads, more exits
  3. Move to the Bahamas
  4. Trigger economic collapse in the entire region
  5. An actual answer that won't get you kicked out 

That question above would be a really nice question. As opposed to what you may ask. As opposed to you walking into your first interview and being faced with the following two questions (in that order):

  1. Do you have any questions for me?
  2. Give me one reason why we *shouldn't* hire you...
Don't forget your coffee.

PS: Describe what Marsellus Wallace looks like...


Tuesday, January 13, 2015

Why do you want to become a Product Manager

Context: I kind of am (and will always be) a Software Engineer.

My curiosity shifted from how things were being built to more of a “why things are being built”. At the time I didn’t realize that the area was called Product Management. I was the internal voice of the customer – I wanted to be more than that. I had a good view of the leaves and the branches and not only did I want to look at the forest but I wanted to make sense of what I was looking at. This is why I went back to business school: to get the tools to bridge the gap between where I was and where I wanted to be.

I like the area where business meets technology and I like speaking different “languages”. Interacting with my customers, engineers, marketing, legal, finance and customer support excites me. More importantly I communicate with them "in their own language".

Here's something I found online that sums up interactions with engineers (as a PM):

If you can’t convince engineers to work on your project, you can’t convince others to join you, and you can’t convince the market.

Or in other words, if you can't bring your own engineers on board, you have no business being or wanting to be a Product Manager (the whole product vision, influencing without authority, bribing the team with donuts and doing the boss's laundry comes into play here). 

PS: If all you're going to take away from this post is that my font selection sucks (copy and pasting from vim, notepad++, MS Word), you have a good eye. 

PPS: Wipe that smug grin off your face. Four eyes.

How would you reduce Gmail storage size?

Ask if deletion is an option. What does reduce Gmail storage size mean? Reduce per user quota? Free up disk space? Less data overhead in the DB? Clarify what exactly “reduce Gmail storage size” is without sounding like an idiot. 

For e.g., the question might be rephrased as 

"You have a 15GB GMail account and Google has decided to make all GMail accounts 10GB, what do you do now". Yea, yea that's dumb and Google won't pull that stunt but that's not the point. The point is to show Google that you aren't a pencil pusher.

Is there an option to provide offline downloads of e-mail before deletion? As in a very easy way (one click download – think of Facebook data download) instead of forcing users to use POP3/IMAP clients.

Is there an option to sort emails by size and/or date? [There is but this isn’t user friendly].

Is there an option to mass-archive e-mails? Text lends itself to incredible compression(needs to be lossless – RLE). However attachments might still be a problem (images may be lossy?)

Provide option to save e-mails and/or DOC attachments to something like Google Docs (unlimited space!). Offer conversion of non-support documents to documents that Google Docs supports.


Look into databases/backend with least data overhead?

How would you re-position Google's offerings to counteract competitive threats from Microsoft?

Question to ask: Are there any specific product categories in mind / would you like me to list out the broad categories:

Categories:
  • -    Web Search (Google vs Bing)
  • -    Mobile space (Android vs Windows Mobile)
  • -    Notebook space (Chromebook vs Surface)
  • -    E-mail (Gmail vs Outlook)
  • -    Chat services (Google talk vs Messenger)
  • -    Video services (Google Video vs Skype)
  • -    Cloud services (Google Cloud Platform vs Azure)
  • -    Browsers (Chrome vs IE/Spartan)
  • -    Mapping (Google Maps vs Microsoft Maps)
  • -    Online Storage (Google Drive vs. One Drive)
  • -    Productivity Apps (Google Apps vs Office 365)
  • -    Advertising (Adsense vs MSN + Aquantive)


Ask the interviewer what area(s) he/she would like you to focus on. Provide input on where you think there are genuine competitive threats. For e.g., Bing isn’t much of a competitor to Google’s Web Search. Why? Google cares about the user and works backwards. Microsoft on the other hand seems to focus on market share and revenue and somehow wants to reconcile that with a better user experience. Do you think this worries Google? Maybe but I don’t think it keeps them up at night.

There are additional considerations here. Google has Android to help in the search arena while Microsoft has the Xbox platform and their donations to schools (and hoping school admins don’t switch to Chrome on the kids’ machines). Google might want more “social integration” of their maps / maps API; point being that one should be aware of the context/environment.

If I had to pick one, I’d talk about browsers (harder topic) with Microsoft touting Spartan. Microsoft can in theory make it harder (not impossible) for Google to keep up with browser updates with their next version of Windows (be aware of desktop vs. mobile dynamics if you go here). An easier option would be enterprise productivity software.

Talk about Office 365 vs. Google Docs: You should know that over the years, a lot of office clones haven’t quite been able to replace (Desktop) office: StarOffice, OpenOffice, LibreOffice but Google Docs isn’t quite that. It doesn’t aim to provide an Office 365/ Desktop Office clone. However a consideration here is that customers who are used to the desktop version of Office might be swayed towards using Office 365 (instead of Google Docs). How can Google address this?

Is cost a consideration? Compare licensing costs of Office 365 and costs of Google Docs for enterprise (remember Office 365 gives users desktop version licenses).

Do some 4 P analysis here – mention the 4Ps
  • -    Product (already mentioned)
  • -    Price
  • -    Placement (what you need to focus on here)
  • -    Promotion

How would you place Google Docs to counteract competitive threats from Office 365? First, understand how Microsoft is positioning their current offering. Match that up with you think users will want / use.

Think of it from Google’s perspective. They work back from the user. Can Google afford to give away its offering for free? (I think so). Are there other considerations? (Look at Kingsoft, iWork – I don’t think they are legitimate contenders or at least scary enough to bother Google but they might be bothering Microsoft).

Look at platform support (Google Docs works as well on iOS devices now as it does on Android).

Look at schools (network effects, getting kids to use an application suite from an early age) for product placement. How would you encourage use of Google Apps educational institutions? (Provide these free of charge? Be wary of advertising to kids)

Look at how much functionality users actually use. Look at customer forums for requests, complaints. Look at analytics and reconcile your findings with the answers to the above questions. Finally, organize your thoughts (Start with the 4Ps + studying Microsoft's positioning once the interviewer lets you pick a category). I shouldn't really have to mention this but these are hastily scribbled suggestions intended to kill your brain.

How much should you charge to wash all the windows in Seattle?

A. Short answer: A lot. Do you see the number of freaking windows in this area? The bird poop? If I have the monopoly on window washing, I sure as heck am going to charge Microsoft. A lot. Except they are in Bellevue and Redmond and that isn’t Seattle (yes, you residents of those places, that ain’t Seattle).

Clarification questions:
  1. -     Clarify that is the city of Seattle
  2. -    Everything made of glass is a window (exclude glasshouses)  

Approach:
-             Break out sources of windows
o   Residential buildings
o   Federal/state buildings (police stations, schools, hospitals
o   Private corporations
o   Restaurants / Bars (probably roll this into “private corporations”

 Areas (ignored here)
o   Downtown Seattle (more windows, way more windows)
§  More high-rises = more windows
o   Suburbs

Estimating Residential Window Count
Seattle population: 600,000
Population that owns/rents houses: 500,000 (excluding kids)
Number of houses ~250,000
Number of windows per house = 4
Number of windows = 1,000,000

Estimating Government Window Count
Say 1% of people are needed to support Seattle,
      Federal Employee Count = 5000
      Average employee count per building = 25 which means 200 buildings
      Averaging 10 windows per building, that’s 2000 windows

Estimating Private Corp Window Count
Assume 50% of Seattle’s population works in Seattle: 250,000
Assume another 50,000 people commute into Seattle (total people who work in Seattle = 300K)
Assume an average company employs 100
-    # companies would be 3000, we don’t have that many companies
Assume the average employee count is 500
-    # companies would be 600
Assuming number of windows per company = 50
Total number of windows for private companies = 30,000

So far, we have 1,000,000 + 2000 + 30,000 windows.
In the interests of calculations, let’s just round it 1M windows
Let’s say labor charge for cleaning windows is $20 per hour and a worker can clean 10 windows an hour. That means it’ll take 100,000 hours to clean all windows and that’s going to cost $2M.
Now this seems a bit high or low – depending on perspective
What can we adjust?
      # Windows
      # Hourly Rate

      Seasonal rates (go up when chilly, bird migration? Or no cleaning needed when it rains?)

How much does a pixel weigh?

Approach:
Let’s see how much an electron weighs. Then let’s see how many electrons you can pack into a pixel.

Assumptions: Pixels and electrons have the same density. Electrons are spherical and exist in a classical non-quantum state. OK, now we’re getting  a bit pretentious.

Electron mass:
      Mass: 9.1093897e-28 grams

Volume of an electron:
      Radius r = 2.817e-15 meters
            r^3 = 2.2354273e-44
      Volume v = (4/3)*(22/7)* r^3
             V = 9.3675047e-44 m3
Volume of a pixel:
      Size of a pixel in meters: 0.0002645833333333 m
      Radius of a pixel: 0.00013229166666665 m
      Volume of a pixel: 9.7019903768286348566027336666667e-12

Number of electrons in one pixel:
      9.7019903768286348566027336666667e-12 / 9.3675047e-44
      = 1.0357070199098629602612031426754e+32

Weight of a pixel:
      1.0357070199098629602612031426754e+32 * 9.1093897e-28 grams = 94346.588g


This doesn’t make sense. According to these calculations, a pixel "weighs" 94 kilograms. Or I weigh around 1.21 pixels. Sigh. It’s about the approach anyway. Can you imagine two electrons being next to each other? No.

PART TWO / Approach TWO:

I really need to get some sleep but here's the deal. A gram of hydrogen weighs 6e23 atomic mass units and has a radius of 53pm (5.2917721092e-11 meters). In other words, each atom of hydrogen:

  • weighs: 1.008u or 1.673534e-27 kilograms
  • has a volume of 6.2096450527652839378745400857812e-31 cubic meters.

Or a pixel can contain 15624065939981765942.95081025031 Hydrogen atoms or weighs 2.6 kilos. Well, this is better than 94 kilos. 

So where did I go wrong in both approaches

1. Assuming that electrons exist in a non-quantum state and can be a perfect sphere = incorrect.

2. A pixel is a point in a 2-dimensional space (I am going to have nightmares about Bresenham's algorithm tonight). Assuming it's a spherical object is incorrect. So 4/3*pi*r^3 is wrong. I should've stuck to pi*r^2

3. Pixels don't share density with either electrons or hydrogen atoms.

Repeating the exercise (Approach TWO) with the pixel being considered to be a circle (same goes for atoms) will give us another nonsensical answer:

Area of a hydrogen atom: 8.8008963603650623991725714285714e-21 cubic meters
Area of a pixel: 5.5003410218240109126984127857143e-8 cubic meters

Number of hydrogen atoms you can place on a pixel: 6249750930592.5470593805517430065

This just pains me but all those atoms will "weigh": 1.0459170673878267650473372280681e-14 kilograms 

Or not a lot actually. This sounds more plausible. Obviously, you won't need these stats but I think it's OK to make a couple mistakes and stumble on to approach two faster than I did. As incredibly ridiculous as the question is, the idea is to take something known and apply it as well as possible to something that's not easily fathomed. Or something.

Now, I can get some sleep. Freaking rasters. And bitmaps. And circles. And Bresenham.