This post is part of a series. Each post uses a different metaphor to illustrate a specific aspect of the learning process. You can check the following posts The Landscape of Knowledge and The Pyramid of Expertise.
“Travel is like an endless university. You never stop learning.”
— Harvey Lloyd, American photographer
Life is a journey.
The first step of our journey leads us to the city of learning. Like any tourist, our goal is to visit the most beautiful places and come back with great memories.
As time is precious, a little preparation is always a good idea. At our arrival, we make a detour to the tourist information office and grab a map of the city:
![](/posts_resources/2020-12-08-the-city-of-learning/map-x2.png)
Let’s get started!
The Travel Guidebook
Before a journey, many tourists buy a city guide, available in any bookshop or library. These books contain all the “incontournable” places—shops, museums, restaurants, and so much more. To get the most of your time, travel guides include predefined itineraries to make sure you do not miss anything.
![](/posts_resources/2020-12-08-the-city-of-learning/map-single-path-x2.png)
My wife and I are big fans of these itineraries during our first days. I’m also a huge fan of Google Maps and Google Street View (I consider myself a virtual globetrotter, better than couchsurfing since I’m using my own couch). I spent a lot of time preparing our vacations online, but once there, I’m not very reliable and it’s not uncommon for us to end in unexpected places. But that’s a good thing.
Imagine if every traveller were following the same guide at the same time. We would walk along each other on the sidewalk, and wait in line to visit popular attractions at the same time. Clearly not the best travel experience. Instead, travellers are spreaded naturally all around the city, admiring the monuments, and following their own interests to determine the next street to visit. That’s what travelling is and that’s what learning must look like too.
Indeed, we all have different backgrounds. We haven’t studied at the same university. We often haven’t even studied the same courses. Some of us are just joining the professional world, some are starting a new career in a new company, while others are at the same desk for a long time. That is called diversity, and provided that diversity is inclusive, which means we all have enough bagages in common to understand each other, that’s a very nice environment in which to progress and innovate.1
![](/posts_resources/2020-12-08-the-city-of-learning/map-diversity-x2.png)
We have a team with a lot of diverse experiences, but too few common grounds to create a jelled team.
![](/posts_resources/2020-12-08-the-city-of-learning/map-diversity-inclusive-x2.png)
We have a team with diverse experiences, and also common grounds to ease the communication between team members.
Diversity is great. You don’t follow other tourists when visiting a city. You must do the same when learning. You must find your own path. There are clearly overcrowded places that you must visit, but remember innovation always happens when someone decides to travel off the beaten path. Choose what interests you the most at the present time and follow that direction.
✔️ Learning is not a river. There is no single path to follow. Use your curiosity as a compass.
Most companies offer their employees the possibility to enroll in training programs. In my previous job, I assume on several occasions the role of training instructor. I must confess that I’m not a big fan of training programs. Writing the support for a new training takes a long time and therefore, for practical reasons, you must optimize the content to satisfy the aspirations of a sufficiently large number of potential trainees. You cannot adventure in a no-man’s land.
Trainings often looks like:
![](/posts_resources/2020-12-08-the-city-of-learning/map-single-path.png)
During the training session, you are on the passenger seat, observing the main streets, taking pictures of the main landmarks, but you are not really feeling the excitement of the city, which often happens in the back streets.
Trainings are guided tours, like the recommended itineraries in your guide. You will learn a lot, but that’s not the most enjoyable experience.
A few companies go even further, prescribing a list of mandatory training courses their employees must follow to advance their career. That’s nonsense. That’s destructive for innovation. If everyone follows the same path, you must not be surprised that everyone starts thinking similarly. Please, don’t do that. Let employees be the drivers of their career and determine their learning path. Training courses are still useful, as long as your have options.
The route deviation
Learning a new subject is not easy. Sometimes, it is just too hard. As a developer, having basic knowledge in networks is not simply useful, it’s imperative since the majority of programs don’t run in isolation but communicate with the outside world. But things are not so simple. I flunked at university. I flunked at work. Sometimes, the road is too steep.
What you need is to follow your inner GPS. You are not forced to turn at the next intersection. You may continue straight and find an alternative itinerary that goes to the same point, using a longer road that is considerably less steep than the initial road. Moving towards the destination is the goal. The faster we move, the better. But remember moving at a slow pace is infinitely better than being stuck at the same place. You need to find your own way, which means, once again, you need to learn to appreciate self-guided tours.
Concerning my difficulties about learning networks, I decided to rethink my approach. My previous expositions on the subject all used the same bottom-up approach, starting with the lower layers. Therefore:
- I decided to move in the opposite direction, starting with application protocols like HTTP, before moving down the TCP/IP model.
- I read several similar books even if they covered the same materials. Sometimes, a little repetition is necessary.
- I looked under the hood of the TCP/IP stack in Linux to face the reality that networking is just code running on servers, and as a developer, there is no reason I can’t make sense of it.
My journey is not over. I’m progressing slower than my peers at work, but I’m moving, I’m learning, and so I’m succeeding.
Self-guided tours are preferable concerning learning but this strategy is not always applicable.
If you are on the rear of a tandem bicycle, your handlebar is of no use to control the direction. You must be in the driver seat. You must be in control of your learning path, something that is called active learning.
If you are at school, the teacher is often leading the lecture (passive learning) and there is no easy way out. But if you are reading a book, watching a conference or following a MOOC, you can pause, open the map and find a new itinerary. It may be a beginner book on the subject, a new introductory blog post to read, or simply a good night’s sleep.
✔️ Self-guided tours are the way to go.
The Gift of Ubiquity
Unlike the real-world where you always stand at a well-defined location, learning is different. You can follow different paths at the same time. During your studies, you were taking different courses during the same semester, all on different topics. This is possible because we have the gift of ubiquity when it comes to learning. We can be at multiple locations, following multiple learning paths, and that’s very useful.
![](/posts_resources/2020-12-08-the-city-of-learning/map-two-paths-x2.png)
Indeed, learning on different subjects is preferable as it increases the time between review sessions, so that we can reflect more on the subject and slowly consolidate what we are learning to make it stick. If we had to focus on only one topic instead, we would feel literally submerged with a flood of new information, and as we know it, cramming is a bad strategy to learn and remember what we learn. The ubiquitousness of learning allows us to move slower, to appreciate the landscape, and enjoy the journey. But that’s not the only advantage.
When following several paths, there are inevitably moments when paths are crossing, when we are making connections among subjects, connecting the dots like neurons are interconnected in our memory. There’s an old saying in neuroscience: “neurons that fire together wire together.” The more we create connections during learning, the stronger that learning is, and the easier it becomes to apply knowledge from one domain to a different one, which is called transfer of learning.
✔️ Mastering a subject takes time. You may be tempted to rush, but the truth is there is an incompressible time for you to reach expertise on any subject. You will get better results if you learn several related topics at your own pace instead of trying to cram too much information like training programs try to do in a short time.
The Illusion of Teleportation
Sometimes, we are not in control of our learning. We are suddenly teleported somewhere else on the map, in a remote location that looks unfamiliar. This happens when you enroll in a training session without having the prerequisites, when a colleague shares with you a new tool that he has discovered recently and you haven’t heard before, or when you must complete a challenging task. These situations are perilous and you must work hard to not stay at this place for too long.
![](/posts_resources/2020-12-08-the-city-of-learning/map-teleportation-x2.png)
The farther you have been teleported from known lands, the more difficult the task will be. The goal is to find your way back and join one of your already explored paths. Also. Don’t panic. Ask for directions.
✔️ Be curious. A taxi driver doesn’t need to know all the streets to find his way in the city. Knowing the main roads can take you very far away. Therefore, add a little breadth to your learning so that the moment you will be dispatched to a new land, you will not be completely lost.
Breadth vs Depth
The history of your GPS positions says a lot about which kind of developer you are.
The Dash-Shaped Developer (the “Buzzword Developer”)
The Dash-shaped developer is a generalist. He has a breadth of experience, but little depth, as outlined in the following figure:
![](/posts_resources/2020-12-08-the-city-of-learning/map-dash-shaped-x2.png)
He is eager to learn about new buzzwords, latest trends, and new technologies. He seems very knowledgeable, but as he is always driven by the latest innovations, he can’t really afford the required time to dig into any of them, and will therefore underperform at work.
A software project is so much more than just a collection of buzzwords. A project often uses a single programming language for the majority of the codebase, a single paradigm, and only a few frameworks. Software projects don’t need dash-shaped developers.
![](/posts_resources/2020-12-08-the-city-of-learning/map-project-x2.png)
The I-Shaped Developer (the “Expert”)
The I-shaped developer is a specialist with a well-defined area of expertise.
![](/posts_resources/2020-12-08-the-city-of-learning/map-i-shaped-x2.png)
The I-shaped developer rarely adventures outside the quarter where he lives, but for complex problems to solve, the I-shaped developer will be the one that will get you out of trouble in the shortest time. He lacks, however, the polyvalence that projects require to reach completion, and while you may combine experts on the same project, you need to remember the differences between diversity and inclusive diversity.
We can also cite M-shaped developers, which are a variation of I-shaped developers with multiple specialties.
The T-Shaped Developer (the “Recruiter Target”)
The T-shaped developer represents the classic agile team member, which explains why he is often the ideal hire for a company. The T-shaped developer has a specialty (e.g., Go Backend Developer), and in addition, has a wide breadth of experience with other skills (e.g., technical writing, UX Design, DevOps practices, …).
![](/posts_resources/2020-12-08-the-city-of-learning/map-t-shaped-x2.png)
We can also cite Pi-shaped developers which combine T-shaped and M-shaped developers, having depth and breadth with multiple specialities.
✔️ In the same way diversity is important for a team, diversity is important during the learning process. Stay up-to-date with the latest innovations, and take the time to go deeper on the subjects that really motivate you.
The Liberty of Self-Teaching
We’re getting near the end of this first article in the series. We’ve come a long way in our journey, visiting the city using different modes of transportation, at different paces, with different objectives. What I would like you to take away are these two tips:
-
Follow your direction. Remember you don’t have to be on the passenger seat. You are free to explore the city on your own, choosing where you want to go, and the path to go there.
-
Follow your pace. Learning is a slow process. You may speed up when the road is flat. But sometimes, you have to slow down when the road becomes too steep. Learning is not a race. Learning is just moving.
In the next article of this series, we will escape the city to discover the wonders of the world. We will discuss how to expand our knowledge and our ignorance in new directions at the same time. Fasten your seat belt and get ready for a wild ride.