Review: The Way of the Web Tester

This is a book review of The Way of the Web Tester by Jonathan Rasmusson. Hat tip: Alister Scott.

A beginner’s guide to automated testing, though not specific to the web, despite the title. Covering the quintessential pyramid of UI, integration, and unit tests as well as basic building blocks of HTML, CSS, HTTP and REST APIs, and JavaScript. The book also spends time on best practices for general software programming and testing.

The goal for test automation, according to the author, is to have more time to do the fun things like developing new features, and less time on boring things like fixing bugs. We can’t test everything, yet “with the right 20%, we can sure test a lot.” Agreed. In broad strokes, this book debunks many common misconceptions of automated testing.

Don’t try to automate everything. Instead, automate just enough.

I love the dual audience of testers and developers, and how each chapter addresses the goals for each to learn in the coming text. The chapter ending summaries are handy. The text flows and the examples are easy to follow. Though a quick read, the book ends up covering important topics such as organization, naming, coupling, reusable code, and avoiding flaky tests by making them deterministic.

A few minor nitpicks: I found the metaphor of armor and mobility a tad confusing, and some of the humor seemed off-putting and unnecessary. As a beginner book I didn’t like how it conflated an important concept of CSS selectors and using similar syntax with jQuery to select elements by ID; in my opinion this difference should be understood at a beginner level. The author also doesn’t mention targeting data URIs in HTML attributes for selection, which seems to me to be worth a mention as a useful technique when working without relying on extra IDs or classes everywhere—such as legacy code or HTML output from third-party templates that you don’t control—and is present in popular JavaScript frameworks such as React.

I love the concept of a Developer Productivity team at a software company—at Spotify, Rasmusson describes a squad that went around killing and fixing flaky tests. Making things run better, making everyone happier. I think of Excellence Wranglers at Automattic as having a similar goal in our work as quality advocates.

The Way of the Web Tester does a great job introducing important concepts and covers the basics of automated testing, and I’d recommend it to everyone, even seasoned developers and testers.

 

Peak: Secrets from the New Science of Expertise

Book review for Peak: Secrets from the New Science of Expertise by Anders Ericsson and Robert Pool.

peak

This fascinating book takes a deep dive into how to harness the adaptability of your brain and body to achieve abilities that would otherwise be out of reach.

Focused and concise, illustrated with research, and bringing new science to light, I recommend this book to anyone interested in learning and improving.

The main premise is to explain that what we think about acquiring abilities is probably wrong. Are gifted people at a natural advantage to become experts? Can anyone apply certain techniques to achieve the same results as others? Does high IQ play a role?

Answers abound. There is no such thing as natural ability; anyone can become an expert by putting in the time. Illustrated with exploring prodigies through history, their skills reduce down to two questions: 1) What is the exact nature of the ability? 2) What sorts of training made it possible? Traits favorable to a task help at the beginning but don’t make a difference at high levels; it all comes down to your own effort.

But not just any effort. The 10,000-hour “rule” popularized by Malcolm Gladwell in Outliers: The Story of Success is not the full story—the how long isn’t as important as how. Just practicing over and over doesn’t lead to mastery as you’ll soon plateau and stop improving. Important to know that you aren’t reaching a set potential, you are developing your potential because it’s not a fixed state. Surprising to read about many studies showing adult brain plasticity and adaptability. The brain’s adaptability is incredible.

The key piece is deliberate practice: training with expert teachers, eliminating your weaknesses by forming mental representations that drive you consistently to great performance, and spending lots of time in private practice on the right things.

The best among us in various areas do not occupy that perch because they were born with some innate talent but rather because they have developed their abilities through years of practice, taking advantage of the adaptability of the human body and brain.

Since there are no shortcuts to expertise, and you aren’t born with natural advantages, to improve you must engage with your training and stick with it, getting out of your comfort zone to reach the next level. You can control your environment, and adapt to changes by learning new skills.

Deliberate practice is knowing where to go, and how to get there.

Pragmatic Thinking & Learning

