-
Embrace innovation.
For innovation to
flourish, everyone must be able to
→
experiment,
learn, and
iterate.
Force developers to focus on
→
value
delivered to the customer
instead of building technology first and then figuring how to
use it. Before starting
developing a new product, draft a press
release and FAQ document to explain the thesis behind the
product and
why the world needs it, as well as to address
difficult questions that users might have about it.
Expose real customers to a choice and
see which one works best
and make decisions based on those tests. Measurement must rule.
-
Embrace simplicity.
Simplicity is the key if you really want to build large
distributed systems. The only way to manage a large distributed
system is to keep things as simple as possible. Keep things
simple by making sure there are no hidden requirements and
hidden dependencies in the
design. Cut technology to the minimum
you need to
→
solve the problem
you have. A service design should
be as minimal as possible.
-
Development velocity is extremely important.
Adhere to
→
core principles
and processes. Use a homogeneous,
standardized and tightly integrated infrastructure environment.
Deploy
innovative technologies.
-
Improve continuously.
Your every-day job is to make every important aspect of the
customer experience a little bit
→
better. Keep investing in
systems, people and product expansion, each of which helps you
better
serve customers.
-
Be a long-term focused company
and be very clear about your
→
strategy.
-
Create an
→
inspiring
and frugal culture.
Culture is a very important part of the whole thing. You must
have everyone on the same page and striving toward the same
→
vision.
-
Define a set of
→
leadership
principles
against which everyone is expected to measure themselves — and
against which they’ll be measured come
review time.
-
Build great
teams.
Look for three things in interviews: enthusiasm,
→
creativity,
competence.
→
Teams
should be small, assigned authority and empowered to
→
solve a problem
as a service in anyway they see fit. Establish
cross-organizational teams to solve complex system-wide
problems.
Open up your system with application program interface (API) and
create an ecosystem around your application. APIs make it
possible for each product team to work with other teams’
products independently, to build services that work well
together without the teams necessarily having to work closely
together.
-
Empower
→
innovators.
Any organization that depends on
→
innovation
must embrace
creative chaos, not, loyalty and obedience.
Innovation can only come from the bottom. Those closest to the
problem are in the best position to
→
solve it.