Archive for the ‘Books’ Category

Two types of chronic anxiety from “A Failure of Nerve”

I just finished reading A Failure of Nerve: Leadership in the Age of the Quick Fix, by Edwin Friedman. It’s a book about leadership in the #2018TechReadingChallenge.

Friedman’s key concept in the book is chronic anxiety, which is the foremost challenge to leaders. Leaders have “a failure of nerve” when the fail to rise above the anxiety that surrounds them.

Since we all are surrounded by anxiety, we all have the opportunity to become leaders. One of Friedman’s catch phrases is “from parents to presidents,” reflecting that anyone can be a leader, whether you are a leader of a family, or of an entire country. In my day job, I’m a leader by being a senior software engineer, since I am responsible for delivering value, minimizing risk, as well as mentoring the junior developers on the team.

The desire for a quick fix is the first example of anxiety. It occurs when we reactively look to solve a symptom, rather than being thoughtful and addressing the underlying problem. We look for techniques and methods, without realizing that the last 6 methods we tried did not solve the problem. Maybe the quick fix is converting the entire organization to scrum, without realizing that the underlying relationships of your organization are toxic.

A leader is a person who realizes that methods and techniques won’t solve problems. Instead, it’s more about what you do after you make the decision.

Reactivity is the second example of anxiety. Reactivity in leadership is the person who blames others when there is a problem, or who has the same knee-jerk reaction every time. It’s the person who blows up when something unexpected happens. It’s me, when I take it out on a coworker whose work didn’t meet my expectations.

The well-differentiated leader is less reactive. “Those who are less reactive are more self-contained, less blaming, more imaginative, less anxious, and more responsible. When they do seek help, they generally can hear suggestions well, offer less resistance to suggestions for change, and treat their consultant as a coach rather than a savior. Such an approach emphasizes strength rather than weakness, accountability rather than blame, taking responsibility for self rather than feeling for others.” (p. 164)

In a software development context, the well-differentiated leader is the person who is able to maintain their professionalism in the mist of an emergency bug fix. Or the person who is able to clarify expectations and help the team deliver, even when the priorities of the organization seem to be constantly changing. Or a person who handles interruptions to their work with grace, even when it is the 3rd interruption that day.

Anxiety is not just an individual challenge, it is a challenge for organizations and societies at large. Anxiety is a driving force in the emotional processes that permeate our interactions one another. Unchecked, these emotional processes will stifle our imagination. Regardless of the emotions themselves, these processes have a way of being passed down from generation to generation, and so the greatest challenge of a leader is to see and overcome the processes surrounding him or her.

Instead of our imagination being stifled, we must take responsibility for our own being and destiny, which Friedman calls being a well-differentiated leader. This is not a matter of finding the right techniques or having a self-improvement checklist, and so in this sense, the book is not a typical self-help book. Rather, it aligns more with leadership books such as Ordering Your Private World, and Leading with a Limp. It also reminded me of The 7 Habits of Highly Effective People, which I did a review of a few years ago (part 1) (part 2).

Dreyfus model of skill acquisition

I just finished reading Pragmatic Thinking and Learning, by Andy Hunt, as part of my 2018 Tech Reading Challenge. (It fits in the category, “a book about an abstract concept.”) In lieu of a full review, I’m sharing some key takeaways from chapter 2, “Journey from Novice to Expert.”

The Dreyfus model of skill acquisition is a tool to help you understand  how you are doing in a new skill. It can apply to any skill area, such as cooking, writing, bowling, or software development. It comes from a paper by the Dreyfus brothers, published in 1980. In it, they identify five stages of skill development. I’ll stick these at the bottom of the article (It’s a bunch of bulleted lists) and talk about some of my takeaways.


The Dreyfus model helps us understand a few different common problems in the world of professional software development.

First is a tendency to over-rate our own abilities. This can happen when we don’t know what we don’t know. This is known as the Dunning-Kruger effect.

Second is when we decide to stop learning, and yet think that expert status has been achieved. This has been described as the expert beginner, and Erik Dietrich has a set of articles about it over at his blog.