Pragmatic Thinking & Learning, Refactor Your Wetware by Andy Hunt (2008) is sensible and matter-of-fact, a gem of a book that works well both as reference and as inspiration. A science-based lifehacker manual that serves as the ultimate guide to personal productivity.

ahptl

Full of tips, tricks, philosophies, and science behind how our brains function best for learning and thinking, the book covers topics such as reading and study habits, control over context and environment, trusting intuition while questioning everything, discovery and capture of ideas, and how to pay better attention. All tied to harnessing the power of opposite sides of the brain, creative versus practical, reactive versus thoughtful. Seeing both the forest and the trees.

Since the book is too full of useful information to summarize in one blog post, I’d like to share a few of my favorite parts.

Intuition and pattern matching replace explicit knowledge.

This echoes my philosophy of The Investigative Mindset where rules are not a substitute for clear thinking while considering the context. You can trust your intuition, yet you would do well to verify it by asking questions and digging deeper and keeping in mind your expectations and cognitive biases.

If you don’t keep track of great ideas, you will stop noticing you have them. Everyone has good ideas, fewer go further to keep track, act on them, and pull it off.

So true. Keep a journal, review it often, and take action on the best ideas. Share them with others for accountability, they can improve with feedback, or someone else can run with it if you don’t have time or energy to do so.

Rewire your brain with belief and constant practice; thinking makes it so.

This idea of mastery through constant, focused effort echoes what I’ve learned elsewhere, including a new book I’m excited about, Peak: Secrets from the New Science of Expertise (review to come soon).

A random approach, without goals and feedback, tends to give random results.

“You got to be careful if you don’t know where you’re going, because you might not get there.” —Yogi Berra

The best efforts need a plan, because if you work on a team like mine at Automattic you’ll know from experience that starting on things without a clear goal in mind, nor a plan on how to get there, without specific metrics to track it — means it’ll be almost impossible to measure the results.

I love the concept of SMART goals: specific, measurable, achievable, relevant, and time-boxed. Reminds me of Google’s Objectives and Key Results.

Read deliberately with SQ3R (scan, question, read, recite, review), which I find similar and complementary to Adler’s ideas on how to read books, as described by Ian Stewart.

You are who you hang out with: attitudes, behaviors, beliefs, and emotions are all contagious.

What does it take to stay sharp? Awareness. Learn to quiet your mind’s endless chatter, keep track of your ideas by working on and adding to your thoughts in progress, and avoid context switching.

Pragmatic Thinking & Learning is a must-read for all thinkers and learners. Hat tip: Nikolay Bachiyski.

Pride and Paradev

A book review for Pride and Paradev by Alister Scott.

hero

This is an entertaining and thought-provoking “collection of agile software testing contradictions”—exactly what it says on the tin.

After reading this book, I now identify confidently as a paradev: anyone on a software team that isn’t a specialist. Ever since my start in web development 12 years ago I’ve considered myself a generalist rather than a “pure” developer or designer because I don’t spend all my time building or creating new things. Software testing is an excellent fit for me because I love breaking things, finding details to make existing products better through improved flow and efficiency.

Using a quirky yet concise question-and-answer format, Scott covers such topics as “Are software testers the gatekeepers or guardians of quality?” (Yes, you can be an advocate of quality without being a gatekeeper; it all depends on your attitude, your tone, and how you present your findings.) and “Should acceptance criteria be implicit or explicit?” (Keep acceptance criteria focused on what is required, not what is obvious.) and “Do agile software testers need technical skills?” (Sometimes non-technical testers without the deep skill set see things with better eyes.)

This short and approachable book will make you think critically about software testing. Highly recommended for anyone working with software, not just us breakers.

[Available on Leanpub for iPad/Kindle/PDF.]

Review: Superforecasting

This is a review of Superforecasting: The Art and Science of Prediction by Philip Tetlock and Dan Gardner.

Although “Destined to become a modern classic” from the book jacket description might be a bit overstating the book’s impact, I did enjoy the reading it and came away inspired and energized. The style is approachable and authentic.

