Rise and Fall of The Great Powers (Book Review)

Rise and Fall of the Great Powers (affiliate link) traces the development of major empires since the 16th century and seek to explain the reasons for their rise and fall. Compare to other works in the literature, this book focuses on the interaction between economic factors and strategy rather than finding one general rules about the formation of states and empires. Kennedy’s main thesis is a state’s power increases as its production capacity grows. The larger economy makes it easier for the state to sustain armaments during peace and finance military fleets during wartime. However, if a state overextends itself by allocating too many resources in its military or conquering territories more than what it can manage, other rivals can catch up with them.

The first chapter surveys the strengths and weaknesses of great powers in the dawn of the 16th century – Ming China, the Ottoman Empire, the Mogul empire, Tokugawa Japan, Muscovy, and the smaller states in western Europe. Kennedy argues that despite having large economies and sophisticated inventions, these empires suffer from having centralized authority which limits the formation of new ideas, military development and commercial endeavours. On the other hand, due to the lack of a central authority, European states manage to develop newer technologies and inventions. 

The book did well in providing a broad yet detailed survey of each empire’s economy and political structure on its own. For example, in the first chapter, Kennedy provides a detailed analysis of the strengths and weaknesses of great powers in the dawn of the 16th century – Ming China, the Ottoman Empire, the Mogul empire, Tokugawa Japan, Muscovy, and the smaller states in western Europe. Kennedy argues that despite having large economies and sophisticated inventions, these empires suffer from having centralised authority which limits the formation of new ideas, military development and commercial endeavours. On the other hand, due to the lack of a central authority, European states manage to develop newer technologies and inventions. 

What the book lacks however is explaining why other regions did not develop like Europe despite not having a central authority. An example of this is the African subcontinent. Despite political fragmentations, the region never developed anywhere close to Europe. In the book, Kennedy never dealt with this issue. In addition, Kennedy did not explain how empires such as Ming China and Tokugawa Japan could develop in the first place despite having centralised authorities.

To sum up, in Rise and Fall of the Great Powers (affiliate link), Kennedy argues that a state’s power increases as its production capacity grows. As a state overextends itself by allocating too many resources in its military or conquering territories more than what it can manage, other rivals can catch up with them. Finally, the state declines and is replaced by another state. I recommend this book to those who are interested in detailed history of the rise of empires. However, the book spans 500 pages and its deep flaws suggest that you should consider to invest your time in other similar books such as Toynbee’s A Study of History or Kissinger’s Diplomacy.

Click here to visit the Amazon book page (affiliate link), where it is available in multiple formats.

Like this post? Write a comment below and let me know what you think!

Friend of a Friend: Understanding the Hidden Networks That Can Transform Your Life and Your Career (Book Summary)

Nothing of me is original. I am the combined effort of everyone I’ve ever known.” – Chuck Palahniuk, Invisible Monsters

While studying at UCL, one of the most diverse universities in the UK, I have found two interesting social observations: (1) most people tend to stick together with their own nationalities and (2) some people just seem to be more connected than the others. Although there are groups where people hang out with different nationalities, these tend to be the exceptions rather than the norm. I never paid much attention to these and simply conclude that (1) humans like familiarity and there is less barrier to integrate with others who share the same nationalities. For (2), maybe, some people are just more extroverted. After reading the book Friend of A Friend (affiliate link), I am surprised to learn that these two phenomenons are more nuanced that they seem.

In Friend of A Friend (affiliate link), David Burkus sets out to apply ideas from Sociology and Network Theory in fostering new relationships. His main thesis is that in creating new connections, it is not necessarily about who you know, but about knowing who is a “friend of a friend” and applying the correct strategy in navigating these networks. The book then explains how networks work and the implications for anyone looking to improve their connections.

Each chapter starts with an abstract of the chapter, two anecdotal evidence or stories, empirical evidence and actionable advice at the end. This summary focuses on what I think are the most important insights from each chapter and the actionable advice that Burkus suggested. 

Weak Ties

Chapter 1 examines “weak ties” or people that we maintain a connection but rarely interact with. Meanwhile, strong ties are people we regularly meet – friends, families and co-workers. Burkus argues that weak ties may present us with bigger opportunities than strong ties as strong ties are more likely to share the same contacts as us.

On the other hand, our weak ties have different social circles and learn different information than our social circle. Therefore, weak ties are the best source of information to solve our dilemma.

Another form of connection, dormant ties, or weak ties that used to be stronger is also important in getting new information. Although dormant ties can provide us with valuable information, most people tend to lose contact because of specific reasons. These reasons make some people not comfortable reconnecting with dormant ties.

When given a choice to reconnect with dormant ties, most people tend to avoid factors such as novelty and engagement (Walter et. al, 2015). This is because reconnecting with old contacts may provoke anxiety. Hence, most people prefer to re-connect with whom they had spent a lot of time together.

