14
.
11
.
2023
31
.
12
.
2019
Ruby on Rails

Three strategies that work in board games and in real life

Michał Łęcicki
Ruby Developer

When playing board games, I always try to improve my performance and find some clever way to beat my opponents. I love analysing, discussing and recalling past games to find the most useful strategy and see things that are not seen by other players. This allowed me to form a few simple rules that increase chances of victory — not only in board games but also in real-life activities.

Read more to see that playing board games has more common things with your daily work than you could expect!


Photo by Bill Oxford on Unsplash

One of my favourite games — Scythe, is a typical strategy game, which requires planning & executing actions in a certain order, managing resources and optimising all actions for getting the best results. The keyword here is “optimise”. You can’t win if you don’t use your resources in the best possible way. When playing with experienced players, even the smallest loss can decrease your chance of winning.

Optimize

Well, in Scythe it’s all about figuring out the order of moves, so you always do the best possible combination: you gather resources in one action to be able to perform next move, which allows making another one etc. I can see parallel behaviour in many real-life situations, especially at work. At the beginning of the career, you don’t have many options; then you learn, grow and step by step gain new possibilities. Of course, each of us has a limited amount of time, thus making the right choices is necessary to optimise your path. A look from a long-term perspective can help you to plan right moves, so you can invest your time in the things that open new doors in the future, even if they don’t seem to be the most beneficial for now. The conclusion is simple: use your life resources effectively. And that can only be possible if you have a plan.

Use natural planning

The official planning meetings with lot’s of people and the corporate atmosphere is not an optimal place for shaping a creative and efficient plan. David Allen, an author of classic productivity book — Getting Things Done, mentions that the best approach to planning is being natural. Imagine you meet with your friend at the restaurant, you get a tasty and hot coffee and you spontaneously draw a business plan on a towel while joking and chatting. You feel relaxed, safe, and you naturally release your imagination to build something really creative. And actually that’s how it’s supposed to be. Planning requires a certain mindset so prepare yourself for it.


Photo by CDC on Unsplash

In every, every board game (even in Monopoly!) some unexpected events or incidents could take place — they might come from game rules or from other players. Actually this makes lot’s of board games so interesting, because every play is different and thus, challenging. And often your reaction to such events can be a game-changer and give you victory or failure. The game that is a true exemplification of such mechanism is Pandemic — where all players cooperate to fight diseases spreading across the world. Every player has to make decisions separately, but only perfect teamwork and fast strategy adjustments are profitable.

It’s natural that in our work many unexpected things can happen, too. For example, if you are a programmer a colleague could ask you for help, maybe you need to check one more pull request or an urgent bug on production appears and you need to stash all your work and move to fix it immediately. Well, that’s life. But the fact is: all this incoming stuff could prevent you from doing what you really should do. Fortunately, you can prepare for such situations! There are two simple things that you can do to handle unpredictable events — don’t allow them to happen or prepare for those that will happen.

Don’t disturb mode

Let’s start with the first option. You can schedule small time periods with all sources of disturbances turned off. No internet, no mobile phone, no Slack etc. Headphones up, do-not-disturb mode on. Probably everyone has heard about pomodoro technique (link) — it is super helpful especially for such situations. You can focus on one task for 25 minutes and then make a 5 min break to check all incoming stuff. I really love this technique and recommend trying it — especially since there are tons of applications to help using it. Even though, at first, it might seem that diving into pomodoro is a little selfish because people who need your help can’t reach you, but it’s quite opposite in fact. Trust me, quick answer with ‘Sure, will help, but in 10 min’ will make both sides happy.

Expect the unexpected!

Of course, nobody expects car accidents, but events such as the need for doing one more code review or help others are quite repeatable in every programmer's life. So just schedule some time for such unexpected things: you don’t run out of time if they happen and if they don’t — you just earn some additional time you can spend on working or playing foosball! Another thing is to create a fallback plan for really crucial situations that could occur — for example, what if there is an outage on production during the weekend. Professional teams have prepared strategies for such incidents (plan for handling critical situations doesn’t have to be very detailed, but it must exist!). Then, unexpected situations become quite predictable.


Photo by Nicolas Lobos on Unsplash

A very common thing in many board games is a different set of skills for each player. It might be starting ability or the skill set that is built during the game. The most important is to choose which skills you want to develop, improve them constantly and use them in the right way. The great example of a game which implements such mechanic is Terraforming Mars. In this strategy board game, each player runs a corporation which tries to have the biggest impact on terraforming red planet. Players build up their setup by buying project cards with specific abilities and complex combos with other cards. Investing in proper options and creating great interactions between them is a true essence of this game.

Know your superpowers

Just like in the mentioned title, building the right skill set and knowing how to use it is a foundation of effectiveness. To make it happen you need to know yourself really deeply — not only your strong sides but also the areas where you are weak. And I mean not only technical skills (while evaluating them from time to time is a good habit), but also soft-skills and personality traits. It’s really worth to spend some time to discover what is truly motivating you, what distracts you, how do you behave in difficult situations and what you can do about it. It’s a really huge topic and I’m just mentioning the tip of the iceberg here, but the conclusion is: the better you know yourself, the more productive you can become.

