COMPUTER SCIENCE, LIFE, STARTUPS, TECHNOLOGY

Adding to my Reddit Karma – The real Google Guru :D

Found this on youtube the other day, hilarious

Advertisements
COMPUTER SCIENCE, STARTUPS, TECHNOLOGY

Interview engineers like a reverse bloom filter

Hiring is hard. Hiring great engineers is harder. But cleaning up bad engineering work from bad hires is the worst!

If you are an engineering manager like me, its your responsibility to hire engineers and generally set the bar very very high for candidates. The most obvious well known trick is to hire people smarter than you(The whole A’s hire A+’s, B’s hire C’s thing). But many a times, especially in startups or service companies, due to high pressure demands, this bar can go down and there is nothing worse.

There a lot of the times engineers can be false positive -i.e. they come across as brilliant in the interviews. Many a times this is because engineers are extremely well prepared specifically for interviews(having gone through the thousand of resources available online, the data set of available questions,unheard of yet, is bound to get smaller)

So , interviewing has to model a bloom filter in reverse

Background on a bloom filter:

During the process, you are probably involved in a couple of rounds with the interviewee, but in general its your engineers who interview potential candidates. Engineers understand engineering terms better. Hence we should be modelling the process and communicating to the engineer similarly.

Bloom filter.svg
Bloom filter” by David Eppstein – self-made, originally for a talk at WADS 2007. Licensed under Public Domain via Wikimedia Commons.

A Bloom filter is a space-efficient probabilistic data structure, conceived by Burton Howard Bloom in 1970, that is used to test whether an element is a member of a set. False positive matches are possible, but false negatives are not.

The idea is that a query for an item returns either “possibly in set” or “definitely not in set”. Elements can be added to the set, but not removed (though this can be addressed with a “counting” filter). The more elements that are added to the set, the larger the probability of false positives. Plus a bloom filter is a great data structure particularly if you are using strong caching mechanisms. Hence you’d do good getting your engineers to learn a swanky data structure while they interview other candidates.

How does this apply to interviewing:

Applying this to an engineering candidate is interesting. You have to be biased towards false negatives, false positives should not make it. Ala a reverse bloom filter, which could say a candidate should be looked at as  “Great but wont make it” and not “OK should make the cut” or False negatives are possible but false positives aren’t.  Essentially this says, its OK to lose very very good engineers who don’t make the cut(but certainly are great), but its absolutely not ok to hire bad eggs on a false curve. The cost and time spent on training and cleaning up behind these engineers can get exponentially higher than the time spent carefully interviewing candidates and selecting the right one. 

Might be a convoluted way to think about it,  but it’s worked so far for us. 🙂

Comments welcome. Ok maybe instead of a reverse bloom filter I could have said a lossy hash table or a LRUCache or even a direct mapped cache. But they don’t sound as catchy 🙂

COMPUTER SCIENCE, STARTUPS, TECHNOLOGY

16 Things

Andreessen Horowitz

We don’t invest in themes; we invest in special founders with breakthrough ideas. Which means we don’t make investments based on a pre-existing thesis about a category. That said, here are a few of the things we’ve been observing or thinking about; we’re especially grateful to our founders/companies, and the entrepreneurs we meet with everyday, for their insights here…

[For other trends we’ve covered already elsewhere, please see our series on mobile eating the world (with lots of charts!), you bet your SaaS, and government x tech.]

View original post

LIFE, STARTUPS

Engineering management Lessons so far- part 1

Engineering management is hard. Mostly because programmers who turn managers start to treat people like code, and this not so good article on TechCrunch will tell you that is good, but it isn’t. Code is predictable. People are not.

Some key lessons so far
1.) You cannot lead a cavalry if you think you look funny on a horse: Self confidence is key

2.) Respect and leadership are privileges earned hard but lost quickly – Don’t lose it if you can help it, burn out the fire’s as quickly, if you cant.

3.) Ability to manage conflicts is key- data driven is the only way

4.) Every engineer on your team needs to constantly know what to do next

