Thiago Ghisi Profile picture
Dec 31, 2022 24 tweets 25 min read Read on X
I've watched 1000+ Conferences Talks over the last 20 years in Tech. I used to watch one every night after dinner for years.

Below are The 22 Talks that Impacted my Career the most ➕ my main highlights from each one.

🧵🧵🧵
1️⃣ Øredev 2011 - Sleeping with the enemy by Gojko Adzic (@gojkoadzic)

→ Link:

"The new mission of QAs should be teach programmers to collaborate, own quality together, automate tests or checks together."

Back in 2011, this was controversial. I 💚 it.
2️⃣ LKCE 2015 (Lean Kanban Central Europe) - Actionable Metrics for Predictability by Daniel Vacanti (@danvacanti)

→ Link: vimeo.com/146545310

I call Dan "The Kanban Metrics Guy". In this talk, he simplifies Little's Law so that a 5-year-old can understand it.
3️⃣ NDC Conference 2013 - Architecture: The Lost Years by Robert Martin (@unclebobmartin)

→ Link: vimeo.com/68215570

I attended a meetup with Robert in NYC in 2014 when I had just moved here. He gave a version of this talk. All the concepts got deeply stuck with me.
4️⃣ GTAC 2007 - Sufficiently Advanced Monitoring is Indistinguishable from Testing by Ed Keyes

→ Link:

All concepts in there are 20 years ahead of their time.

But unfortunately, most still don't understand it.

Watch it on repeat. You will thank me.
5️⃣ Agile Brazil 2010 - Ponha as cartas na parede, o uso eficaz do "Agile Card Wall" by Paulo Caroli (@paulocaroli)

→ Link: slideshare.net/paulocaroli/po…

Unfortunately, there are no recordings of this talk, but I remember it being awesome! Paulo is one of the best speakers I know.
6️⃣ LeadDevNewYork 2019 - Being Glue by Tanya Reilly (@whereistanya).

→ Link:

This is one of the most influential talks of the decade.

If you have not watched it yet, stop everything you are doing and do it now.
7️⃣ GOTO 2016 - 7 Secrets of Maintainable Codebases by Adam Tornhill (@adamtornhill)

→ Link:

Adam is also the author of one of my favorite books ever: Your Code as a Crime Scene.
8️⃣ GTAC 2011 (Google Test Automation Conference) - Test is Dead by Alberto Savoia (@pretotyping)

→ Link:
9️⃣ Agile Brazil 2010 - Learning and Coolness, Beyond XP (Extreme Programming) by Klaus Wuestefeld (@klauswuestefeld)

→ Link (pt-br): infoq.com/br/presentatio…

→ Link (blogpost/en): klauswuestefeld.blogspot.com/2010/07/l-lear…

Klaus presented it from a text file for 400+ people. It was awesome!
1️⃣0️⃣ RailsConf 09 - What Killed Smalltalk Could Kill Ruby, Too by Robert Martin (@unclebobmartin):

→ Link:

This has the epic Uncle Bob's Speech on Professionalism.

Many kudos to @AkitaOnRails for adding Portuguese subtitles to this back in the day.
1️⃣1️⃣ Dev in Rio 2010 - Empreendendo uma comunidade de sucesso by Henrique Bastos (@henriquebastos).

→ Link: infoq.com/br/presentatio…

→ YTB:

This talk was the waking up call for me to create @DojoTuba - a Coding Dojo Group in Tubarão, SC, Brazil in 2011
1️⃣2️⃣ Agile on the Beach 2019 - Visualising Software Architecture with the C4 model by Simon Brown (@simonbrown)

→ Link:

Simon is also the author of the C4 Model, one of the best Architecture Models that I know, what UML was never able to be.
1️⃣3️⃣ IK MicroClass 2020 - Strategizing Your Multimillion-Dollar Retirement Plan by Ryan Valles (@ryanvalles)

→ Link:

Along with @GergelyOrosz's article 'The Trimodal Nature of Software Eng. Salaries', this talk was eye-opening.

1️⃣4️⃣ Agile Testing Days 2012 - Reinventing Software Quality by Gojko Adzic (@gojkoadzic)

→ Link:

Make Impact, Not Software. I call this ‘The GPS Talk’.

Gojko is also author of a short book I often gift Product Managers I work with: Impact Mapping.
1️⃣5️⃣ Lone Star Ruby Conference 2010 - Real Software Engineering by Glenn Vanderburg (@glv)

→ Link:

Glenn and I are now co-workers at Nubank and he mentioned the latest version of his talk is much better.

→ Link (newer version):
1️⃣6️⃣ DevConFu 2013 - Integrated Tests Are A Scam by J.B. Rainsberger (@jbrains)