The Dreyfus model does not address how large or small a skill is scoped, but it seems you can break this up into small pieces. For example, the skill of unit testing is separate from the skill of refactoring, or from designing for test. In The Art of Unit Testing, Roy Osherove lists these as separate skills.

No one size fits all

My big takeaway from the 5 stages is that it can help explain why I am uncomfortable in different problem solving situations. For example, if I’m being asked to fit into a strict set of rules, and yet solve a problem that is very familiar to me, I can chafe a little. The rules are more suited to a novice, and I’m feeling more confident. On the flip side, if I have junior developers on the team, it is a good thing to have conventions, standards, and some guidelines for them to follow. And if I’m pursuing a senior engineer role, it’s my job to create the guidelines.

Movements target certain skill levels

The different stages help us identify how movements can target different skill levels with different attributes. For example, Agile could be viewed as a set of rules, rituals, and ceremonies, which would appeal to the advanced beginner, or it could be viewed as a way to learn and correct past performance, which is something a proficient stage person can do.

A great example of this is applying design patterns. An advanced beginner sees the potential for patterns everywhere! And the end up with something like EnterpriseFizzBuzz.

Conclusion: Check out the book

I recommend picking up a copy of Pragmatic Thinking and Learning, by Andy Hunt. I didn’t even cover all of chapter 2—there’s a great case study on how the model was applied to the nursing profession, and the author ties this to software development. The rest of the book has some great tips for learning and problem solving. I highly recommend it.

The five stages


  • they need a recipe
  • don’t know what they don’t know
  • prefer walkthroughs, in person if possible

Advanced beginner

  • start to break away from the fixed rule set
  • learn new tasks as the need arises
  • can use advice in a similar context
  • want information fast, but not the big picture
  • no broad-based conceptual understanding of the task set
  • solo learning is more possible


  • Troubleshooting skills
  • “They can mentor the novices and don’t annoy the experts overly much”
  • informal leadership role
  • more deliberate planning
  • Still can’t apply agile methods to the full extent (!)


  • can correct previous poor task performance
  • learn from the experience of others
  • apply maxims (Don’t Repeat Yourself)
  • know what they don’t know


  • work from intuition
  • unconscious competence (can’t explain why)
  • can take context into account
  • very rare!

2018 Tech Reading Challenge

Many of us are challenging ourselves to grow in the new year. One area of growth I strive for is in my career as a software developer. To that end, I’m sharing my 2018 reading challenge. I hope you will find it stretches your technical ability.

How it works

  • Choose a reading goal early in the year and set your pace accordingly.
    • The beginner reading challenge is 1 book a quarter.
    • The advanced reading challenge is 1 book a month with 2 months off.
  • Choose the books and read them in any order, checking them off as you complete them.
  • Post about your progress on Twitter using the hashtag #2018TechReadingChallenge. (Cross-post on Slack too)


  • Define your definition of “read,” since some technical books are pretty dry if you try to read them from cover to cover.
  • Ignore the categories and use #2018TechReadingChallenge about any software development book you read this year.

2018 Reading challenge (beginner—4 books)

  • A book about unit testing
  • A book about a framework, tool, or language
  • A book recommended by a coworker
  • A book published in 2018

2018 Reading challenge (advanced—10 books)

  • All the books in the beginner list plus:
  • A book about leadership
  • A book about an abstract concept
  • A book about software architecture
  • A book about agile
  • A book from the 80s
  • A book with an animal on the cover


Investing for retirement: some recommended books

Probably the biggest mistake you could make investing your money would be to listen to “advisers” who really are making a commission off your ignorance. Instead, you would do well to learn a little and then make your own choices. At the top I’ve put my favorite resource on this topic, a 16-page booklet by William Bernstein. There are also two suggested books.

“If You Can”

For those who don’t want to read an entire book about investing, I recommend Bernstein’s 16-page booklet entitled “If You Can: How Millennials Can Get Rich Slowly.” It is also available as a free PDF (linked from his website, halfway down on his “New Books” page).