5.) You HAVE TO BE UPDATED On technology/code/processes and continue to be CODING – cant stress this enough, or you are the guy the developer’s say “Hey manager, we are about to finish this module and pull a late night, can you order some pizza’s for us” to.

6.) As tough as it might be, you cannot lower the hire bar – Absolutely zero tolerance, because bad hires come bite you back in the rear.

7.) You can employ carrot or stick method in certain situations – but caveat emptor

Thats what I have so far. Ill be updating this and have some sort of a value list as I experience more of engineering management.

I’ve enjoyed reading this piece and this piece on Engineering management, there are a lot of very valuable key lessons to take from them, so I suggest you read up on those if you are in this black art of engineering management

STARTUPS

Sam Altman’s CS183B – Lecture 6 – Alex Schultz

Lecture 6 was by Alex Schultz – a very good talk on Growth.

Salient points

  1. Self intro: Paid for college doing online marketing, directions marketing. I started with SEO in the 1990s. I created a paper airplane site, and had a monopoly in the small niche market of paper airplanes. When you want to start a startup also see how big the market could be. (In the long term, it wasn’t great.) But what that taught me was how to do SEO. And back in those days it was Alta Vista, and the way to do SEO was to have white text, on a white background, five pages below the fold, and you would rank top of Alta Vista if you just said planes 20 or 30 times in that text. And that was how you won SEO in the 1990s. It was a really, really easy skill to learn.
  2. Retention is the single most important thing for growth and retention comes from having a great idea and a great product to back up that idea, and great product market fit. The way we look at, whether a product has great retention or not, is whether or not the users who install it, actually stay on it long-term, when you normalize on a cohort basis, and I think that’s a really good methodology for looking at your product and say ‘okay the first 100, the first 1,000, the first 10,000 people I get on this, will they be retained in the long-run
  3. Every different company when it thinks about growth, needs a different North star; however, when you are operating for growth it is critical that you have that North star, and you define as a leader. That one metric that drives the company and a person who drives it.
  4. For Facebook the magic moment, is that moment when you see your friend’s face, and everything we do on growth, if you look at the Linkedin registration flow, you look at the Twitter registration flow, or you look at what WhatsApp does when you sign up, the number one thing all these services look to do, is show you the people you want to follow, connect to, send messages to, as quickly as possible, because in this vertical, this is what matters. When you think about Airbnb or eBay, it’s about finding that unique item, that PEZ dispenser or broken laser pointer, that you really really cared about and want to get ahold of. Like when you see that collectible that you are missing, that is the real magic moment on eBay. When you look on Airbnb and you find that first listing, that cool house you can stay in, and when you go through the door, that’s a magic moment
  5. Operating for growth, what you really need to think about, is what is the North star of your company: What is that one metric, where if everyone in your company is thinking about it and driving their product towards that metric and their actions towards moving that metric up, you know in the long-run your company will be successful.
  6. Make sure you have deliverability. Focus on notifications and triggered based emails, SMS, and Push Notifications.( A bunch of theory on SEO methods)

    Conclusion:

    “A good plan, violently executed today, is better than a perfect plan tomorrow.”

    BTW PG said Startup = Growth – so lets keep that in mind all the time shall we.

    Btw I highly recommend Genius and thank them for the lecture annotations. A lot of these posts are filtered from there- very helpful.

STARTUPS

Sam Altman’s CS183B – Lecture 5 – Peter Thiel

Been busy with office work and finally getting a chance to continue blogging on what I learnt with the Sam Altman lectures.

Lecture 5 was by Peter Thiel. Thiel is notoriously famous for being a cut throat execution oriented investor and has invested in some of the most successful startups on the planet. His lecture was of course polarizing (wouldn’t have it any other way) titled Competition is for losers and mostly took out pieces from his very successful and highly recommended book Zero to One: Notes on Startups, or How to Build the Future.

Salient points

1.)  If you’re the founder, entrepreneur, starting a company you always want to aim for monopoly and you want to always avoid competition. And so hence competition is for losers!