Beliefs are hypotheses to be tested—not treasures to be guarded.

In this book we learn who superforecasters are, why they are good at what they do, and how anyone can mimic their approach to improve their thinking.

81eccldB55LThe future, in the near term, can be predicted. This skill can be learned, practiced, and improved—and some people are much better at it than others.

Superforecasters are smart, but not genius-level and are comfortable with numbers and statistics. They live in perpetual beta. They exercise caution, nuance, and healthy skepticism while developing techniques and habits of mind to bring smart thinking for the future (and now). They are constantly belief-updating and fact-checking. In short, they are teachable.

They have:

1. A healthy appetite for information
2. A willingness to revisit and revise when new information arises
3. An ability to synthesize material from very different sources
4. An ability to think in fine gradations
5. A growth mindset: determination, self-reflection, and willingness to learn from mistakes
6. Awareness of their biases
7. Grit

Their methods:

1. Gather evidence from a variety of sources
2. Think probabilistically
3. Work in teams
4. Keep score
5. Be willing to admit error and change course

One favorite thread of mine in this book was how it addressed other impactful books like Thinking Fast and Slow from Daniel Kahneman and Black Swan and Antifragile by Nassim Taleb. As another book about meta-cognition (thinking about thinking) the authors weave elements of the other works into this one while both agreeing and disagreeing with their philosophies and techniques. The book feels pragmatic and up-to-date.

For example, Taleb’s black swans are unimaginable and impactful. In that view, forecasting will only interest short-term thinkers because it can’t predict black swans. However, the authors of Superforecasting argue—and I agree—that incremental change can be profoundly impactful. One style risks a lot for a rare huge win while the other pays off slowly, modestly, and more often.

Takeaway lessons for my work include: 1) think clearly, not too fast, and do the needed research 2) be willing to adjust and learn from evidence and new information 3) models are valuable even if not 100% accurate—they are simplified in order to explain and predict, and 4) keep going, keep learning.

Book Review: Quiet

I’d like to share my thoughts on the book Quiet, The Power of Introverts in a World That Can’t Stop Talking.

Quiet-Jacket

I thoroughly enjoyed this treatise of introverts versus extroverts. Filled with personal anecdotes as well as pertinent research and scientific theory, the book tells the story of introverted people and their quiet power.

My main takeaway is the idea of sensitivities—both externally and internally  focused—and how they motivate, describe, and prescribe our interactions with the world and other people.

Reward-sensitivity, as described in the book as a sign of extroversion, is something I can relate to. Pleasure seeking and excitement overrules your better judgement; I am impulsive at times and do things for immediate satisfaction. I need to learn the lesson from quieter spirits who pause for important feedback in order to be able to learn from it. Sometimes worrying about consequences and long-term results can lead to a better decision.

Cain also tells of people who are rejection sensitive being warm and loving when they feel secure, yet hostile and controlling when they feel rejected. Food for thought, at what point does controlling our behavior become futile or exhausting?

Introverts like people they meet in friendly contexts, extroverts prefer those they compete with.

This was a poignant reminder for me—I tend to both sides of the spectrum depending on the context, and it’s a good practice to look closely at my motivations and see how I’m acting. Is it appropriate? Out of touch?

I can relate to both reward sensitivity and rejection sensitivity. I feel like sometimes I’m critical of other people because I’m nervous that they’ll be critical of me. As a better way, I should be careful not to point out their mistakes and instead find gentler ways to communicate it. Or, just let it go and no longer try to be right but try to be happy.

Sometimes it pays to be quiet and gracious, to listen more than talk and you have an instinct for harmony rather than conflict. With this style you can take aggressive positions without inflaming your counterpart’s ego.

…by listening you can learn what’s truly motivating the person you’re negotiating with and come up with creative solutions to satisfy both parties.

Another idea described in the book is that of “free traits”—if something’s important to you, such as a service of love or a professional calling—you can put on the extroversion when you need it, and it isn’t fake because you’re being true to something that you love.