The booklet gives a high-level overview, and also gives reading assignments for those who want to dive deeper (sorry, books are inescapable). It’s organized according to the 5 hurdles people who want to save for retirement on their own will face, paraphrased below:

  1. The temptation to spend instead of save.
  2. Lack of understanding of finance.
  3. Lack of understanding of the history of finance.
  4. Human shortcomings in long-term decision-making.
  5. The “monsters” of the financial industry who give “advice”

The Sound Mind Investing Handbook

The Sound Mind Investing Handbook: A Step-By-Step Guide To Managing Your Money From A Biblical Perspective, by Austin Pryor, is a good introduction to being a steward of money for God’s glory. The book is organized into sections according to different stages of personal financial management.

Section 1: Getting Debt-Free
Section 2: Saving for Future Needs
Section 3: Investing Your Surplus
Section 4: Diversifying for Safety
Section 5: Retirement countdown
Section 6: Investing That Glorifies God

Sections 1–5 discuss the how/why of personal finances from a practical point of view. Topics covered include asset allocation, timing the market (why not to attempt to time the market), the disciplines of investing, risk preference, and, how taxes will affect your investments.

Section 6 discusses the why of investing from a spiritual perspective. Pryor discusses his own story, how he got into the financial industry, and how he had a spiritual encounter and came to know Jesus Christ. Then he goes into what the Bible says about money, investing, and stewardship.

I think the strength of this book is its completeness. It serves as a good reference guide, due to both the variety of topics covered and the depth they are covered. There are some nice example calculations as well. On the other hand, at times the book can get a bit bogged down in its handbook style.

The Investor’s Manifesto

The Investor’s Manifesto: Preparing for Prosperity, Armageddon, and Everything in Between, by William Bernstein and Jonathan Clements, focuses on how the average person can manage their retirement savings successfully.

In the old days companies would give you a pension plan, and you would be set. But now the responsibility is on us to manage our 401(k)/IRA/what have you. Unfortunately successfully managing your retirement savings is a difficult task. It requires at least 4 abilities:

  • An interest in the process
  • An understanding of the math (probability and statistics)
  • An understanding of financial history
  • Emotional discipline to execute the planned strategy “come hell or high water”

The book is broken down into the following sections:

  • Chapters 1–3 give a theoretical basis and a brief financial history
  • Chapter 4 talks about “the greatest enemy facing investors”—look in the mirror, it’s you
  • Chapters 5–6 focus on executing your investing plan in the face of hurdles, like the “piranhas” of the financial industry

I enjoyed reading Bernstein’s book. He balanced out the investment details with some fun anecdotes and a bit of humor. All of the math stuff got swept aside into “Math Detail” sidebars.

Compared to Pryor’s book, Bernstein’s book spent less time on practical concerns like the cost of personal debt or how to budget, and spent more time on investment history and theory. Bernstein also covered a few more investment types, such as real estate investment trusts (REITs), which I had not personally been exposed to yet.

From the Garden to the City book review

From the Garden to the City: The Redeeming and Corrupting Power of Technology
John Dyer

John Dyer is a web programmer and a theologian. I’ve played with his Javascript app Browser Bible and I’ve followed his blog Don’t Eat the Fruit for some time. In 2011 he published From the Garden to the City. I read it last year, and am now digging out my notes to share some of the ways it influenced me.

Technology is not neutral

I had always thought that technology was neutral. When I was growing up, my mom would try to get me to stop spending so much time on the computer. The computer is bad, she would say. It didn’t seem so particularly bad to me. I knew that it could be used in moral or immoral ways. For example, I could use it to watch porn, or I could use it to do my homework. But if I spent too much time using it, surely that wasn’t because the computer was bad—maybe I just needed to go play in the park every once in a while.

My neutral view of technology was too simplistic. The computer is not so much neutral as it is transformative. It changes me, it changes my family, it changes society. It brings tendencies, for example, a tendency to be used by only one person at a time. It brings a tendency toward distraction because the computer can be downloading a file, installing an update, and playing music all while I’m trying to write a research paper. It tends to make communication easier, bringing people closer through social networks. Saying that a computer is neutral would wrongly ignore its more nuanced characteristics.