Characteristics of Social Networks: The 3S (Six Degrees of Separation, Structural Holes, Silo)

Chapter 2 discusses the first feature of social networks. Burkus presents us with the six degrees of separation theory, whereby any person can be connected to another person on the planet within six or fewer connections. To utilise this effect, Burkus suggests using or creating networks such as university alumni network or professional groups.

In Chapter 3, Burkus presents us with another characteristic of the social networks, called “structural holes”, or the gap between two groups of people. People who fill the structural holes, “broker” are the people who become the gatekeeper of information between the two groups, thus having more power than those who only stay within the groups. In terms of career strategy, Burkus argues that filling the “structural holes” is a better strategy than climbing the ladder vertically as you would develop relationships with different groups.

Chapter 4 discusses the dilemma of being in a silo. Being in a silo for too long may damage one’s career while not being in a silo at all may damage one’s own growth. Burkus argues that silos may not be necessarily bad, and one should focus on knowing how long to interact with a silo. When interacting with a silo, ask the following questions:

  • What are you working on right now?
  • What is holding you back and how can I help?
  • What do you need prompting on?

Chapter 5 builds on previous chapters and point out that it is better for networks of collaboration to be temporary, rather than permanent as ideas and knowledge dissipate when a person moves around different groups.  

Strategies of Networking

Chapter 6 discusses ways one can grow one’s networks such by making introductions for others first.

Chapter 7 discusses how having large networks begets a bigger one. This situation, called Matthew Effect which is coined after the Gospel of Matthew where Jesus says: “For to all those who have, more will be given, and they will have an abundance; but from those who have nothing, even what they have will be taken away”. This cumulative advantage applies not only to capital and knowledge accumulation but also to one’s networks.

Chapter 8 presents us with another networking strategy. Suppose we want to be well-known within a community, what do we do? Do we approach every person, or do we meet the few connected persons in the community?

Burkus points out interesting empirical and anecdotal evidence in this chapter, arguing that the latter is the better way. If it is not possible to meet the most connected persons in the network, the second-best strategy is to connect with other people around the target first, especially with your own mutual connections. If multiple people around the target are talking about you, you will have a higher chance of making that connection. 

Homophily and Why Networking Events Suck

Chapter 9 examines homophily, a theory that predicts that we are more likely to develop close ties to those who are like us. In social networks, this means that networks of individuals tend to become more clustered and dispersed over time. Burkus points out that one has to actively seek people from different groups to get alternative perspectives. This means to seek out people from different industries, department, function, race, religion, political and ideology.

Chapter 10 scrutinises networking events and why they are flawed, namely, because one tends to stick with the people they already know. Even when we make new contacts, we tend to choose people who disproportionately are very similar to ourselves, whether in terms of occupation, industry, experience, training or worldview. So, what are the alternatives to this?

Burkus recommends us to stop “trying to meet new people” and focus on activities rather than relationship themselves. Activities that have shared purpose, evokes passions or emotions, requires interdependence and has something at stake tend to draw more diverse groups of people and create stronger bonds among participants. Such activities include cooking class, golf, volunteering and sports. 

Unless there is an external force acting on the groups, it is very difficult for people to break from their current group. Rather than fighting against homophily, the strategy above make use of it. Just by having a genuine interest in a new topic or an activity, one has extend himself to another group, thus, fostering new connections.

Multiplexity and the Complexity of Human Relationships

Chapter 11 explores multiplexity, which happens when individuals share different social connections. For example, two co-workers who also engage in the same sports together share and are neighbours are multiplex relationships as they are connected by multiple social contexts. Multiplex relationships are likely to develop stronger trust and bonds, thus becoming long-lasting and more valuable. An implication of this insight is that separating friends in one category and colleagues in another may not be a good strategy.


Friend of A Friend is a well-researched and well-written book that seeks to apply insights from the study of networks to the art of networking and making connections. In every chapter, Burkus writes on one aspect of networking and provide strong empirical evidence.

Although some anecdotal evidence suffers from survivorship bias and the story extends longer than is needed, they are interesting to read, nonetheless. Most importantly, Burkus outlines actionable steps that one can take to apply the ideas from the book. These steps can be used as a guiding framework whilst navigating one’s networking journey. 

Burkus ends the book with the key message that every human being is already embedded within networks of relationships. Utilising these networks for our benefits require us to learn the tools to navigate through them. If every person is the average of his five friends, then the friends of that friends are his future. 

Click here to visit the Amazon book page (affiliate link), where it is available in multiple formats.

For more resources and tools, visit David Burkus‘s website.

Like this post? Write a comment below and let me know what you think!

