When I started studying computer science in 2003, working for a Big Tech company was a dream almost impossible to reach for me. I was born and raised in Spain, and that’s also where I went to college. Studying over 5000 miles away from the tech scene of Silicon Valley had an interesting effect on me, I’d watch Apple’s tech events and Microsoft’s product announcements as if they were Hollywood movies. I could never imagine myself being part of them.
The main reason why Big Tech companies felt unreachable was because none of them had software development centers in Spain. The only way of working for companies like Microsoft or Google as a Software Engineer was to move to another country, which made the dream feel more unattainable on top of the already challenging interview process. A lot of talent was left untapped in Spain, and a lot of engineers who dreamed of an opportunity in Silicon Valley never got it.
The coronavirus crisis, with all its ‘working from home’ and social distancing recommendations, has probably transformed your social life into a succession of video chats. Your boss, your doctor, your family, your friends, they all want to see your face and tech is here to help. Or is it?
It’s Saturday morning, and my phone has been burning for the past few hours. Just after I wake up, I stare at the screen and I have several messages from my parents, who live on the other side of the world, telling me that they miss me and that they are ready to talk.
As an immigrant in this country and with all my family living in Spain, this is not an unusual situation at all. Keeping in touch with your loved ones across different time zones and geography is challenging enough already. You have to add the technological breach existing between their generation and mine to make a perfect cocktail for frustration and bad quality communication.
Have you ever had to add your signature to a document and send it over email? No, you don’t need a printer or a scanner. Did you know that you can do this for free with just your iPhone? Read on to learn how.
Capitol Hill, Seattle. That’s the location of the most futuristic supermarket on the planet, the Amazon Go Grocery store. Today it opened its doors to the general public for the first time, and this was my experience.
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.
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.
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.
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.