In Dyer’s book, he gives three examples of technologies that are not neutral. The first example is a simple one: a shovel. A shovel is a tool used to make holes in the ground. It can be used for good purposes, say to plant a tree, or for bad purposes, say to conceal stolen treasure. But regardless of the purpose it is used for, the shovel has (1) made digging holes easier, and (2) given somebody blisters in the process, and maybe even a sore back. It makes it easier to shape the gound, and may inspire somebody to plant a tree.

The second example is Twitter, a digital communication tool used to share 140-character messages with the public. A person can choose what tweets they want to read. So one person follows Seth Godin, and another person follows Justin Bieber. Obviously there is a difference in what benefit they will get out of the content of the tweets. But another, more subtle difference, is that the more tweets they read, the more they train their mind to process information in very short snippets.

The third example is a book, a communication tool which became common about 500 years ago with the invention of the printing press. Again, a person can choose what books they read. One person reads Richard Dawkin, and another person reads Wayne Grudem. Obviously both people get different benefits out of the content that they read. But the technology of the printed book has also changed the way their mind processes information. After reading a few books, their mind will become adept at processing information in multiple chapters and pages, and understanding complex arguments. If reading Tweets trains the mind to process information in short snippets, then reading a book does the opposite.

Redemption through technology

One section of the book that inspired me was the way technology is involved in redemption. Technology can be used by God and humans to temporarily overcome the effects of the fall. God uses it for his grand purposes of redemption, and it points to the Redeemer who will makes all things new

One example is the technology of written words. Prior to written words, people remembered by telling stories. Memory was important, and the person with the most memory had authority and wisdom. Written words have a different sort of authority. If someone reads aloud the written words, they obviously are not the authority. The authority comes from the person who originally recorded those words.

God used this technology when he recorded the law to his people on Mount Sinai. The recorded commandments indicated God’s authority, so that the person who read them (and obeyed them!) had to acknowledge their original source. What’s more, God used this technology right when it came out! Around the same time of the Exodus, other civilizations were beginning to adopt alphabets as a way to write down their spoken languages.

A contemporary example of technology having a redemptive effect is medical technology. We are able to partially reverse the effects of the fall by aiding the body in the process of healing.


Another story from my years of growing up is my affinity for “how stuff works” books. My favorite by far is the one that featured cartoon woolly mammoths (The New Way Things Work). These whimsical mammoths would appear in the cutaway drawings of different gadgets and gizmos. For example, on the page about how the electric guitar works, there was a mammoth doing a tightrope walk down the guitar string.

Mammoths aside, the history of science in the last few hundred years is fascinating. This invention led to that one. That scientist made this discovery. However, the story of technology is more than a historical timeline of inventions. It is the story of technology influencing society and vice versa, and God influencing them both, directing them to his glorious purposes.

7 Habits: A Summary (part 2)

Habits 4-6: Paradigms of interdependence

  • The Emotional Bank Account describes the amount of trust that has been built up in a relationship. Interdependent relationships depend on the status of this bank account.

Habit 4: Think win/win

  • Win/win sees life as cooperative, not competitive. It is a way to reach decisions that are better than compromises.
  • There are other paradigms for making decisions (e.g. win/lose). Sometimes we are scripted with these paradigms, but we can change these scripts. (See habits 1-3)

Habit 5: Seek first to understand, then to be understood

  • We tend to listen autobiographically. We try to relate what the person is saying to our own experience. We should listen to their story before trying to clearly communicate our own story.
  • Listen to both content and feeling of what the other person is saying.

Habit 6: Synergize

  • Value the differences. Your motive for valuing the differences is that they will lead to creative win/win solutions.
  • One example of a difference: logical vs. creative thinking (right-brain vs. left brain)

Habit 7: Sharpen the saw

  • Sharpening the saw increases your personal PC (your ability to produce results)
  • Four dimensions of renewal: physical, spiritual, mental (these relate to habits 1-3, your ability to be independent); relational (this relates to habits 4-6, your ability to be interdependent)