I absolutely loved the conclusion, titled “Wonderland”—it is inspiring and sums up the book nicely. I printed it out… To see what I mean, you’ll have to read the book.

I borrowed Quiet for a first read; I’ll be buying my own copy to dive into it again.

 

Book Review: Let My People Go Surfing

“Quality is absolutely objective and definable” is the main idea I got from this book. Patagonia founder and owner Yvon Chouinard tells the story of his journey of starting a company, defining its quality and ethical standards, and running it sustainably through the years.

My favorite passage that relates directly to my work at Automattic is about the questions designers at Patagonia ask to see if each product fits their standards—things like functionality, durability, simplicity, authenticity, and timeliness. I loved reading about their central tenet of concurrency versus assembly line production. Every product decision involves the designer and producer at all stages, and they work together until it’s done.

Recommended if you love reading about products and companies, as well as an intimate look at a very popular outdoor clothing and equipment company.

Many of the principles built into Patagonia’s standards can and should apply equally to software and product design. Here are some of my favorite bits from the book.

Without a serious functional demand we can end up with a product that, although it may look great, is difficult to rationalize as being in our line—i.e., “Who needs it?”

This is relevant to building web apps or products—who’s going to use your app? Is it needed in the marketplace? Does it add value? As product builders and managers we should cut out products no one uses. They clutter up our codebase and confuse users away from our core products that help them the most.

The best restaurants in the world have set menus, and the best ski shops have already decided which skis are best for your skill level.

Make the best choice for people. You know how your product works intimately, and you use it yourself. Design for that core use case and you’ll find your software helps other people, too, naturally. This goes well with the WordPress project’s philosophy of decisions, not options.

The best-performing firms make a narrow range of products very well.

I love this since it requires you focus on doing one thing really well—a principle espoused by software greats like Microsoft, Apple, and Google.

Moreover, we carefully define, rather than just assert, what makes each product the best of its kind.

This is important for the why below the what. Explaining your philosophy and why it’s important—and carefully building your products to match that creed—rather than just saying you do things the right way.

Market trends are less important than strong intuition.

As a craftsperson, go with your instincts born from experience and intuition and pay less attention to what everyone else is doing. Don’t just copy your competition. If you follow your own way, you’ll innovate and they’ll soon be copying you.

Photo credit: Tom Walker, Flickr.


surfing

This is my book review of Let My People Go Surfing, The Education of a Reluctant Businessman by Yvon Chouinard—founder and owner of Patagonia clothing and equipment company, based in Ventura, California, USA.

See more of my book reviews and check out my Goodreads profile.

The Power of Habit

My review of The Power of Habit: Why We Do What We Do in Life and Business by Charles Duhigg.

… once you understand that habits can change, you have the freedom—and the responsibility—to remake them. Once you understand that habits can be rebuilt, the power of habit becomes easier to grasp, and the only option left is to get to work.

This book breaks down habits into small, understandable pieces—at its simplest a 3-step loop of cue + routine + reward. The narrative style is easy to grasp, in the vein of Malcolm Gladwell and Freakonomics.

habit-book-cover

Wonderfully illustrated with examples of both good and bad habits, from alcoholism and gambling to workplace safety and employee willpower. Duhigg describes willpower, self-discipline, the power of belief as “keystone habits” that can create a structure for widespread change.

The stories and examples explain the central idea of the book: habits can be changed if we understand how they work. In the 3-step loop for a negative habit like overeating, for example, the cue and reward remain the same but the routine changes to a healthier one. And, importantly, small changes—no matter how tiny they may seem—fuel bigger ones.

Habits are powerful, but delicate. They shape our lives far more than we realize—they are so strong, in fact, that they cause our brains to cling to them at the exclusion of all else, including common sense.

My biggest takeaway is a motivation to think critically about my own personal habits, as well as the keystone habits and cultural values of my workplace. Raising my awareness is the first step to understanding my habits, and identify which ones I should change.

(Props Matt for the recommendation.)