Coding Chats episode 37 - John Crickett and Simon Copsey explore the intricate relationship between technology, management, and leadership in software engineering. They discuss the limitations of technology, particularly AI, emphasizing that while it can be a powerful tool, it is not a one-size-fits-all solution. The importance of soft skills, situational leadership, and understanding organizational dynamics is highlighted as essential for effective management. They also delve into the significance of learning from mistakes and the need for psychological safety in decision-making processes.
Chapters
00:00 Technology: Necessary but Not Sufficient
02:49 AI: The Shiny Object Syndrome
05:38 The Role of Collaboration in Software Engineering
08:09 Management vs. Engineering: A Different Skill Set
10:33 Understanding Team Dynamics and Cooperation
13:28 The Importance of Systems Thinking
16:13 Identifying Underlying Causes in Organizations
18:58 Creating Paths of Least Resistance
21:37 The Impact of Metrics on Team Behavior
23:54 The Role of Systems in Organizational Success
26:00 Balancing Individual Uniqueness and Organizational Needs
31:53 Leadership Models and Situational Context
34:20 Bureaucracy vs. Creativity in Leadership
37:37 Command and Control vs. Intent-Based Leadership
42:35 The Importance of Psychological Safety
45:18 Learning from Mistakes and Decision-Making
48:51 Sociocratic vs. Democratic Leadership
53:11 The Role of Assumptions in Decision-Making
56:37 Adapting Leadership Styles to Team Contexts
01:00:49 The Importance of Asking Why in Leadership
01:04:34 Summary of Key Insights
01:09:37 Outro Final Coding Chats.mp4
LINKS
Talk by Simon: From Diapers to Delivery: Parenting Lessons for Management - https://www.youtube.com/watch?v=HBCLoklUZMg
References:
The Goal (Book, Eli Goldratt)Necessary But Not Sufficient (Book, Eli Goldratt)
Technical debt is a myth (Article, Noah Cantor)
Management in Small Doses (Book, Russell Ackoff)
The New Economics (Book, W. Edwards Deming)
Thinking for a Change (Book, Lisa Scheinkopf)
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters:
Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
Technology is necessary but not sufficient for success.AI should be applied to specific problems, not as a blanket solution.
Management is a distinct career path from engineering.
Soft skills are crucial in software engineering.
Mistakes are essential for learning and growth.
Situational leadership adapts to the context and team dynamics.
Understanding the system is key to solving organizational problems.
Effective decision-making requires psychological safety.
Disagree and commit fosters a culture of learning.
Assumptions should be documented to facilitate learning.