→ Link: vimeo.com/80533536

Along with the GOOS Book, @mfeathers's book & @thejayfields's book, it had a huge influence on me on how I approach Dealing with Legacy Codebases & Large Test Suites
1️⃣7️⃣ GOTO 2012 - Scaling Yourself by Scott Hanselman (@shanselman)

→ Link:

Don't know How to Scale Your Impact & Influence as an Engineer (inside and outside your company)?

This talk is the best definition I found on how to be a 10X engineer.
1️⃣8️⃣ Agile 2012 - Creating Maintainable Automated Acceptance Test Suites by Jez Humble (@jezhumble)

→ Link:
1️⃣9️⃣ DevTernity 2017 - The Long Road by Sandro Mancuso (@sandromancuso)

→ Link:

I read Sandro’s book in 2014/2015 and many of his ideas had a huge influence on my career, especially his views around ownership, hiring and professionalism.
2️⃣0️⃣ Agile India 2012 - Programmer Anarchy by Fred George (@fgeorge52)

→ Link:

I came across this talk when I was at @thoughtworks in an internal mailing list. We (myself included) were allergic to management & titles and this was challenging both.
2️⃣1️⃣ SREcon22 Americas - Principled Performance Analytics by Narayan Desai & Brent Bryan

→Link:

How a new & much simpler approach called 2-Sigma Observability can massively reduce the number of false positive alerts & uncover some undetectable issues
2️⃣2️⃣ You Are Burned Out And Don't Even Know It by @HealthyGamerGG

→ Link:

It should be called “Debugging Burnout” and should be mandatory to all managers.

Most people that talk about burnout have no idea about what actually (scientifically) causes it.
Those are talks that I shared the most with peers & leaders in different companies I passed. I hope you've found this list helpful.

If you liked it, follow me @thiagoghisi for more.

And, please 🙏 Like & Retweet the first tweet below if you can to help me to spread this.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Thiago Ghisi

Thiago Ghisi Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @thiagoghisi

Jul 14, 2024
What are the Recurring Expectations for Achieving Staff-Plus Level Across Tech Companies, and Where do Senior Engineers Most Often Fall Short?
These are the 3 things I found that, if you do consistency, will make you golden as a Staff-Plus Engineer at pretty much any company. These are also the 3 most common expectations I have seen across the board for Staff Engineers. And by coincidence or not, these are also the 3 things I've seeing struggling Senior Engineers completely neglecting or being completely unaware of.

Here is my answer based on my last 8 years of experience on the Management track both as an EM and as a Director.

1️⃣ Blast radius:

There is this idea that you need to have a wide impact. As a staff, the impact should go beyond a single group or beyond a single project. There is, on the other side, this idea that you should be technically excellent. You should go deep, and you're the person that knows the most about the topic.
(Side-note: @alexewerlof wrote a fantastic article on this called "Beyond Staff Engineer")

I actually believe the mistake a lot of people make is that they go so deep on the technical expertise that they forget the organizational surface expectation, or what I call the blast radius of impact of what they are doing. In my view, yes, technical depth is important. We're going to see on part two of my talk, on the behaviors on why that's important. But, where I see a lot of people dropping the ball is on the blast radius, in terms of impacting the broad organization.
The reason why I chose blast radius, and not only like high impact, is because there are different shapes of blast radius. You can have an impact on something that's deep, something that almost changes how a product line works. Or, you can create a new platform, a new library or something that is going to make everybody else more productive, all the engineers are going to know who you are or the tool, the innovation you made. Blast radius is the thing that you have to keep in mind in this expectation for staff-plus. If you are working on a project that's only affecting a single repo, and not everybody is or will be knowing about that thing soon, is usually a red flag.

On High-Blast Radius, I honestly don't care how technical you are; I care about the blast radius impact of what you work on. It can be a blast radius that is super wide and affects the whole company, or it can be super deep in one area that almost revolutionizes how the product or the product line operates and has profound implications on that particular business area. On both angles, that impacted the company as a whole if you were able to fundamentally change how things were done in a product or product line; although your impact can be considered contained in that area, it impacted the revenue or the cost structure or the customer experience of the whole company. So keep that in mind; even small but deep blast radii are high-blast radii if you look from business eyes into that.

...continue...

🧵Image
Image
Image
Image
2⃣ Multi-Scale Planning:

Multi-scale planning was an idea I first encountered in David Allen's "Getting Things Done," where it's described as the horizons of focus. I later came across a similar concept, the horizons of perspective, in the fantastic "Building a Second Brain" course by @fortelabs.
Many people talk about the importance of Big-Picture Thinking, emphasizing that staff engineers should focus on the next two to three years. I agree with that.
However, the thing that I see a lot of people dropping the ball is on understanding how those things come into play. A super common shortcoming: understanding how these long-term visions translate into actionable steps.
As you move up on the ladder, you go from knowing what you will do in the next few hours to knowing what to do in the next few days. Of course, as you get to Principal and Director Level, you're expected to be almost 1 year ahead and to be removing risks, or planning the roadmap for the things in the next year or so. That's fair. I think the problem that I see a lot of people missing is that they don't understand how to cascade things from the day to the week to the quarter in how the organization dynamic actually works.
Highly effective staff engineers excel in multi-scale planning, even though this skill is often not explicitly outlined in career ladders. These engineers understand how to anticipate project needs, such as foreseeing the necessity for additional resources or preparing pitches for the CEO. They adeptly navigate different time horizons, ensuring that visionary ideas are grounded in reality and aligned with organizational structures.

They know how to play the different time horizons and to bring things back and forth. They are not only thinking about the next few years and having very visionary ideas, but it's also how you bring that in reality and how they will play with the organizational structure to make that a reality.
One common mistake among senior engineers is over-reliance on short-term solutions, like intense two-week projects. This approach can lead to burnout and is unsustainable. Instead, the focus should be on sustainable planning, balancing immediate tasks with long-term goals, and integrating these plans within the organization's framework to achieve lasting success.Image
Image
Image
Image
3⃣Ownership & Autonomy level:

Then the third expectation that, again, is not clear on the ladder, but I feel is where a lot of people get it wrong is the idea of implementer, solvers, and finders.
(Side-note: @rkoutnik's canonical article called "Implementers, Solvers, and Finders")

At the start of one's career, you are an Implementer, tasked with executing specific instructions and replicating given solutions, examples or patterns. Someone will give you a TASK and the HOW.
As you advance to a senior level, you become a Solver, where you are provided with problems that you need to figure out independently. Someone gives you a problem, and you go and you figure out. There is not clear HOW.
However, many people stop at being solvers. There is even the archetype that's called Solver that I think actually creates more damage than it helps IMO
The next critical level is the Finder. This role is about not only solving problems but also anticipating and identifying future priorities and challenges for the organization. It is someone that is not only solving problems and different shapes of problems, but is someone that's thinking ahead of time, and is finding the next priorities, the next things that the organization needs to focus.
If you visualize this on a career ladder, you start as an Implementer, progress to a Solver, and then advance to a Finder.

In reality, you never entirely stop being a solver or implementer. As said, a common mistake is that some professionals never transition to the Finder role, remaining perpetually in Solver mode. Conversely, others may focus solely on finding problems without contributing to their resolution, merely pointing out potential obstacles or risks. They're just going finding mode, and they throw over like: "There is this problem here, we're going to get blocked here." And they don't help any further.

In reality, the very effective staff engineers and the behavior that they do, is pretty much this. They're able to go back and forth on the different horizons of time, but also in different modes.

Effective staff engineers excel by seamlessly shifting between these roles and time horizons. They can move back and forth between implementing, solving, and finding as needed. If there is no one to delegate tasks to, they take on the solver role. When implementation is necessary, they step in to execute tasks. Mastery in these dynamics ensures their effectiveness and value within the organization.Image
Image
Image
Image
Read 4 tweets
Nov 26, 2023
Ten Principles for Growth as an Engineer by Dan Heller:

“These are the most important lessons that I wish I had learned ears earlier than I did; I sure wish someone had sent it to me when I was 22.”

1. Reason about business value: Reason like a CEO. Understand the value of your work to your company, and take responsibility for reasoning about quality, feature richness, and speed. Your job isn't just to write code; your job is to make good decisions and help your company succeed, and that requires understanding what really matters.

2. Unblock yourself: Learn to never, ever accept being blocked; find a way by persuasion, escalation, or technical creativity. Again, your job isn't just to write the code and wait for everything else to fall into place; your job is to figure out how to create value with your efforts.

3. Take initiative: The most common misconception in software is that there are grown-ups out there who are on top of things. Own your team's and company's mission. Don't wait to be told; think about what needs doing and do it or advocate for it. Managers depend on the creativity and intelligence of their engineers, not figuring it all out themselves.

4. Improve your writing: Crisp technical writing eases collaboration and greatly improves your ability to persuade, inform, and teach. Remember who your audience is and what they know, write clearly and concisely, and almost al-wavs include a tl;dr above the fold

5. Own your project management: Understand the dependency graph for your project, ensure key pieces have owners, write good summaries of plans and status, and proactively inform stakcholders of plans and progress. Practice running meetings! All this enables you to take on much bigger projects and is great preparation for leadership.
Image
6. Own your education: Pursue mastery of your craft. Your career should be a journey of constant growth, but no one else will ensure that you grow. Find a way to make learning part of your daily life (even 5 minutes/ day); get on mailing lists, find papers and books that are worth reading, and read the manual cover to cover for technologies you work with. Consistency is key; build habits that will keep you growing throughout your career.

7. Master your tools: Mastery of editor, debugger, compiler, IDE, database, network tools, and Unix commands is incredibly empowering and likely the best way to increase your development speed. When you encounter a new technology or command, go deeper than you think you have to; you'll learn tricks that will serve you well again and again.

8. Communicate proactively: Regular, well-organized communication builds confidence and goodwill in collabor-ators; knowledge-sharing creates an atmosphere of learning and camaraderie. Share knowledge, and set a regular cadence of informing stakeholders on project goals, progress, and obstacles. Give talks and speak up judiciously in meetings.

9.Find opportunities to collaborate: Good collaboration both increases your leverage and improves your visibility in your organization. Advancing your craft as an engineer requires you to have an impact beyond the code you write, and advancing your career requires, to a certain degree, building a personal brand at your company Cross-functional projects and professional, respectful collaboration are critical to both.

professional and reliable: Think of yourself as a professional, and act like one. Come to meetings on time and prepared, then pay attention. Deliver what you say you will, and communicate proactively when things go wrong (they will). Keep your cool, and express objections respectfully. Show your colleagues respect and appreciation. Minimize your complaining; bring the people around you up, not down. Everyone appreciates a true professional; more importantly, it's the right way to behave.
7. Master your tools: Mastery of editor, debugger, compiler, IDE, database, network tools, and Unix commands is incredibly empowering and likely the best way to increase your development speed. When you encounter a new technology or command, go deeper than you think you have to; you'll learn tricks that will serve you well again and again.
Read 6 tweets
Apr 27, 2023
I've read 500+ books and accumulated 55.000+ notes & highlights over the last ten years. 99% of those books were non-fiction & mostly around Software Engineering.

Below are The 22 Technical Books that Impacted my Career the most ➕ their highest-density chapters & pages.

🧵

Image
Image
Image
1️⃣ The Software Craftsman: Professionalism, Pragmatism, Pride by @sandromancuso.


Image
Image
Image
Image
2️⃣ Working Effectively with Legacy Code by @mfeathers.


Image
Image
Image
Image
Read 26 tweets
Feb 26, 2023
Why do we need Technical Engineering Managers?

Below is a list of Lesser-Known Reasons why we need More Technical Engineering Managers:

1- Prevent team members from underperforming due to a lack of opportunities! How? 👇

🧵
Failing to identify if the task/feature/problem at hand is complex enough to require a Senior or a Staff Eng (or if a Junior Eng can do it) leads to teams overloaded by overqualified engineers that frequently step on each other feet.
2- Proactively manages low performers!

Frequently review/inspect the quality & cadence/throughput/size of ongoing pull requests (and other contributions) for each team member and give specific & concrete feedback on what they need to do to reach their expected performance level.
Read 11 tweets
Feb 14, 2023
I have interviewed 300+ Senior Engineers, Tech Leads & Engineering Managers over the last 10 years of my career.

Here are the most actionable tips I learned on how you can do better on Behavioral Interviews as EMs/Staff+ and also some common pitfalls:

🧵🧵🧵
1. The STAR format is like a Three-Course Meal:

• The Situation/Task is the Appetizer,

• Your Actions are the Main Course,

• The Results are the Dessert, the cherry on top.

Don’t overfeed the interviewer at any point, otherwise…
The same way that if a chef overfeeds a customer with too much food in a course, they are not going to be ready to eat the next one, you also don't want to overfeed the interviewer with too much information at any point.

Always assume that if they want more, they will ask for it
Read 14 tweets
Feb 3, 2023
Remote Pair Programming Good Practices: A Thread.

Found the slides of a presentation that @qcoding and I gave to the entire CTO Org at Amex two years ago when we were both there.

Thought it had a lot of great stuff that could still be useful to others.

Why not share?

🧵 ImageImageImageImage
Remote pair programming:

Outline:

1. When to do it,
2. When NOT to do it,
3. Practical Tips on how to do it,
4. Recommended tools,
5. Additional references.

But first, let's start with WHY to do it.

0. Why to do it

WHY? Image
I'm pretty sure the first question that comes to mind is Why?

Why should I pair?

Why would TWO engineers share the SAME machine and work on the SAME problem for hours or sometimes for multiple days?

Well, pairing brings many benefits.

Here are a few we want to highlight: Image
Read 39 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(