Give feedback to yourself

Another advice is to evaluate yourself after significant events in your life/at work. Actually, many people tend to do it, especially after big, unexpected failures. But the thing is to perform such introspection regularly and after success, too. Take a moment and think what happened, what is a worthy lesson to you and what you can do to prevent/to maintain such state in the future. This is the idea of self-feedback: look backwards to evaluate yourself from current perspective to become better in the future. I see that doing that kind of inspection is quite natural in board games world — after finishing game, I like to discuss with friends each player’s strategy, spot mistakes that were made and decisions that gave win.

Research, research and research

Another thing is to spend some time on researches to know what actions are worth to invest in. After working in a few software projects, we always have an outcome of retrospectives that doing researches is a valuable thing for development. Life goes on, the world changes so quickly and you would be lost without expanding your knowledge. Researches help to get more understanding of some topics but also remind that you should always grow up. Having a habit of spending time on reading and trying new things is one of the key behaviours of a truly effective person!


After spending quite a few hours in many board games, I can see that there are some general strategies that help to win. But the discovery that truly surprised me, is that some of them could be applied to real-life and work performance. Well, it convinces me that playing board games is not only fun but also a useful lesson!

Materials

If you like board games, mentioned titles are obligatory to play!

boardgamegeek.com/pandemic

boardgamegeek.com/scythe

boardgamegeek.com/terraforming-mars

Want to chat about gaming strategies?

Leave us a message!

Michał Łęcicki
Ruby Developer

Check my Twitter

Check my Linkedin

Did you like it? 

Sign up To VIsuality newsletter

READ ALSO

How to become a Ruby Certified Programmer Title image

How to become a Ruby Certified Programmer

14
.
11
.
2023
Michał Łęcicki
Ruby
Visuality
Vector Search in Ruby - Paweł Strzałkowski

Vector Search in Ruby

17
.
03
.
2024
Paweł Strzałkowski
ChatGPT
Embeddings
Postgresql
Ruby
Ruby on Rails
LLM Embeddings in Ruby - Paweł Strzałkowski

LLM Embeddings in Ruby

17
.
03
.
2024
Paweł Strzałkowski
Ruby
LLM
Embeddings
ChatGPT
Ollama
Handling Errors in Concurrent Ruby, Michał Łęcicki

Handling Errors in Concurrent Ruby

14
.
11
.
2023
Michał Łęcicki
Ruby
Ruby on Rails
Tutorial
Recap of Friendly.rb 2024 conference

Insights and Inspiration from Friendly.rb: A Ruby Conference Recap

02
.
10
.
2024
Kaja Witek
Conferences
Ruby on Rails

Covering indexes - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Ruby on Rails
Postgresql
Backend
Ula Sołogub - SQL Injection in Ruby on Rails

The Deadly Sins in RoR security - SQL Injection

14
.
11
.
2023
Urszula Sołogub
Backend
Ruby on Rails
Software
Michal - Highlights from Ruby Unconf 2024

Highlights from Ruby Unconf 2024

14
.
11
.
2023
Michał Łęcicki
Conferences
Visuality
Cezary Kłos - Optimizing Cloud Infrastructure by $40 000 Annually

Optimizing Cloud Infrastructure by $40 000 Annually

14
.
11
.
2023
Cezary Kłos
Backend
Ruby on Rails

Smooth Concurrent Updates with Hotwire Stimulus

14
.
11
.
2023
Michał Łęcicki
Hotwire
Ruby on Rails
Software
Tutorial

Freelancers vs Software house

02
.
10
.
2024
Michał Krochecki
Visuality
Business

Table partitioning in Rails, part 2 - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Backend
Postgresql
Ruby on Rails

N+1 in Ruby on Rails

14
.
11
.
2023
Katarzyna Melon-Markowska
Ruby on Rails
Ruby
Backend

Turbo Streams and current user

29
.
11
.
2023
Mateusz Bilski
Hotwire
Ruby on Rails
Backend
Frontend

Showing progress of background jobs with Turbo

14
.
11
.
2023
Michał Łęcicki
Ruby on Rails
Ruby
Hotwire
Frontend
Backend

Table partitioning in Rails, part 1 - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Postgresql
Backend
Ruby on Rails

Table partitioning types - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Postgresql
Backend

Indexing partitioned table - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Backend
Postgresql
SQL Views in Ruby on Rails

SQL views in Ruby on Rails

14
.
11
.
2023
Jan Grela
Backend
Ruby
Ruby on Rails
Postgresql
Design your bathroom in React

Design your bathroom in React

14
.
11
.
2023
Bartosz Bazański
Frontend
React
Lazy Attributes in Ruby - Krzysztof Wawer

Lazy attributes in Ruby

14
.
11
.
2023
Krzysztof Wawer
Ruby
Software

Exporting CSV files using COPY - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Postgresql
Ruby
Ruby on Rails
Michał Łęcicki - From Celluloid to Concurrent Ruby

From Celluloid to Concurrent Ruby: Practical Examples Of Multithreading Calls

14
.
11
.
2023
Michał Łęcicki
Backend
Ruby
Ruby on Rails
Software