Notes from Mythbusting The Modern Data Catalog Webinar

You can watch the video here.

The webinar discusses four myths of data catalog. These myths are:

A data catalog is either for governance or analytics, not both: False
Data governance is the process and procedures of managing the availability, accessibility, integrity and security of the data in enterprise systems. This process and procedures are governed by a set of standards and policies. 

The speaker argues that data governance is important in generating business value. For example, in a survey conducted by 451 Research, 72% of respondents completely or mostly agree that data governance is an enabler of of business value in their organisations, rather than a cost. However, it is hard to measure the value generated by introducing data governance. 

Data analysts spend a lot of time looking for data: True
A big part of this claim is that data analysts spend a lot of time finding data and prepping it for analytics. This process is a huge time sink and reduces the analysts’ productivity level, which is a loss for the organisations. Another survey from 451 Research among 519 respondents find that data analysts spend a mean of 48% of their time finding and preparing data. 

Data catalog will solve data silo automatically: Depends
Data silo happens when only one group within an organisation can access source of data. 451 Research finds that for organisations with more than 1000 employees, 33% have more than 50 departmental data silos

Finally, there can only be a single data catalog to “rule them all”: Depends
This claim is based on the assumption that a data catalog’s usefulness is proportional to the number of data sources it is connected to. An implication of this is that data catalog then can connect to everything will enable the users to have a perfect view of data in the organisation. However, this depends what are the use cases and who are the users of the data catalog.

The key takeaway from the webinar is that each organisation has its own process and culture. A good datalog should support these processes rather than working against it. Although this webinar has some interesting discussions and evidence, I find it lacking as it only covers the surface of data catalog and its procedures. The speaker did not go into the specifics on solving these claims. 

Notes from Apprenticeship Pattern book

Guidance for Aspiring Software Craftsman
This book defines language of patterns for developers to define their own apprenticeship. A pattern is a named description of a recurring solution to a problem in a given context. The book uses medieval apprenticeship model, where practitioners work together in small teams. An inexperienced apprentices help the journeymen and master craftsmen do their work. The authors defined apprentice, journeyman and master as follows:

  • Apprentice is someone who is always looking for better ways to solve problem. This includes finding new people, companies, situations that force you to learn. As apprentice learns, he is able to improve his craft. Improving here can be doing something faster, or using novel solutions.
  • A journeyman is one who mentor those around him and communicate new ideas within them.
  • A master performs all the roles of an apprentice or journeyman. He also focuses on expanding the industry forward. A master seeks new solution, or explore uncharted territories.

This book contains apprenticeship patterns in software craftsmanship. Beginners and professional software developers can use these patterns to advance their skills.

Chapter 1: Emptying The Cup
The first step in learning something new is by “emptying your cup”. This means that you have to clear your mind of bad habits. Set aside your pride and open yourself to new, counterintuitive approaches to craftsmanship. The following is the list of apprenticeship patterns in “emptying your cup”.

Your First Language
Pick a language and learn it to depth. Build projects in it and ask more experience programmers for feedbacks. Or, use testing framework and REPL to check your understanding. Having mentor is very important. As Ralph Johnson puts it,

”It is possible to learn a language on your own, but it takes a long time to learn the spirit of a language unless you interact with experts”.

To start learning your first language, find the language specification and read it. Read through the standard library and understand the techniques. Find out idioms and what were they used to solve.

Wearing Your White Belt
After learning your language, your progress seems to stall. Wearing the white belt means that you have no choice but to learn the way. This includes the what’s and the why’s. Acknowledge that in learning the new way, you may have to sacrifice productivity. Avoid synthesising old and new knowledge until the latter sinks in.

Unleash Your Enthusiasm
As an apprentice, it is your duty to inject enthusiasm to the team. Enthusiasm is infectious. You might have fresh perspective from your background. As Pete McBreen puts it,

“Enthusiastic beginners not only renew the craftsmen, but also challenge the craftsmen by bringing in new ideas from the outside”.

Concrete Skills
Apprentice acquires and maintain concrete skills. Examples of concrete skills include writing build files in popular languages, understanding various open source frameworks, basic web design, Javascript and standard libraries.

One way to do this is to collect the CVs with skills you want. Or, you can look at their portfolio website or LinkedIn. Then, identify five discrete skills noted on the CV. After that, determine which of these skills would be useful in your career. Put together a toy project to show that you understand these skills.

Confront Your Ignorance
Pick an item from the list before and try to learn it. But, you have to strike the balance between confronting your ignorance and delivering product. Learning new tools should not prevent or sacrifice your team’s productivity.

Expose your ignorance in a specific technology.

Show the people who are depending on you that learning process is part of delivering software.

Expose your ignorance and ability to learn by asking questions. Asking questions not only help you to learn new things, it also help the answerer to foster his understanding of the problem/ solution.

