What I learned from books in 2019

Books 2019

Last year, I decided to review most interesting books I read last year, and write down my thoughts. Inspiration comes from GatesNotes. This post is long overdue, but I’m glad I managed to publish it before the end of 2020 ūüôā

  • Deep Learning with Python
    • good overview of different types of ML applications: from basic models than can be mapped to 0 and 1s, through computer vision to text
    • using Keras and writing python to actually train neural nets while reading this book was super helpful in understanding ML
    • I think thanks to this book I understood that I do not want to build Machine Learning models, but rather apply them in products
  • Principles: Life and Work
    • life principles
      • Decide 1) what you want, 2) what is true, and 3) what you should do to achieve #1 in light of #2 – many time we want to achieve things, but we are not willing to acknowledge reality, I’ve been guilty of that many times in the past. Realizing that some things are just harder to do than they appear helps tremendously.
      • open-mindedness and radical transparency are invaluable for rapid learning and effective change
      • look at yourself with other’s eyes – many times (always?) we have totally different image of ourselves than other do
      • 5-Step Process to Get What You Want Out of Life: 1) identify clear goals, 2) identify problems, 3) diagnose problems, 4) create a plan how to deal with problems, 5) execute
      • remember that all people are wired very differently (they come from different backgrounds, have different experiences and goals)
      • in his book, Ray Dalio outlines framework for effective decision making: first learn, then decide (be aware of harmful emotions)
    • work principles
      • Ray Dalio believes in meritocracy and radical transparency for running organizations
      • hiring right people is most important thing
      • there is much more that can be found in¬†this¬†great, more detailed summary
  • The Subtle Art of Not Giving a F*ck: A Counterintuitive Approach to Living a Good Life
    • have good values
    • remember that you are not special
    • instead of chasing fame, try to be useful in what you do today
    • struggle for what makes you happy
    • remember that you are probably wrong about majority of things you have opinion about
    • when making decision, imagine yourself 5-10 years from now and think what would you do if you look back
  • Lean Enterprise (book worth reading more than once!)
    • focusing only on maximizing profits has the paradoxical effect of reducing
    • MVPs over long term efforts
    • solid CI is a must for rapid development
    • delivery in small batches is a key to success
    • get hypothesis from user research and validate with A/B testing
    • check this great summary for more
  • 100 Tricks to Appear Smart in Meetings
    • this is a sarcastic story how meaningless can actually play on people emotions and make a difference
    • top 10 tricks:¬†Draw a Venn diagram,¬†Translate percentage metrics into fractions,¬†Encourage everyone to ‚Äútake a step back”,¬†Nod continuously while pretending to take notes,¬†Repeat the last thing the engineer said, but very very slowly,¬†Ask ‚ÄúWill this scale?‚ÄĚ no matter what it is,¬†Pace around the room,¬†Ask the presenter to go back a slide,¬†Step out for a phone call,¬†Make fun of yourself
  • Seven Languages in Seven Weeks
    • great book presenting 7 totally different languages that get your out of your comfort zone
  • Measure What Matters
    • book about achieving results through OKR: Objectives and Key Results
    • approach is widely used at google
    • it’s all about defining specific goals (objectives) and steps that would take you there (key results)
  • Designing Data-Intensive Applications
    • this is bible for distributed systems, as well as good prep book for system design interview
  • Why we Sleep
    • probably the most influential book I read in 2019, made me reprioritize life
    • before reading this book, my priorities were: 1) working out and healthy eating, 2) work 3) hobbies
    • after reading this book, my priorities are: 1) sleep, 2) working out and healthy eating, 3) work, 4) hobbies
  • Hello, Startup – awesome book! See separate post.

I’m curious what did you read and learn. Share your thoughts. You can also follow me on GoodReads to stay up to date with my readings!

Speed reading

speed reading

Is your “to read” backlog longer than 100 books? Is there more books than you can read in one year? Mine too!

Solution? Pick top 20, and remove the rest?

That’s one way to go, but there is also another one: speed reading.

I decided to learn a little about speed reading in order to get to some books that I’m curious about, but…not enough to devote a month of reading for them. There are some books I just want to just know what’s in there.

