Shawn Wang
100 Bytes of CSS to look great everywhere
An Article by Shawn Wanghtml { max-width: 60ch; padding: 1.5rem; margin: auto; line-height: 1.5rem; font-size: 24x; }
Metrics have a strange hold on the imagination
A Fragment by Shawn WangOnce in place, metrics have a strange hold on the imagination: I've seriously had a CTO carelessly reject my genuine idea out of hand because "it doesn't help OKRs", the same OKRs we previously agreed should not describe all that we do.
I agree with Amir Shevat that we should "do the right things over the easy to measure things."
The Genius of Apple's Name
An Article by Shawn WangIt's easy to have strong opinions about stuff only developers see since user validation is just asking people like yourself. It's much harder to name something consumer facing. Here are some useful rules I gleaned from Apple:
- Two syllables max
- Familiar English word - literal 5 year olds can spell and pronounce it right
- Starts with A - useful for alphabetical sort. Amazon did this too
- Name leads to easy logo/swag/branding ideas
- Evoke aspirational qualities - knowledge, health, nature
Don't Rush to Simplicity
An Article by Shawn WangYou've probably heard this story before:
A businessman finds a fisherman, who is living an idyllic, peaceful life by the sea.
He laughs and tells the fisherman how to get rich instead.
The fisherman asks him what he will do after he gets rich.
He replies that he would retire to an idyllic, peaceful life by the sea.There's supposed to be a deep life lesson in there, but it's always felt insincere to me.
To me it is better to have reached the heights of a career, or suffered an epic defeat, even if I do end up in the same place as everyone else in the end.
To me simplicity is made more beautiful when understood through a long personal struggle with complexity. When I can dance with it, having turned a mighty nemesis into an old friend, and teach others to do the same.
Better to have loved and lost, than never to have loved at all.
80/20 is the new Half-Ass
An Article by Shawn WangThe Pareto Principle is making you lazy.
Let me be more precise: The Pareto distribution is a useful model of power law effects in real life. But people are using it poorly, primarily as an excuse to be lazy.
...People forget that the devil is in the details. The first 20% everyone knows to say on Twitter. The remaining 80% is the ugly, nasty, hacky, unglamorous shit nobody talks about unless you've got time to sweat the details.
Manifesto for Agile Software Development
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
Deliver early and continuously
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Welcome changing requirements
Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
Self-organizing teams
The best architectures, requirements, and designs emerge from self-organizing teams.
Technical excellence and good design
Continuous attention to technical excellence and good design enhances agility.
Agility and sustainability
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
The amount of work not done
Simplicity—the art of maximizing the amount of work not done—is essential.
The primary measure of progress
Working software is the primary measure of progress.
Build projects around motivated individuals
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
Deliver working software frequently
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Business people and developers
Business people and developers must work together daily throughout the project.
Face-to-face conversations
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Reflect, tune, adjust
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.