Yearly Archives: 2019

Don’t hate the player! Hate the game!

Over years, I noticed that people develop a grudge against coworkers or their bosses.

Often, if not always, this is caused by others goals and job constraints.

Example: “I deserved a promotion, but I didn’t get it because HE/SHE THINKS I DIDN’T DESERVE IT”. Usually this is caused by manager having budget and needing to play bonus allocation tetris AKA calibration. Probably (most likely) if he didn’t have these constraints it would look differently.

Another example: “I hate this guy. He is always against me.”. The reason why somebody oppose an idea is usually because of reasons. Reasons are caused by constraints a person operates in, and past experiences.

Of course somebody may just not like you. That happens too.

Maybe I’m the luckiest employee in the World, but over 7 years I didn’t have boss that sucked. Did I work with some people who didn’t like me? Probably, but I was always focused on solving problems, and cared less about their personal feelings. It also happened to me that I didn’t get promotion/bonus when I deserved it. However, after digging in, I understood why, and it was because of constraints others operated in.

A few years ago, while learning about AI from Peter Norvig (director of research at Google), I learned about Paradox of Rationality – people making rational decisions often end up with worse outcome if they would make irrational decisions. This is foundation of game theory, and obviously happens in life. Did you see irrational outcome coming out of congress lately? Do you think it’s because politicians are stupid? Maybe it’s because of how the game is setup?

Don’t hate the player! Hate the game! Your life will be better 🙂


Facebook Bootcamp is the best thing in the World

After 5 years at Microsoft I joined company, which product I’ve been using for last 12 years :O

12 years at facebook

Before I forget how amazing it was, I wanted to drop a few lines about Facebook Engineering Bootcamp.

When you are about to join typical company you have to make a decision whether it’s a good fit for you. Usually it’s based on 4 or 5, hour long LeetCode sessions with different members of the team. Of course you talk to your future manager, HR is telling you how great it’s gonna be etc.

Facebook does it differently! Your are being interviewed by people from different teams across the company. Not necessary from the team that you are going to join. It’s actually very unlikely that you gonna end up working with any of them. This allows to remove bias, and make interviewing a fair game. Microsoft and Amazon have huge variation between teams. Somebody who wouldn’t pass interview in one team can be a rockstar in other team.

After you pass the interview and join Facebook, you start as bootcamper. You have usually 6-8 weeks to learn facebook engineering systems, and to find a team. You can to talk to as many teams in the company as you want. These are not interviews, but informal chats. Usually short 30 mins meeting, quick coffee or lunch. Some people call it “Facebook Dating” 😀

Once you determine that there is “chemistry” between you and your future manager, or somebody from the team, then you usually work with that team for a couple of days or a week. Like a real work! They give you desk in their open space area, you get some easy task that is related to what they are working on, and you are a team member for the time being.

Don’t worry about good and bad teams. At Facebook there are only different teams 🙂 I was surprised how everybody I met during bootcamp had slightly different interests and all of us decided to join different teams :O

Usually you want to “try” a few teams to have comparison, and to make connections that might help you in the future. E.g., when you will need to work with different team, or when you will be changing teams. This is the best part of the bootcamp. You can literally give you future job a trial run.

I graduated from bootcamp last week and joined Facebook Marketplace Growth team.

I’ll probably drop a few lines about Facebook Engineering systems in separate post, but I’ll just tell you this: imagine that you can have all your wishes regarding engineering systems fulfilled, and it’s better than that 🙂

If you want to learn more about bootcamp check this note 🙂


Leaving Microsoft…

reseting Microsoft PC

Last Friday, September 13th was my last day at Microsoft. Coincidence was that it was Programmers’ Day = 256th day of the year 🙂

It’s been awesome 5 years! I helped to ship the new Azure Portal, turned hackathon project into Microsoft product announced at //build keynote, helped SeeingAI with a few features, and for last two years helped to grow Azure Search. When I joined the team it was a startup. Now, it’s a mature Azure Service. Along with my everyday job I had awesome opportunities to speak at conferences and meetups around the World about my work. During my time at Microsoft I delivered almost 30 technical talks!

Along that journey I met a lot of awesome and inspirational people. Thanks to them my job was my passion. I was very lucky to have awesome bosses. I want to thank Andrew Birck, Ian Carbaugh, Madhur Joshi, Janusz Lembicz and Pablo Castro for everything they did for me. If you end up working for them, consider yourself very lucky!

Special thanks to Steve Sanderson, Scott Hanselman and Scott Guthrie! Their technical talks made me want to join Microsoft, when I was still in college!

Stay tuned for what’s next!


Azure Search on Azure Friday

Once again I had a pleasure to join Scott Hanselman on Azure Friday. In the past we did a video about Azure Mobile App. This time we talked about Azure Search.

Azure Friday is very casual. You just walk in, and chat with Scott. It just happen to be recorded 😀

In this week’s episode we did a quick overview of Azure Search capabilities. Service, on which, I was working on for last two years.

01:00 – Creating a search index
02:37 – AzSearch.js – Automagical UI and sample React controls
03:27 – Searching the JFK Files
08:00 – Adding search to Scott’s blog

You can deploy JFK Files by yourself. More info in our JFK Files github repo.

Check out AzSearch.js to generate website to search your index!

This is just tip of the iceberg! Check our docs for more! You can start today by creating your first search service. We allow one free service per subscription!


Solution for missing battery icon on Surface Book running Windows 10

Recently I got a Surface Book 2. From the beginning, my battery icon was missing, and I spent hours researching how to fix it. I didn’t even have battery show up in device manager.

To save you hours, here is the solution:

  1. Go to device manager
  2. View -> show hidden devices
    Missing battery icon on Surface Book
  3. Uninstall Surface Serial Hub Driver:
    Missing Battery Icon on Surface Book - uninstall Surface Serial Hub Driver
  4. uninstall all other devices that have warnings*
  5. reboot and wait a few minutes for missing drivers to get reinstalled

(*) – I am not 100% sure step 4 is required, but it won’t hurt and it may help.

After that you should get your battery status back:

Surface Book - battery status

It should also be visible in device manager now:

Surface Book device manager - battery status