Speed reading is also useful for articles. How many times your friends send you things that take 20 minutes to read, and then you are like “meh…I wish I spent this time by going for a walk”?

How many times you decided that you want to¬†read something because you are very interested in particular topic? How many times you ended up in reading it, and concluding:¬†“if I could go back in time I wouldn’t read it” or “content was not what I was expecting”? How many times you read something and you think: “Yeah, it’s good, but it can be summarized in 1 paragraph”?

Resources to get started

Here is a list of good resources I went through to get familiar with speed reading:

My approach

When I see something that interests me I do not read it from back to back anymore. I skim first, and if it’s good I read it more carefully, or do another, more comprehensive skim. If it’s a book, I read table of contents first.

Sometimes I also read summary at wikisummaries, fourminutebooks or blinkist.

Another heuristic that helps me to make a decision about reading books is to check GoodReads score. If it’s above 4 then it’s promising. Around 4.5 usually end up being very good, worth reading back to back.

For articles, I usually start with summary/conclusion. Many times that’s where I stop…


It’s all about skimming.

If you want to read fast: skim the words, read first sentence of every paragraph, or even just headers or book/article.

Faster reading = worse comprehension. The art of speed reading is to find the sweet spot of how much comprehension you are willing to sacrifice for speed of reading.

Future of Package Delivery is Underground

Underground Package Delivery System

Back in 2016, after reading Peter Thiel’s Zero to One, I came up with an idea of¬†Underground Package Delivery System. At first it would connect just distribution centers. Then we gonna have local dropbox stations. Like Amazon Lockers. Ultimately: everyone will have dropbox in their homes. You order something on amazon, worker machine sends this to you through underground pipes, you get notification, open dropbox which is next to your closet…and it’s there! Packages will travel like internet packages.

At first, everyone was laughing and told me that it is IMPOSSIBLE! Only a few months later, Amazon was granted a patent for that idea.

I recently discussed this idea with one friend, and decided to re-research it. It looks like a company from UK (Magway) is working on it! Another company, Mole Solutions, has even built 344-foot prototype. They also created awesome video with an overview of the idea:

This is another video of how it would look like:

Are underground delivery systems realistic options for moving packages quickly?

Magway estimates that it would cost 6 Million Dollars per mile. This is actually not bad! Compare this with urban rail cost per mile being up to 1 Billion Dollars (source)!

I know that majority of people see the future in drones, but…do you really want to have entire sky polluted with packages?

Sky of Drones

There is one man, who really believes in tunnels. You know who that is ūüėČ Hint.

What do you think?

PHP in 2020 it’s not your mama’s PHP

I decided to write this post, because before joining Facebook I thought that PHP is just old, limited language from 2 decades ago when server was responsible for simple form parsing, and generating HTML.

I actually learned web development using PHP in mid-2000s, when I was in middle school. I created my personal blog, and website about very popular back then game Deluxe Ski Jump. I actually still have the source code and recently put it on Azure at dsjonine.azurewebsites.net¬†– it is in polish, and there is no database:P Didn’t bother to update character encoding from¬†ISO-8859-2 to UTF. Why I used¬†ISO-8859-2? Because my cousin told me to do so! It was real copy/paste programmer back then! Good times ūüėÄ

Mark Zuckerberg wrote first version of Facebook around that time using PHP too. LAMP stack was the way to go for web development in 2000s.

A few days after joining facebook I realized that PHP now is full blown OO language. It has classes, interfaces, abstract classes, dependency injection, etc. It is much closer to C# or Java than to PHP that I used to write 15 years ago. At facebook we use¬†Hack¬†(typed PHP). It’s awesome. You have the best of two Worlds: type safety and no compilation! Just save, and refresh to see your changes. Yay! As pure PHP performance is not the best,¬†HHVM performance is an improvement.

In PHP, you can access pretty much every module in the codebase without explicitly referencing it. That’s an extra productivity boost. Or hack:) Intellisense in editors like Nuclide¬†(Atom) or VSCode is pretty good as well. When you add Facebook engineering systems, where everything is so neatly setup to prioritize productivity, you are in heaven ūüôā I know most of PHP devs do not have that luxury, but just sayin’ ūüėČ

