Fear in Tech - Titus Winters - Keynote Meeting C++ 2024
1:11:44 Story Point Estimation: Story points are a measure of task difficulty, not impact, and they are better than many alternatives but should not be set in stone.
1:12:29 Grading on Story Points: It's inappropriate to evaluate individuals based on the number of story points completed, as it measures activity, not value.
1:13:14 Documentation and Team Size: The impact of documentation on team culture is primarily relevant to smaller, "pizza-sized" teams, based on the scale of the Dora research.
1:14:11 Communication in Remote Teams: Leaders in remote teams must actively engage team members and build relationships to foster open communication. It is suggested to ask specific team members about their thoughts and concerns.
1:16:20 Interview Processes: The current technical interview process, which often relies on whiteboard coding and LeetCode problems, may not accurately assess a candidate's suitability for a role. It is suggested that code review could be a better metric.
1:18:23 "Team Fit" Interviews: When interviewing for team fit, evaluating a candidate's personal values and interpersonal skills is crucial, as technical skills can be trained more easily than personal qualities.
1:20:13 Unionization in Tech: Historically, unionization can be beneficial for workers' rights, but it's not a guaranteed solution, as unions can become power-oriented or rules-focused.
1:21:39 Inspiration for the Talk: The speaker aimed to address social, teamwork, and leadership issues, emphasizing the responsibility of respected community members to tackle these topics.
1:23:19 Visibility and Recognition: The "Kudos" ritual can help recognize deserving team members who might otherwise be overlooked.
1:24:54 Backward Compatibility in C++: Breaking backward compatibility in C++ is challenging due to the "haunted graveyard" effect, where past decisions constrain future flexibility.
1:30:26 Backward Compatibility: The key issue is not "can we break compatibility?" but rather "who bears the cost of breaking it?". Standardization of the language specification without ecosystem control limits flexibility.
1:33:36 Documentation Quality: The timing and criteria for valuable documentation depend on its purpose. Documentation that influences team culture includes onboarding docs, how-to guides, and team working agreements.
1:35:49 Conceptual Documentation: Conceptual documentation that explains a team's thinking and approach is particularly valuable. It is suggested to focus on conceptual material over how-to documents.
1:38:49 Driving Change: To improve practices, it is suggested to initiate open conversations with managers about adopting better approaches.
1:40:34 Impostor Syndrome and LLMs: The pressure on junior developers to quickly generate value can lead to over-reliance on Large Language Models (LLMs). However, using LLMs as a primary source can result in poor-quality code.
1:41:51 CS Education and Generative AI: The computer science education community faces challenges with generative AI automating parts of the curriculum. A proposed solution is to shift the focus from solving algorithmic problems to creating and evaluating code, similar to an art or architecture class.
1:44:21 Arbitrariness in Large Teams: Operating with imperfect information is inevitable. It's important to accept that some decisions will be arbitrary and strive for a holistic understanding of the environment.
1:45:58 Cross-Team Kudos: Giving kudos to team members outside of your team can be done through Google's peer bonus system or by sending an email to their manager.
1:47:59 Cultural Shifts Post-COVID: The work-from-home era boosted productivity for senior engineers but hindered junior engineers' growth due to the lack of informal learning opportunities.
1:49:48 Remote Work Challenges: Team leads and managers need to make active efforts to integrate junior engineers into the team and facilitate their development in remote settings.
1:51:39 Loss of Trust: When trust in an organization erodes, leaving may be the best option. It is suggested to always have an exit strategy.
1:53:53 "Monkey Meeting": In a "monkey meeting," team members share their biggest mistakes. Leaders should participate to normalize vulnerability and learn from mistakes. Initially, it might be awkward, but it becomes easier over time.
1:56:53 Documentation and LLMs: Using LLMs to improve documentation requires addressing outdated and incorrect information in the existing corpus. The speaker emphasizes "garbage in, garbage out".
1:58:44 C++ and Public Pressure: Concerns about C++ being an "unsafe" language are valid, but there are still opportunities in the field due to the vast amount of existing C++ code.
2:01:18 Future of C++: It is predicted that there will be a continued use of C++ for at least a decade or two. However, new EU regulations may increase financial liability for software providers due to security vulnerabilities.
2:02:37 Top-Down Approach: Overreliance on top-down thinking can stifle team initiative. Good leadership involves presenting problems and seeking team input rather than dictating solutions.
2:04:57 Feedback and Growth: Leaders should create a safe environment where team members feel comfortable providing feedback and questioning decisions.
2:06:27 Book Recommendations: The speaker recommends "Thinking in Systems," "Turn the Ship Around," and "Just Work."
2:08:44 Handling Managerial Resistance: If managers are resistant to developing their team members, it is suggested to escalate the issue to higher management or HR.
2:09:14 Surgical Teams: The "surgical team" model, where the best person does all the work, is less effective in modern software development, which is an iterative game. Assigning tasks to the most junior person capable of doing them with supervision is a better strategy for long-term growth.
2:11:52 Further Book Recommendations: "Happier" by Jonathon Smith, and "Fearless Organization" by Amy Edmondson.