7 Habits: A Summary (part 1)

The 7 Habits of Highly Effective People: Powerful Lessons in Personal Change
Stephen R. Covey
2004, Free Press

Introduction: The 7 habits are based on the following principles

  • P/PC Balance: P is production (the results of your work), PC is production capacity (your ability to produce results). If you neglect PC, you will never get P.
  • Maturity continuum: People grow from dependence to independence to interdependence. Interdependence is the idea that independent people come together to cooperate and create something greater.
  • The first three habits will bring growth in independence, and the second three habits will bring growth in interdependence.

Habit 1: Be proactive

  • You can choose how you respond to situations around you.
  • You may respond based on a script, that is, how you responded in the past, e.g. based on child hood experiences of pain. However, you can rewrite that script.
  • People who aren’t proactive complain about their circle of concern. Proactive people intentionally expand their circle of influence.
  • Habit 1 is personal vision. The vision is that you can proactively write a new script, no longer reacting to your past or other people.

Habit 2: Begin with the end in mind

  • Write a personal mission statement that governs your day to day decisions.
  • Leadership vs. management: Leadership is doing the right things (things that correspond with a goal or vision). Management is doing things efficiently. It is possible to be doing the wrong thing very efficiently. e.g. hacking your way through the jungle, but you find out you have been going the wrong direction.
  • Habit 2 is personal leadership. Your mission statement ensures you are doing the right things.
  • When writing your mission statement, ask: what is my life centered on.

Habit 3: Put first things first

  • Urgent vs. important. Many people live their life doing the urgent things, assuming that they will do the important things. This leads to burn out, and you will miss important things that are not urgent (e.g. relationships with people, spiritual growth)
  • Planning your schedule on a weekly basis will help fit in important things that aren’t urgent. Does your time management tool allow you to test agenda items against your mission statement?
  • Delegation is important in managing your own schedule. Gofer delegation gives the person a lot of instructions, but doesn’t build their PC. Stewardship delegation allows them the freedom to choose how they will complete the task.
  • Habit 3 is personal management. That is, effectively doing the things that, in habit 2, you determined are the right things to do.

Some personal examples

It’s easy to see the principle of P/PC Balance at work. One example is getting enough rest. When I rest, I am working on my production capability. If I am always producing and never resting, eventually I will be forced to rest. Another example is purchasing a new tool. When I bought a new laptop, it increased my production capability for working on school projects.

Personal leadership is the idea of making sure you spend your time doing the right things. You write a mission statement and choose a set of principles to live by. I wrote the role of a computer scientist when thinking about principles to live by.

The Social Factor

My boss’s boss at my summer internship loaned me “The Social Factor: Innovate, Ignite, and Win through Mass Collaboration and Social Networking,” by Maria Azua. (IBM Press, 2010)

The book focuses on some societal changes that are happening. The thesis of the book is that companies need to respond to these changes in order to succeed.

Ready for a history lesson? Chapter 1, “The Dawn of the Social Age,” covers some important background in communication technology. Each new communication technology (Radio, TV, Computer, Internet) had a faster adoption rate than the technology before it, and the result is a shift in how people communicate and share information. Chapter 2 discusses the implications for companies: employees are better able to share information if they can use these new technologies.

The next chapters discuss a number of social tools: blogs, wikis, tagging, Twitter, Facebook, and LinkedIn. As I read, I compared the tools the author discussed with tools that I have used. I am somewhat familiar with blogging, as I blog here and at I have contributed to Wikipedia. My summer internship is at Securian, and our company uses SocialText for several internal Wikis. I have a Facebook account, but I haven’t tried Twitter or LinkedIn yet. Reading this book definitely swayed me toward trying out these services.

On the other hand, after taking my Computing Ethics class at SCSU, I am increasingly cautious about sharing information online. A recent article I found through ACM confirmed this. The Obama administration released a roadmap that discussed cyber security, saying “The public is insufficiently aware of the risk of sharing information in cyberspace — which can affect personal and national security.” Whenever you’re using the internet, your every action is tracked and cataloged somewhere, and you don’t always have control over it.