2.) If you have a valuable company two things are true. Number one, that it creates “X” dollars of value for the world. Number two, that you capture “Y” percent of “X.” And the critical thing that I think people always miss in this sort of analysis is that “X” and “Y” are completely independent variables, and so “X” can be very big and “Y” can be very small. “X” can be an intermediate size and if “Y” is reasonably big, you can still have a very big business.

3.) If we look at perfect competition, there’s some pros and cons to the world of perfect competition, on one end of the spectrum you have industries that are perfectly competitive and at the other end of the spectrum you have things that I would say are monopolies, and they’re much more stable longer term businesses, you have more capital, and if you get a creative monopoly for inventing something new, I think it’s symptomatic of having created something really valuable.

4.) Companies lie for their own benefit regarding monopolies. Anyone who has a monopoly will pretend that they are in incredible competition; and on the other end of the spectrum if you are incredibly competitive, and if you’re in some sort of business where you will never make any money, you’ll be tempted to tell a lie that goes in the other direction, where you will say that you’re doing something unique that is somehow less competitive than it looks because you’ll want to differentiate. (Example, a restaurant not making money in Palo Alto will position itself as “Well we’re the only British food restaurant in Palo Alto” to seek attention of the monopoly they create. CounterExample of Google who have monopolized the search market but all press and PR is about Self driving cars and the competitive space they are in)

5.) Very counterintuitive ideas that comes out of the monopoly thread is that you want to go after small markets. If you’re a startup, you want to get to monopoly. You’re starting a new company, you want to get to monopoly. Monopolies have a large share of the market, how do you get to a large share of the market? You start with a really small market and you take over the whole market and then over time you find ways to expand that market in concentric circles.

Conclusion:

So much of people’s identities got wrapped up in winning these competitions that they somehow lost sight of what was important, what was valuable. Competition does make you better at whatever it is that you’re competing at because when you’re competing you’re comparing yourself with the people around you. I’m figuring out how to beat the people next to me, how do I do somewhat better than whatever it is they’re doing and you will get better at that. I’m not questioning that, I’m not denying that, but there often comes this tremendous price that you stop asking some bigger questions about what’s truly important and truly valuable. Don’t always go through the tiny little door that everyone’s trying to rush through, maybe go around the corner and go through the vast gate that nobody is taking.

 Now if you haven’t been catching up, its fine, my final post in this series is going to be an infographic on what’s been talked about so far and I absolutely recommend his book Zero to one – Buy it here, must read for anyone wanting to build startups

STARTUPS

Sam Altman’s CS183B – Lecture 4 – Adora Cheung

Lecture 4 was on Building Product, Talking to Users, and Growing by Adora Cheung. Adora is the CEO of HomeJoy, a online platform which connects customers with house cleaners. Adora Cheung did the first few cleaning jobs herself(Talk about dogfooding), and until late 2013 continued to work at least one cleaning job per month. HomeJoy, After Series B, led by Google Ventures, in early December 2013,  has raised about $38 million totally so far.

Salient points from the talk.

  1. Build a startup when you have a big block of available free time!
  2. Build a startup that solves a problem you have. Adora and her brother Aaron started a company called PathJoy(online platform to connect users to life coaches), but didn’t continue after a years effort, since they realized it wasnt the problem they wanted to solve.
  3. Start by learning A LOT about the target segment, become experts,story board ideal user experience. Build an MVP and put it out, smallest feature set to solve the problem, with simple product positioning.
  4. Have lots of avenues for customer feedback. Go out, talk to users. But setup support@company , surveys, qualitative,quantitative feedback, beware of the honesty curve, graph everything. Stealth is stupid.
  5. There are three types of growth. Sticky, viral, and paid growth.

Sticky growth is trying to get your existing users to come back and pay you more or use you more. Viral growth is when people talk about you. So you use a product, you really like it and you tell ten other friends, and they like it. That’s viral growth. And the third is paid growth. If you happen to have money in the bank you’re going to be able to use part of that money to buy growth.

Key to growth = Sustainability