If you want to learn more about modern PHP, check out these resources:

As of February 2020, PHP is 5th most popular language on StackOverflow (source)! Just recently taken over by python.

In any means I am not recommending you to learn PHP if you don’t have to. Choose Rust or Go instead! Just wanted to let you know, that PHP changed A LOT! PHP in 2020 is not PHP from Web 1.0 times.

Hello, Startup – 360 overview of running tech business

Hello, Startup

Some time ago, Remo Jansen recommended me to check out awesome book Hello, Startup by Yevgeniy Brikman. I finally got into it, and I need to admit that it is a gem describing startup and tech World end-to-end.

Here are my key take aways:

  • Building successful company requires give or take 10 years (this is short overview why from other source).
  • These 10 years are not 955 work weeks, it’s 996 on the good days.
  • Tip: Have a notebook to write down any idea that comes to your mind. Even the most stupid one! You will be surprised when a few years later someone turn it into the product. Someone, but not you.
  • New business recipe: copy, transform, combine.
  • Initial startup idea requires many iterations. Always! Yevgeniy gives a lot of simple examples including creating resume (from very raw to very nice looking).
  • Doing things that don’t scale is ok at the beginning to validate the idea, you can automate later. Launching business that automates something? Hire vendors that would do it manually, and once it take off hire developers who will automate it. As automation and scaling is usually much more expensive.
  • Metrics to track:
    • acquisition – its sources, conversions and cost
    • activation – how many new users engage with the product, and why
    • retention – how many users stays after week, month, year…
    • referral – channels and conversions
    • revenue – month over month, year over year, CLV (Customer Lifetime Value)
    • magic number – e.g. once facebook user connects with 7 friends within 10 days they usually become highly engaged, for twitter it takes following 30 people, and for Slack – exchanging 2000 messages (how to find insights like that¬†by Andrew Chen)
  • Data-Driven Development: idea -> develop MVP -> A/B Test -> Release (requires well defined metrics and measurement tools)
  • Distribution channels for startups:
    • word of mouth
      • build better product
      • great customer service
      • build viral loops into your product
    • marketing
    • sales
      • automated – website checkout
      • inside – sales representatives at the store, or by phone
      • outside – “traveling salesmen”
    • branding (Apple = “Think different”, Red Bull = extreme sports, Nike = great athletes)
  • Use OSS and buy SaaS solutions for everything, but your competitive advantage (“secret sauce”).
  • Align tech stack with current market trends (in 2020 it’s much easier to hire React developer than Backbone developer).
  • Against Joel Spolsky opinion that rewrite is worst thing you can do, these days startups often change technologies (Twitter migration from RoR to Scala, Coursera moved from PHP to Scala or¬†AirBnB is moving from React Native to pure native). Thus do not worry too much about stack choice – treat it as it will eventually be rewritten. Microservice architecture over monolith helps with that!
  • Keep code clean! Good naming, conventions, DRY, SRP, tests. It can bite even within first year. Especially because at¬† Startup you will be constantly evolving existing code!
  • Company culture (mission and values) helps to avoid processes. People can trust each other to do the right thing.
  • First 5-10 hires can kill or make your company successful. Look for: “smart and get things done“, culture fit, communication skills and “would you be ok reporting to them?”.

This book is GOLD! I strongly recommend everyone to read it. Besides awesome 360 overview of startup World, there is a lot of great insights into everyday developer’s life. It’s worth to remember that pretty much every tech company is a startup…just in different phase.

If you are still in doubt, this book has 4.9/5 rating on Amazon and 4.45/5 on goodreads!

There is one quote from the book that I would like to finish this summary with:

I started asking, “What are the important problems of your field?” And after a week or so, “What important problems are you working on?” And after some more time I came in one day and said, “If what you are doing is not important, and if you don’t think it is going to lead to something important, why are you at Bell Labs working on it?”

Richard Hamming, You and Your Research