Timothy Ferriss‘ “The 4-Hour Workweek” might be my favorite book this year. Tons of lessons about how to be productive, as well as how to enjoy life to the fullest, and reading the book has left me excited about the future while reconsidering many of my other choices.
Some favorite takeaways:
- The perfect job is the one that takes the least time. The goal is to free time and automate income.
- ‘If only I had more money’ is the easiest way to postpone the intense self-examination and decision-making necessary to create a life of enjoyment – now and not later. Busy yourself with the routine of the money wheel, pretend it’s the fix-all, and you artfully create a constant distraction that prevents you from seeing just how pointless it is. Deep down, you know it’s all an illusion, but with everyone participating in the same game of make-believe, it’s easy to forget.
- What are you waiting for? If you cannot answer this without resorting to the previously rejected concept of good timing, the answer is simple: You’re afraid, just like the rest of the world. Measure the cost of inaction, realize the unlikelihood and repairability of most missteps, and develop the most important habit of those who excel, and enjoy doing so: action.
- Retirement as a goal or final redemption is flawed for at least three solid reasons:
- It is predicated on the assumption that you dislike what you are doing during the most physically capable years of your life.
- Most people will never be able to retire and maintain even a hotdogs-for-dinner standard of living. Even one million is chump change in a world where traditional retirement could span 30 years and inflation lowers your purchasing power 2-4% per year. The math doesn’t work.
- If the math doesn’t work, it means that you are one ambitious hardworking machine. If that’s the case, guess what? One week into retirement, you’ll be so damn bored that you’ll want to stick bicycle spokes in your eyes.
- If it isn’t going to devastate those around you, try it and then justify it. Get good at being a troublemaker and saying sorry when you really screw up. Ask for forgiveness, not permission.
- Ninety-nine percent of people in the world are convinced they are incapable of achieving great things, so they aim for the mediocre. The level of competition is thus fiercest for ‘realistic’ goals, paradoxically making them the most time- and energy-consuming. So do not overestimate the competition and underestimate yourself. You are better than you think.
- Doing something unimportant well does not make it important. Requiring a lot of time does not make a task important. What you do is infinitely more important than how you do it. Efficiency is still important, but is useless unless applied to the right things.
- Remember that most things make no difference. Being busy is a form of laziness – lazy thinking and indiscriminate action. Being overwhelmed is often as unproductive as doing nothing and is far more unpleasant. Being selective – doing less – is the path of the productive. Focus on the important few and ignore the rest.
- If you haven’t identified the mission-critical tasks and set aggressive start and end times for their completion, the unimportant becomes the important. Even if you know what’s critical, without deadlines that create focus, the minor tasks forced upon you (or invented) will swell to consume time until another bit of minutiae jumps in to replace it, leaving you at the end of the day with nothing accomplished.
- The key to having more time is doing less, and there are two paths to getting there, both of which should be used together:
- Define a short to-do list
- Define a not-to-do list
- Don’t ever arrive at the office or in front of your computer without a clear list of priorities. There should be no more than 2 mission-critical items to complete each day. Never. It just isn’t necessary if they’re actually high-impact.
What: Create executable specifications for an ongoing project sprint. Executable specifications are written examples of a business need that can be run anytime and acts as a source of truth for how applications behave. It is a living documentation of what our software does, and it helps us focus more on solving the unusual and noteworthy problems instead of wasting time with the ones that we know we shouldn’t have been worrying about.
- Join a software development team for one sprint duration.
- Discuss project tasks for that sprint with everyone.
- Ask about requirements examples and create executable specifications for those tasks as the application is being written.
- Refine the specifications when necessary.
- Continuously update the specifications until they pass.
- Keep the specifications running on a preferred schedule.
Why: To see if writing executable specifications alongside development is feasible during the duration of a sprint.
Limitations: Tester writes the executable specifications, programmers work as is.
- Writing executable specifications can be done during actual app development, provided that tester is experienced with the tools for implementing it and understands well why the need for such specifications.
- It is of course more beneficial if everyone in the team learn how executable specifications work and write/run the specifications, and why the need to implement it.
- It will take quite a long while before executable specifications becomes a norm in the existing software development process, if ever. This is a function of whether everyone believes that such specifications are actually useful in practice, and then building the skills and habit of including these specifications in the team’s definition of done.
Here’s one thing about software testing: it is a specialization that’s tough to pursue as a long-term career. It is difficult to know if you’ve become someone that’s remarkable at it. There are no degrees about software testing in school, people seldom discuss what it means (even among software development teams), and it’s hard to find mentors. It is common for software testers to start their profession in testing only by chance, like how I stumbled with the work myself, taking my first job because I wanted to work with computers (but having no experience in both programming and building computer networks) and because I needed some way of earning money. It was fairly easy to get into, but after being in the industry for quite some time I know how perplexing it is to build from the basics, how hard it is to find out where to go next.
Fortunately there are people like Rob Lambert, previously known as the Social Tester, who are concerned about helping other software testers in the industry. He wrote the Remaining Relevant and Employable in a Changing World ebook for software testers who really enjoy what they do and wants to stand out from their peers. It’s a great read, and reading and deeply thinking about other people’s ideas always play a huge role in learning many things connected to software testing as it does too in other fields of work, including how to get better at what what we do.
Some lessons from the book:
- Ensure that each and every day you are shipping something that pushes you towards the end goal.
- Learning and building your skills should be a core fundamental aspect to your life as a software tester. Learn about technology, industries, people, the product under test, yourself or your co-workers.
- Testing isn’t about conforming to standards. It’s about helping to deliver great software. It’s about more than test techniques and approaches. It’s about working with people, communicating clearly, understanding market conditions, embracing technology, understanding end user needs, influencing design, and a whole lot more besides.
- As a minimum, do no less than one hour of learning per day, ideally two.
- It isn’t the company you work for who are in charge of your career. It’s you.
I recently read Valve’s (yes, the company who created the Steam gaming platform) very interesting Handbook For New Employees. I didn’t know before that they are self-funded, and I didn’t know that they do not have any management until now. Valve is flat, no hierarchy, even if there is a founder; a fascinating, curious way of working for a software and entertainment company, an entirely different way of building products compared to what most businesses do. It’s challenging to imagine how their software development processes really run in the wild, and it might not be applicable to what we do right now, but it is worth understanding why they do the things they do. Maybe some of those things can help us too.
Some favorite lines from the handbook:
- If most of the value is now in the initial creative act, there’s little benefit to traditional hierarchical organization that’s designed to deliver the same thing over and over, making only incremental changes over time. What matters is being first and bootstrapping your product into a positive feedback spiral with a constant stream of creative innovation. Hierarchical management doesn’t help with that, because it bottlenecks innovation through the people at the top of the hierarchy, and there’s no reason to expect that those people would be particularly creative about coming up with new products that are dramatically different from existing ones – quite the opposite in fact. So Valve was designed as a company that would attract the sort of people capable of taking the initial creative step, leave them free to do creative work, and make them want to stay.
- My observation is that it takes new hires about 6 months before they fully accept that no one is going to tell them what to do, that no manager is going to give them a review, that there is no such thing as a promotion or a job title or even a fixed role (although there are generous raises and bonuses based on the value to the company, as assessed by peers). That it is their responsibility, and theirs alone, to allocate the most important valuable resource in the company – their time – by figuring out what it is that they can do that is most valuable for the company, and then to go do it. That if they decide that they should be doing something different, there’s no manager to convince to let them go; they just move their desk to the new group and start in on the new thing.
- It would be more useful to think about what high-impact things I could do that no one else was doing.
- The Valve approach is to do experiments and see what we learn – failure is fine, just so long as we can identify failure quickly, learn from it, and move on – and then apply it to the next experiment.
- Of all the projects currently under way, what’s the most valuable thing I can be working on? Which project will have the highest direct impact on our customers? How much will the work I ship benefit them? Is the company not doing something that it should be doing? What’s interesting? What’s rewarding? What leverages my individual strengths the most?
- Screwing up is a great way to find out that your assumptions were wrong or that your model of the world was a little bit off. As long as you update your model and move forward with a better picture, you’re doing it right. Look for ways to test your beliefs. Never be afraid to run an experiment or to collect more data.
- If your expertise is not in writing code, then every bit of energy you put into understanding the code-writing part of making software is to your and the company’s benefit. You don’t have to be an engineer, and there’s nothing that says an engineer is more valuable than you. But broadening your awareness in a highly technical direction is never a bad thing.
- Would I want this person to be my boss? Would I learn a significant amount from him or her? What if this person went to work for our competition? We should hire people more capable than ourselves, not less.
- Hiring someone who is at least capable seems (in the short term) to be smarter than not hiring anyone at all. But that’s actually a huge mistake. We can always bring on temporary/contract help to get us through tough spots, but we should never lower the hiring bar.
Reading Richard Bach’s books always makes me wonder how it really feels to fly an airplane (a SeaRey, in this book), to be airborne, to have the freedom to go places that other more common modes of transportation has never reached yet. I seldom travel, and I am deathly afraid of heights, but I can imagine that it must be a wonderful and rewarding experience, albeit also truly scary. Maybe one day. For now, his stories are life lessons that I keep on going back to, his writings remains a personal treasure.
Some favorite lines from “Travels with Puff: A Gentle Game of Life and Death”:
- Life starts new, every sunrise.
- I’ll practice, first-person everyday, my brand of the freedom we’ve all been given, to live as we choose.
- If I learn who she is, if I learn to fly her well, could we be friends, could we fly not clenched-teeth separate, but could we some day lift into that bright freedom I saw, fly there together, each of us glad for the other?
- There’s no way to tell bad news from good as it’s happening. We’ll find out which the moment we realize, long-term, it’s all good.
- All things come to those who know that what we hold in thought is what we shall see in our pretend lifetimes on our cardboard planets.
- We can never convince anyone to do what way deep down they don’t already want to do.
- We can change lifetimes whenever we wish, by deciding we’ll be different from who we were before.
- The skills and abilities we take for granted this minute, some others in the world would burst with joy, to have them for their own. As we would, sometimes to have theirs.
- Meeting someone we care about, in the air or on the ground, is infinitely complex, yet we go by what feels right to do, moment to moment, and things work out.
- Following what we most love leads us through tests and challenges, yet something watches over us, something guides and protects along the way.
- How important they are, human and otherwise, the friends we choose to open our doors and windows!
- This may be the way, I thought—not seaplanes but shared fears and joys and quality of adventure, which helps people round the world change toward each other from caution to trust.
- She and I and all, we’re perfect expressions of perfect life, we can neither be harmed nor destroyed, no matter beliefs or appearances. We’re here to share the gifts of our discovery and our lives with those somewhere somewhen who may care for what we find along our way. Nothing in the worlds of illusion can touch or change the truth of our being. We are guided and protected in our dreams by the fact that we’re dreaming, we are led along our flickering path by our highest self, in whatever form it may decide to take.
- We choose partners to fly with who bring us balance.
- I knew this would come true in my life, because I planned it, loved it, worked a year for it to happen. One doesn’t need to be psychic to see these things true, long before they happen.
- Is it true that without a passion for something, doesn’t matter what, something we love to do or to be around or submerge ourselves in, we’re doomed to lives of boredom, we get the leftovers from the ones who love their something? So far as I can tell, that’s so.
- We’re not given freedom, I thought—we take it, whenever we wish. Take freedom and its promise of delicious success, we take as well freedom’s bright shadow: the chance of spectacular failure.
- We don’t learn one lesson in all our days. We learn vast numbers of lessons, each a lone pixel. Yet the pixels come together, show our world of appearances not so blind and uncaring as it looks, a stage of shape-shifting seems-to-be on which we undestroyable spirits play in our dramas, pretending we’re mortal. The lessons together: We live, each of us, beyond space and time. Mortality’s a fine drama, and sweeter for remembering who we are, beyond the parts we play.
- Repair it, or fly on? So often, flying-on’s the choice. Wait for repair, for every detail to be perfect, one may never get off the ground. Might as well take off, and if it has to be fixed, fix it along the way! That advice can get us in a lot of trouble, and it can set us free.
- It’s the most difficult tests we face, when we pass ‘em, make us happiest.
- What processes and tools are do I need to be effective in performing my work? Are there ineffective systems that I blindly keep using?
- How can I provide immediate feedback to the people that I serve?
- Why did my colleague or client arrive at this sort of assumption/conclusion? What do they need?
- How can I learn new interesting things quickly? Which interesting topic of inquiry may be of some use to me in future endeavors?
- What sort of work conditions allow me to do my best work? How come I can’t deliver in certain environments?
- How can I help my customers find answers to their questions? What solutions can I share that will help them achieve their goals?
- How can I say that I’ve improved at something important to me? Where am I now and where am I going?
I always ask myself questions. They are friends who help me learn, they guide me about what to do. They don’t provide any specific answers, no list of items to tick off, but they do make you understand what is valuable and why there is a constant need to study. They force me to be brutally honest with myself, they let me decide which things I want to be a master of.
Mid-year recommended agile and testing books for software testers (or product owners):
I have always enjoyed reading, but back in college it was mostly Stephen King and Bob Ong novels, and the occasional Ayn Rand. They’re entertaining, I imagine characters in all sorts of dire circumstances and challenging situations, they’re educational and inspirational. They talk about the valuable things in life through fiction – adventure, friendship, philosophy, humanity, love – in all sorts of ways, on all kinds of levels. Years passed since then and my favorite authors list have grown to include Richard Bach, Thomas Harris, Mitch Albom, William Golding, John Steinbeck, C.S. Lewis, John Grisham, among others, people who write fiction too.
But this year I have found myself surprised that I’ve been reading more testing-related, non-fiction books. What’s more surprising is that I have found them to be as refreshing, as educational, and as inspirational as fiction. I still imagine characters in both difficult and fun conditions, the books still talk about important things in life, although the lessons are now more specific, practical, especially to the kind of work that I do.