☕ Amazon's big bet

Amazon wants to train 30 million people to work on cloud computing. Tensorflow 2.4 is here! Ryan Selkis wrote an amazing report on trends in the crypto industry in 2020 and a google interview question

Hi Everyone!

Hope you’re all having a fantastic day!

Tech Dive

Our next tech dive will be on the basics of Distributed Systems!

With microservices being all the rage, distributed computing is more important now than ever!

We’ll be talking about the challenges that come about when you’re working with a distributed system and the potential solutions.

Stay tuned!

Our last tech dive was on Database Sharding!

Snippets

  • Tensorflow 2.4 is here! There is increased support for distributed training with tf.distribute getting support for asynchronous training of models. Check out Google’s docs on Parameter Server Training to learn more. The Keras mixed-precision API is now a stable API. Also, the TensorFlow Profiler has become more powerful and allows you to profile MultiWorkerMirroredStrategy jobs.

  • How can you measure your productivity as a developer? Isaac Lyman wrote an interesting blog post for Stackoverflow’s Blog where he talks about common metrics and why they suck. TLDR? Ignore individual performance and focus on team performance. Measure that with Velocity, an aggregate measure of tasks completed by a team over time.

  • Crypto Markets have gone crazy in 2020 with Bitcoin reaching a new all-time high. Ryan Selkis wrote an amazing overview of the trends in the space with Decentralized Finance, Stablecoins, Web 3.0, and more. Ryan discussed the report with Balaji Srinivasan (ex-CTO of Coinbase, previously a partner at Andreessen Horowitz) in a 2-hour interview. Balaji has extremely interesting thoughts on using crypto to build new countries.

Industry News

Amazon wants to train 29 million people to work in the cloud

Amazon Web Services is a money-printing machine. It posted $11.6 billion dollars in sales for the last quarter, up 29% from a year earlier. It’s also extremely profitable, with AWS accounting for more than $3.5 billion of Amazon’s $6.2 billion dollars of operating income for the quarter.

The biggest challenge Amazon is facing for AWS is talent. The company sees massive talent shortages in everything from entry-level cloud support positions to machine learning engineers.

Amazon plans on solving this talent shortage problem by investing massively in training. The company’s goal is to train 29 million people (worldwide) on cloud-computing related skillsets by 2025. The company is doing this through free courses available on AWS’s website. Courses on things like Data Science, Data Platform Engineering, DevOps, and more. Keep in mind though, that since it’s training by AWS… all the courses are going to be on AWS products.

This creates a BIG competitive advantage for AWS in their quest to beat competitors like Microsoft Azure and Google Cloud Platform. When companies consider which cloud provider to use, one important consideration is how difficult it will be to find talent that understands the specific cloud provider.

If there are far more AWS certified cloud architects, then that’s a point for AWS over GCP/Azure.

The US Government’s lawsuit against Facebook may significantly affect the API ecosystem

The US Federal Trade Commission is suing Facebook for anti-trust violations. Part of the lawsuit is Facebook’s acquisitions of WhatsApp and Instagram. However, another part of the lawsuit is Facebook “using their API as a tool to cut off potential competitors”.

When Twitter launched Vine (remember Vine?) they allowed users to connect with friends via Facebook’s API. Facebook’s Director of Platform immediately sent an email out to employees detailing how Facebook would react by shutting down Vine’s Facebook Friends API access.

Mark Zuckerberg responded with a short “Yup, go for it”.

The same year, a location-based photo-sharing app called Circle was taking off. Circle depended heavily on the Facebook API for growth. Internal Facebook emails show FB executives discussing how Circle is duplicating Facebook’s social graph and doing an excellent job at it. They also talked about how Circle could become a competitor to Facebook.

The discussion was then made to shut off Circle’s access to the Facebook API. Circle shut down several months later.

The FTC is using these examples to argue that Facebooks’s anticompetitive use of its APIs allowed it to build a monopoly. The FTC is demanding that Facebook be forced from imposing anticompetitive conditions on access to its data and APIs.

These kinds of restrictions, however, would have big ripple effects on the API economy as a whole. Many companies that offer APIs will restrict access to partners who are treading too closely on their core business.

If the FTC is able to set this precedent, this could leave API-driven companies facing a slew of complaints from developers if they feel the rules are being used to harm them.

Additionally, this may make companies more restrictive around their public APIs as a whole.

Interview Question

Write a program to solve a Sudoku puzzle by filling the empty cells.

A sudoku solution must satisfy all of the following rules:

  1. Each of the digits 1-9 must occur exactly once in each row.

  2. Each of the digits 1-9 must occur exactly once in each column.

  3. Each of the digits 1-9 must occur exactly once in each of the 9 3x3 sub-boxes of the grid.

The '.' character indicates empty cells.

We’ll send a detailed solution tomorrow, so make sure you move our emails to primary, so you don’t miss them!

Gmail users—move us to your primary inbox

  • On your phone? Hit the 3 dots at the top right corner, click "Move to" then "Primary"

  • On desktop? Back out of this email then drag and drop this email into the "Primary" tab near the top left of your screen

Apple mail users—tap on our email address at the top of this email (next to "From:" on mobile) and click “Add to VIPs”

Previous Solution

As a refresher, here’s the previous question

Write an algorithm that searches for a target value in an m x n integer matrix.

The matrix will have the following properties

  • integers in each row are sorted in ascending from left to right

  • integers in each column are sorted in ascending from top to bottom

Solution

We can solve this question by starting at the top-right of our array.

All the integers to the left of our starting point are less than the starting point.

All the integers below our starting point are greater than the starting point.

We compare our target value with the starting point.

  • if they’re equal, then we return True

  • if the target is less than our starting point, we move left

  • if the target is greater than our starting point, we go down

If we’ve exceeded the bounds of our matrix, then we return False.

The time complexity is O(m + n) because every iteration we eliminate one row or one column when we move down or left.