00:00:08.160
Good evening, everybody. It's great to be here! I was looking forward to this event to meet all of you, the people I've heard so much about.
00:00:14.940
So, it’s great to be here in person and stand in front of you.
00:00:20.580
Today, I would like to talk about how we can grow as engineers. We will explore our problems from the user perspective and from the product perspective.
00:00:26.640
Initially, this talk was supposed to be about cross-functional teams, but then I realized that it’s not only about those teams; it’s also relevant to any team that is working on a product.
00:00:33.210
Could those who know what that is raise their hand?
00:00:40.019
Yes, most of you. And who among you liked to play with Legos as a kid? I did too; we all like to build things.
00:00:46.610
Before we go further, let me give you an idea of what we build.
00:00:53.730
We build products for external clients as well as for ourselves. On external projects, we perform a wide range of functions.
00:01:00.960
We start with engineering and design, but we also do product management.
00:01:06.840
When it comes to our own products, we use the same knowledge and approaches that we've acquired over the past 11 years to build the things that we need and those we believe others will need.
00:01:12.300
My focus is primarily in the labs, where I work on one of our own products.
00:01:17.970
This allows me to gain full experience from both the code side and the product side.
00:01:24.360
We don’t do what clients want; we do what they need.
00:01:29.869
That's something that sets us apart from outsourcing companies.
00:01:36.509
Five years ago, I was thrilled to join an interesting new project with a smart team.
00:01:42.149
It was my first international team, and we had a great client; it couldn't have been better.
00:01:48.539
I felt creative and inventive as we faced various challenges.
00:01:54.209
We were given freedom of choice with our technology stack.
00:02:01.530
We delivered new features and progressed remarkably.
00:02:06.780
However, after eight months, it was over; the client ran out of money, and nobody wanted to use what we built.
00:02:13.290
In the end, we had only an eroding repository on GitHub left from that enjoyable project.
00:02:20.010
We had to shut it down, winding down the entire AWS infrastructure, and ultimately, the code died with the product.
00:02:26.640
The main takeaway is that we tend to build the wrong things.
00:02:33.210
The wrong things do not withstand the test of time.
00:02:39.340
How many of the products you've worked on are still helping people?
00:02:46.270
Well, I did the math, and in my case, almost half of my professional work is gone; it no longer helps anyone.
00:02:53.730
If my current project fails, this number will only increase, and I wouldn't want to see that.
00:03:01.530
To put that in perspective, I could have earned another bachelor's degree in the time spent working on products that serve nobody.
00:03:07.750
Research shows a lot of companies fail; different studies suggest that four out of five startups fail within the first 18 months.
00:03:14.560
Others say that 50% of companies fail within the first five years, and another states that 70% do not survive or reach ten years.
00:03:21.070
That's a significant amount of failure.
00:03:27.780
Does anyone know what this is? Yes, you know.
00:03:35.550
This is Blockbuster, a DVD rental company from the U.S. that was quite successful.
00:03:42.900
Founded in 1985, it had over 9,000 stores across the U.S. by 2004.
00:03:49.750
However, Netflix killed Blockbuster.
00:03:56.840
Imagine a nice evening when you want to watch a movie, only to drive to Blockbuster to browse through shelves.
00:04:05.220
There's no search function; you have to browse yourself.
00:04:12.820
When you finally find it, you might bring home the wrong version.
00:04:19.320
If you don’t return it on time, high fees apply, which was how Blockbuster made most of its money.
00:04:26.800
Then Netflix came along, launching in 1997.
00:04:33.410
It offered DVD rentals and sales through a website, eliminating the need for physical store visits.
00:04:39.620
With a subscription model and an advanced recommendation system, they gained traction.
00:04:46.690
Blockbuster dismissed Netflix’s ideas, thinking nobody would want it.
00:04:54.840
In 2007, Netflix introduced streaming, and the rest is history.
00:05:01.600
Today, Blockbuster is out of business, with only six franchise stores remaining.
00:05:08.700
And the core reason is the absence of market need.
00:05:15.420
Do you think Facebook was the first social media platform? Most likely not.
00:05:22.080
There were earlier social networks; however, Facebook emerged when technology allowed more.
00:05:29.040
Their success was a consequence of improved internet infrastructure.
00:05:36.600
Going digital meant going global, eliminating the need for physical copies.
00:05:42.730
People use products that enhance their lives.
00:05:49.290
So, why do you choose one messaging app over another?
00:05:55.710
Is it really just about the code? If not, why assume others care about it?
00:06:01.880
In reality, code is merely one aspect of building products.
00:06:08.720
Product success depends on addressing real user problems.
00:06:14.180
Users don't care if the code is perfectly clean; they care about solutions to their problems.
00:06:20.990
What they pay for is the value the product delivers.
00:06:27.110
Focusing on solving user problems can increase revenue.
00:06:35.160
As the value we provide increases, so can our salaries.
00:06:40.960
Now, let’s discuss shipping.
00:06:49.859
I wanted to show you a short video.
00:06:54.460
This video is a time-lapse recorded on a container ship.
00:07:01.220
Can you see it? (pause) Great, let's move on.
00:07:07.229
Isn’t it spectacular? This tropical storm looks nice; perhaps because we spend so much time on land.
00:07:14.329
Imagine a trip from Santiago, Chile, to Taipei, Taiwan. It takes four weeks.
00:07:20.599
Can you fathom being on a ship for weeks with just containers, water, sky, and clouds?
00:07:27.339
No phone, no internet, limited contact with family and friends.
00:07:34.940
Staying connected through messaging would mean a lot.
00:07:41.359
That map I showed you comes from a product that connects distant families.
00:07:47.730
For nearly 50 years, KVH has been enabling people to stay connected via satellites.
00:07:54.240
They envisioned this long before the internet existed.
00:08:00.620
It’s unfortunate that job descriptions aren't framed this way.
00:08:08.160
We build products for people, by people, and improving lives gives us a sense of power.
00:08:15.040
We all remember the first time we tinkered with code and it worked.
00:08:21.739
It’s a powerful feeling that connects us to the world.
00:08:28.859
This relevance keeps businesses alive for years to come.
00:08:34.460
They're not tied to specific technology or products.
00:08:40.500
Now, let’s talk about planning meetings.
00:08:47.239
We all love them, right? Well, for some, it's a part of their day job.
00:08:53.050
Imagine you're a sales representative. Your main goal is to schedule as many meetings as possible.
00:09:00.560
Scheduling meetings via email can be hell because you risk overbooking.
00:09:06.820
This leads to the so-called email ping pong.
00:09:14.790
Five years ago, the creator of a product came to us with an idea.
00:09:20.790
His goal was to enable booking directly into the calendar.
00:09:27.195
Imagine that whoever comes first gets served first.
00:09:33.010
He wanted to integrate multiple calendars at once: Google, Microsoft, and Apple.
00:09:38.860
We advised him against that idea because we recognized Google’s potential.
00:09:45.500
Google is widely used by companies due to its low cost and minimal configuration.
00:09:52.900
Focusing on one thing helped us validate the market.
00:10:01.070
This allowed us to refine the product before introducing other integrations.
00:10:07.680
Now, it has five million users.
00:10:14.720
The main takeaway here is that not all problems are equally pressing.
00:10:20.680
We need to prioritize the important issues over the urgent ones.
00:10:27.060
It’s easy to get caught up in what seems urgent, neglecting what holds long-term importance.
00:10:34.950
In software, we often jump into coding right away.
00:10:42.510
Instead, we should be asking simple questions, like: What user problem does this story address?
00:10:49.560
By putting users at the center of our focus, we can identify high-value problems to tackle.
00:10:56.100
This approach ensures we address both urgent and important matters.
00:11:02.880
Finding the right problems is the first step; the next is figuring out how to solve them.
00:11:10.600
Do you find it difficult to keep an entire problem or solution for a story in your head?
00:11:17.920
I do, and I used to run in circles, feeling lost.
00:11:25.090
This uncertainty leads to a lack of progress.
00:11:31.260
We end up recreating partial information, losing track of the overall picture.
00:11:39.180
Without a clear understanding, we can't explore a problem or solution ranch.
00:11:45.279
You're stuck with just one solution, missing out on many potentially better options.
00:11:51.470
But what if I told you there's an approach to overcome this?
00:11:58.490
It’s simple and can feel like a superpower.
00:12:04.800
This approach consists of two components: issue and idea.
00:12:12.380
In a project, you outline benefits and risks, creating an implementation plan.
00:12:19.500
This method can be applied to anything, simplifying your thought process.
00:12:26.570
For example, in one of our stories, we encountered performance issues retrieving tickets from JIRA.
00:12:33.739
I began mapping out issues and ideas, clarifying the problem.
00:12:40.509
Each idea had its own issues to address, helping to see variations.
00:12:46.880
Essentially, this approach captures your thoughts, guiding your exploration.
00:12:53.600
It allows you to tackle short-term, mid-term, and long-term solutions.
00:12:59.760
This understanding ultimately aids in refining your tasks.
00:13:05.240
You can effectively communicate your findings to stakeholders.
00:13:11.600
This helps them make informed decisions regarding priorities and resource allocation.
00:13:17.560
Another critical aspect to consider is understanding user needs.
00:13:23.170
Knowing where the product is heading affects our ability to address tech debt.
00:13:28.460
We can work on ensuring our architecture efficiently.
00:13:34.670
It's essential to analyze and understand before planning the next steps.
00:13:40.970
This clarity allows you to split responsibilities articulately.
00:13:47.540
Three years ago, I was an Android developer. There are many screen resolutions and densities, which requires various image sizes.
00:13:54.679
Usually, I was provided with assets for iOS, which posed challenges.
00:14:01.830
We often had inconsistencies between screens, causing issues with pixel-perfect deployments.
00:14:07.830
To address these problems, we requested sliced images.
00:14:14.780
After struggling for a year, we finally persuaded them to switch to Sketch.
00:14:21.390
With this approach, we created a plugin to cope with the cross-platform issues.
00:14:27.750
This resulted in diminished hassle while exporting to Zeppelin.
00:14:33.869
We had a choice: either complain or effect change.
00:14:39.780
Changing the environment helps everyone grow.
00:14:46.030
This dilemma illustrates the need to avoid siloed approaches.
00:14:53.660
Don't separate functions; work together to overcome the hurdles.
00:14:59.300
Consider the famous image of testing; unit tests work in isolation until integrated.
00:15:06.020
The focus should be on understanding dependencies and ensuring good communication.
00:15:12.780
You might think, 'Isn’t this not my job?' Well, in a collaborative environment, everyone plays a role.
00:15:18.800
Roles are like labels; they define expectations but shouldn't be limiting.
00:15:25.280
In product teams, there are three main roles: engineering, design, and management.
00:15:32.000
Engineering focuses on feasibility, design addresses user appeal, and management ensures viability.
00:15:39.600
As specialization increases, we need more translators to bridge gaps.
00:15:45.560
I've learned a new term: 'UX engineer.'