Time travel through 2010s technology: Part 2

In the first part of the series “Time travel through 2010s technology” we looked at how operating systems, phones, tablets, smartwatches and smartglasses changed through the last decade. The 2010s changed how we interact with technology, but more importantly, how we think about the impact it has in our lives.

So what happened in the last ten years? How did we get here?

Continue reading “Time travel through 2010s technology: Part 2”

Time travel through 2010s technology: Part 1

We are now close to the end of an important decade for technology, a decade that started without many of the innovations that today we consider part of the norm. Artificial intelligence at home, self-driving cars, wearable devices, supercomputers in our pockets… the 2010s not only changed the technology we use, but also how we communicate and think. Privacy has never been so critical as a selling point, and information bubbles have never been so polarizing. Today, we are at a turning point in the tech industry; it’s not clear what’s going to be the next revolutionary tech segment, or how companies are going to keep convincing customers to upgrade their various devices.

So what happened in the last ten years? How did we get here? The following areas have experienced substantial changes since 2010, making our lives considerably better in some cases, while taking a few surprising turns in some others. This is the first of a series of two posts that take a look back at a decade of tech evolution.

Continue reading “Time travel through 2010s technology: Part 1”

The cacophonies of distributed systems

If you have never heard about Deutsch + Gosling’s fallacies of distributed computing, you are missing out big time! I encourage you to check them out here. Those delusions are widely considered in the distributed systems field as some of the most painful assumptions any junior systems designer, or architect can make. I like to call them “career-limiting choices”.

When I first learned about these eight fallacies a few years ago, I decided I needed to keep them around. I wrote them in a piece of paper and taped it outside of my office. The piece of paper is still there, except that it now has eleven statements – I guess some random folks added a few more fallacies. 

Continue reading “The cacophonies of distributed systems”

Why the Microsoft Surface Duo is a big deal

In early October 2019, Microsoft borrowed a page from Apple’s keynote playbook and gave us a “one more thing” that nobody expected: a dual-screen Android-powered smartphone. Microsoft announced its return to the smartphone market with the Surface Duo (although they officially said “it’s not a smartphone, it’s a Surface”).

The reveal was surprising given that this is the first Android device ever produced by the software giant. It is not supposed to go on sale until late 2020, but the few minutes of footage that were shown mean a big deal for Microsoft. Here’s why.

A user receiving a phone call on the Surface Duo
Continue reading “Why the Microsoft Surface Duo is a big deal”

The Microservices Maestro

Something I really like about living in the city is the fact that it is made for the masses. Despite its many defects (the rain not being one), Seattle is architected to enable hundreds of thousands of people to go through their busy days. It has a transportation system that interconnects different areas, it mandates different land usage policies for parks, residences, commerces and schools, and it provides restricted parking zones. It is designed for walking (assuming you like hills), it provides easy access to hospitals and it is guarded by police and fire departments.

But Seattle wasn’t initially a big city, its growth is more of a work-in-progress kind of thing. Like many other cities including all-mighty New York, Seattle is constantly under development and re-planning so it can scale to support even more people. It needs more efficient transportation (think subway), bigger highways, more parking and more recreational areas and residential zones.

The similarities between city planning and software engineering are fascinating to me, they are well described by Sam Newman in his “Building Microservices” book. Just like cities started as small towns, most services started as simple servers sitting under someone’s desk, and processing a few hundred requests per day. Given some time and if the idea is right, a service may become popular —that’s a great thing to happen except that the challenge of increasing demand quickly turns into a problem of dealing with higher customer expectations. This is similar to how we expect better transportation and more efficient police enforcement when a town evolves into a city.

Continue reading “The Microservices Maestro”

How Disney+ and Prime Video will dominate the streaming wars

It’s the year 2030, and your family is getting ready to watch a movie on a Saturday night. You turn on the TV and pause to think which service you should use: Disney+, Prime Video or Netflix. You don’t have any more streaming services. You end up settling for “Avengers 7” on Disney+, a family favorite. Popcorn is ready.

Continue reading “How Disney+ and Prime Video will dominate the streaming wars”

Do you have a terrible software development manager or a great one?

At Amazon and other tech companies, interview candidates get a lunch break in between their on-site interviews, and a lunch buddy gets assigned to accompany them. This way they can ask any questions they have about the team, the position they are applying to, or anything else that might help them relax. I love acting as lunch buddy because I feel energized interacting with candidates in such an informal setting. This past week, one candidate asked me a very interesting question during our lunch: what do you think makes a good engineering manager?

Continue reading “Do you have a terrible software development manager or a great one?”