Jobs and Projects (Chaos) over Books and Courses (Order) (Part II)
Thiago Ghisi
Director Of Engineering at Nubank | Ex-Apple & Ex-ThoughtWorks | Follow me for ??Tech Career Growth Tips, ??Engineering Leadership Insights & ?? My Books/Articles/Podcasts/Talks Highlights.
This is the Part 2 of 6 of a series I started last week about The Full Stack Career:
So, Why? Why should I care? Why should I go to this humongous effort of trying to go broad-first and find environments where I have mentors and can work ecosystem-wide?
---
First, I'm skeptical about learning only from books, courses, or side projects. To me, that is almost never close to reality. You can start there, but you have to know that that is only the tip of the iceberg.
Nobody should say they know a technology or a part of the stack if they have never delivered a couple of projects for a couple of years working on that full-time.
I'm a firm believer that the best learning happens when it is border-line to chaos, as Fabio A. wisely put it in one of his most famous Youtube Rants:?
Full transcript available?here ?(in Portuguese). English version (translated by Google Translate?here ).
Below are some of my favorite passages (translated):
You want to deliberately put yourself in stressful & unpredictable projects with some degree of chaos (of course, always balancing the risk) because you know that is where you will thrive and learn the most. That is where you will need to find information unavailable in any book or course.
It's normal to feel overwhelmed when taking on a project.
It takes time and energy to build the mental maps that let you navigate it all, and at the start of a project, it might feel like more than you can handle.?
"That feeling of discomfort is called learning." – Polina Giralt (Senior Staff Engineer at Squarespace)
Second, most of us will reach a plateau of knowing the 80/20 -?our point of diminishing return?- of some technology or a part of a stack after 2-3 years on a job immersed in delivering real production projects with resources and time constraints.
The level of effort needed to go from knowing the first 20% of an area/activity/skill/technology (a.k.a being an effective junior) to learning the remainder 80% to become an expert is massive, especially if you are at the beginning of your career and have not mastered all the fundaments yet.
That is why I say that to be a successful professional these days, I believe that one should go broad first (master the 20% that will allow you to deliver 80% of the tasks) and go in-depth only when there is a significant need, an ample opportunity, or a strong interest in keeping developing your skills further in a particular area. You must also be exposed to chaos under different constraints and environments to master the fundamentals.
A common belief is that specialization is the key to a successful career. However, research (more below) and real-life experiences suggest that breadth, diverse backgrounds, and interdisciplinary thinking are more important.
领英推荐
Range — Why Generalists Triumph in a Specialized World ?that was recommended by — no one less than — Bill Gates as?one of the best books he read in 2020 offers two interesting insights:
Third, it is a combination of the two: If you can only learn deeply enough on real projects with real people with real constraints (chaos) and if after 2-3 years, most of us will reach our point of diminishing return learning-wise, combined with the topic I'm going to explain below of approaching your Career Capital as a Skill Stacking problem that you have to solve via Graph Traversal, it will be hard to beat the strategy of?deliberately changing jobs every 2-3 years?along with seeking some degree of chaos and order.
Please note that I'm not recommending here changing jobs every six months. I'm saying every 2-3 years. I'm also not saying change companies - you can still change your job and stay in the same company.
Even if you can't change completely the part of the stack you are working on or your primary expertise (let's say from Mobile to DevOps), switching companies will make you change some of the core parts of your job, the platforms, the product, the people and the process (more on my article here ). And those are as important as changing stack, programming language paradigm, technologies, or expertise.
Sometimes you change your companies but don't change your job. (the 4 Ps are still pretty much the same). Sometimes, you don't change companies, but you change your job. (i.e., promotion, move to a different org, start to work on a different role).
Coming up:
Career Capital and Skill Stacking as a Graph Traversal Problem
...
"Jack of All Trades, Master of None" - The Strawman argument
...
How?
How having a "t-shape" mentality/approach (or, Paint Drip, Generalizing Specialist or Full Stack…)?can help I to increase my impact (and the impact of your team/company) anywhere I go and build an incredible & antifragile career in the long-term as an IC or as a Manager, Mobile, Backend, Infra and Beyond?
1. Not Layers or End-to-End Slices, Fully Baked Cupcakes! (Ownership)
...
2. Not only Solving the Problem, Discovering the best Ecosystem-wide Solution! (Efficiency)
...
3. Not Independent Work-streams, Autonomous Individuals & Teams! (Autonomy)
...
Tinkerer
1 年人生的路不只一条
CTO & Partner @ Morningtrain | We build web that solve B2B pains
1 年I actually believe that when you first presented the T-shaped Engineer, it was the reason I started following you. Looking forward to this Thiago!
I help driven Founders become world-class CEOs — so their startup ‘gets better, as it gets bigger’ & they don't burnout // Share lessons from 321 Education (0→~100 team, 300,000 learners, 10yrs) & current Solopreneurship
1 年Look forward to reading Thiago. I love how you are pushing deeper into the nuances of this topic