Learn more about computerscience with this collection
Essential product management skills
How to work effectively with cross-functional teams
How to identify and prioritize customer needs
While all developers create abstractions, experts design them. A good abstraction makes evident what is important, both in what it does and how it does it. Through a single lens, it communicates the problem it solves and the machinery of its solution.
Experts are not satisfied with just any abstraction, they deliberately seek elegant abstractions through which complex structures can be introduced, understood, and referred to efficiently.
2
28 reads
MORE IDEAS ON THIS
Design regularly involves error: things that “go amiss,” misunderstandings, obstacles, wrong turns, emergent issues. Rather than fearing error, experts embrace error as opportunity.
They accept it as an inherent part of design and take time to explore both...
2
23 reads
Experts are acutely aware of users. They deliberately involve users in the design process, studying them, talking to them, engaging them in testing intermediate designs, and even asking them to take an active role in the design team.
Yet experts do not take everythi...
2
38 reads
Experts imagine how a design will work — simulating aspects of the envisioned software and how the different parts of the design support a variety of scenarios.
When working with others, experts regularly walk through a design by verbalizing its operation step-by-step. Whe...
2
20 reads
Experts often step back from the stated problem and consider the problem space more broadly, looking for alternative ways of understanding “what the problem is.”
They may change direction by reconceiving the problem space, or by addressing a different problem in the same s...
2
23 reads
While it is natural to focus on what a design must accomplish, experts also spend time thinking about what a design is not intended to do.
In articulating and considering boundaries, they discover where they are over- and under-designing.
2
20 reads
In the same way that architects walk cities to examine and take inspiration from existing buildings, software experts examine the designs of other software to “see how they did it.”
They frequently do so in response to a particular challenge they face, but they often also ...
2
22 reads
Every design problem has an essence, a core set of considerations that must be understood and “nailed” in the design solution for it to solve the problem successfully.
This essence can be disruptive: changes in the core drastically alter the peripheral decisions that need to be ma...
2
20 reads
Read & Learn
20x Faster
without
deepstash
with
deepstash
with
deepstash
Access to 200,000+ ideas
—
Access to the mobile app
—
Unlimited idea saving & library
—
—
Unlimited history
—
—
Unlimited listening to ideas
—
—
Downloading & offline access
—
—
Personalized recommendations
—
—
Supercharge your mind with one idea per day
Enter your email and spend 1 minute every day to learn something new.
I agree to receive email updates