One way to do this is to identify the things that you know, related to the work. Put a list of 5 things you don’t know and put it where others can see it.

Deep End
In Malcolm Gladwell’s book, Outlier he outlined the 10000 hours rule. The rule says that to be an expert in a field, one have to spend approximately 10 000 hours of deliberate practice. Deliberate practice means doing exercises that stretch your abilities.

To stretch yourself in software craftsmanship, identify the biggest successful project you have ever worked on. Then, see if you can build another project that explores a different complexities. Measure the metrics to see how much you’ve grown in building this project.

Retreat Into Competence
Once in a while, you’ll get stuck in learning new things. This is fine. Acknowledge that you are stuck, then retreat into competence. This means, pick something self-contained that you know well and reimplement it.

Chapter 2: Walking The Long Road

The Long Road
Long term growth and learning trumps short term salary and traditional notions of leadership.

Think about 10, 20, 30, 40 years from now. Imagine 40 years from now, you have to write about your career history. Use this to plan your career.


Craft Over Art
Always serve your customer’s values first, over building artistic program that is hard to maintain.

Sustainable Motivations
Alway think long term. When your current work pays well, learn something new.

Nurture Your Passion
Find new project that you like. Learn about ideas that you like.

Draw Your Own Map
Find the things that you want to achieve in 1, 5,10,20,30 years. Draw your map on how to get there.

Stay In The Trenches
Always prefer learning over money.

A Different Road
Suppose you can no longer be a software developer, what would you do? Write down some of them and find other people who are already working there. Ask what they love about it and compare it with software development.

Be The Worst
When your rate of learning decreases, surround yourself with developers better than you. Find a stronger team where you are the weakest and have opportunities to grow. How do you balance between being the worst, but providing the value to the team? You can Sweep The Floor or use your Concrete Skills.

Find Mentors
Find teachers who can teach you. Find a meet up group and join it. Contact the more experienced developer them and ask them to mentor you.

Kindred Spirits
Be in contact with other craftsman. Join a community and provide values to it. Be aware of group think. Always ask questions and provide answers.

List all the tools that you use, the languages that you know or ideas that you like. Attend gatherings related to these or start your own. Advertise anywhere and everywhere that software developers can see. Grow it until you have a community.

Rubbing Elbows
Find ways to work with another software developer and work side by side. Work in open source project together.

Sweep the Floor
Seek out menial task to add value to the project. Volunteer for simple, unglamorous, yet necessary tasks. These tasks include:

  • Maintaining build system
  • Production support
  • Responding to maintenance request
  • Bug fix
  • Code review
  • Cut technical debt
  • Setting up project wiki
  • Update documentation

Chapter 3: Perpetual Learning

Expand Your Bandwidth
Be quick to learn new things. Follow software development blogs, Twitter and high traffic online mailing list.

Practice, Practice, Practice
Do deliberate practice. This includes Breakable Toys or implementing new algorithms.

Breakable Toys
Build your own wiki.

Use The Source
Read other people’s codes and documentations. Find the way they do things, what algorithms or data structures they use.


Reflect As You Work
Get feedback and think if there’s other way to solve a problem?

Record What You Learn
Learn and write everything you’ve learnt.

Write things that you wished you know existed when you were first starting out.

Create Feedback Loops
In development, use tests, a lot. In project, find people that are willing to give you honest feedbacks.

Reading List
There will always be more books that you could ever read. Maintain a reading list and start reading them. Put the more impactful on a reading list so others can read it as well.

Read Constantly
Always read a book when learning new technology. When given a choice between book or blog, choose book. Books ground you with better fundamentals. Strong fundamentals allow you to learn more difficult stuffs later.

Study The Classics
Read the documentation. Read the old books.


Dig Deeper
Read the documentation and specifications. Understand the low level. Use debuggers. Read RFC 2126 and RFC 707 documentation.

Familiar Tools
Write a list of your tools. Increase the list overtime. In time, all tools will be junk. So choose breadth over depth.

Closing Note

“When we say something is a craft, one of the things we mean is that it is a discipline and a tradition that places a high value on skill. This includes acquiring, growing, and eventually transmitting that skill. We believe true mastery is shown in the effect you have on others by transmitting your superior skill.”

Project Ideas That I Had Thought Before

Programmning tutor
Become a programming teacher. For kids, teach them using software like Scratch.

Design better web UX
Most web surfers don’t like to read text. How would you change existing text-heavy website to make it more interactive (images/ videos) while maintaining performance?

GitHub for musicians
A website for musicians to collaborate on music, with version control system.

Creative Projects
Traditional video games limit your choices as the story flows linearly. Make a graphic novel based on existing games where your choices affect the story outcome.