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.
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.
The Apple Card is finally here, offering a flashy titanium card engraved with your name next to Apple’s logo. Is it the best credit card in the market? And if it isn’t, why is there so much hype around it?
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?
As a product manager, it is critical to have a meaningful roadmap with a backlog of work. Being able to ideate and constantly iterate makes our products better. However, it is critical that we are able to find which of our ideas are going to be the most impactful ones. Over the past year, my team has been working on refining how we approach this and found some things work better than others. The following are some of the things we found really useful.
1.Understand the goal – the first thing you must do is to really understand what is the goal you and the business are trying to achieve. If there is any misalignment you must align before continuing. It was amazing how many times we went and implemented things where the goal was not understood, or it was misaligned. Having understood this from the beginning would have saved us a lot of time and resources. Understanding the goal will take you to different paths, for example, a goal of driving adoption will lead you to do different things than driving for revenue or usage. If you do not understand this, you will cycle and leave things to chance.
When Nintendo released the Switch on March 2017, it became an instant sensation. Supply constraints made getting a console difficult, and the problem lasted months. When I finally got mine, I was impressed with its versatility; easy to use, powerful, compact, and fun!
Now, over two years after the Switch launch day, the console’s growth is starting to slow down. Nintendo has been focused on expanding its use cases with experiments like Labo, but hasn’t updated any part of the console.
Almost a year ago, Amazon unveiled in Seattle the first store offering no checkout lines, no cashiers, and almost no human interaction: Amazon Go. I reviewed the store the very first day it opened and I wrote about my experience and the many tests I did on that first visit. I called it “the future of retail” on my review.
Since that chilling Seattle night in January, Amazon opened a few more Go stores across the U.S. and even started experimenting with a smaller fully-unattended version. Other industry players have also been making progress, and when Microsoft and Kroger announced that they were testing a futuristic grocery store, I knew I had to try it.
Every time I go back home to Spain, I spend a considerable amount of time tuning up my family’s devices. My mom’s Surface is stuck on some big update, my dad’s phone doesn’t have the Weather app that he wants, etc. Technology nowadays is more complicated than it should be, and older generations are not usually well equipped to troubleshoot issues. Nonetheless, most tech companies are working towards a future without complicated user interfaces, a future controlled by natural language commands that even a 5 year old can master. Artificial intelligence is at the center of this future.
Thousands of people unwrapped new and shiny iPads the morning of Christmas Day. Many of them will attempt to use the new device as their only computer, and they will need the right setup in order to succeed. I’ve been using an iPad Pro as my main computer for six months now, and having an organized home screen is the secret sauce for making it possible.