YouTube video summary

Governance in the Age of AI: A Conversation with Sarah Wells

Technology
15 Jul 202617 min summaryFrom InfoQ
Governance in the Age of AI: A Conversation with Sarah Wells
InfoQ
YouTube

Introduction to AI Adoption and Engineering Challenges

  • The decisions made about AI adoption, architecture trade-offs, and team collaboration will have a long-lasting impact on systems, and making the right choices is challenging due to the rapidly changing landscape 10s.
  • QCon San Francisco is an event that connects senior engineers with practitioners who are ahead in solving similar problems, and it will feature over 60 speakers across 12 tracks, sharing their experiences and knowledge on what works and what doesn't in production 42s.
  • Sarah Wells is a technology leader, consultant, and conference speaker with over 20 years of experience as a developer, principal engineer, and tech director, and she has worked with various teams, including product, platform, SRE, and DevOps teams 2m6s.
  • Sarah Wells' experience at the Financial Times, where she worked for over a decade, involved transforming the organization from 12 releases a year to over 20,000, and adopting microservices, DevOps, containers, and platform engineering 2m6s.

Governance and Consistency in Software Engineering

  • Sarah Wells' transition into governance was a natural progression from her work as a principal engineer, where she recognized the need for consistency and standardization across teams to avoid risks such as security threats, increased costs, and complexity 2m6s.
  • The concept of governance in software engineering involves deciding how much standardization to have, avoiding duplication of efforts, and ensuring consistency across the system, which is essential for doing a good job in platform engineering 2m6s.
  • Sarah Wells' perspective on architecture and governance is that they are interconnected, and good governance is necessary to make informed architectural decisions that avoid risks and ensure the long-term success of the system 2m6s.
  • The complexity of different teams doing things differently creates friction, making it hard for people to move between teams, build common tools, or frameworks, and slowing down the process of building new features and products 10s.
  • Governance is often viewed as red tape or bureaucracy, something that gets in the way, and is experienced as such by many, making it essential to become a positive contribution to the process in the eyes of those being helped 42s.
  • The move from infrastructure and operations teams to platform engineering, similar to the move towards DevOps, enables teams to think of themselves as one group, aiming to make things easy for people, and considering governance as a necessary aspect for the good of the company 2m6s.
  • Effective governance involves putting guardrails in place to prevent issues like GDPR violations or excessive cloud spending, while allowing developers to focus on building novel and exciting solutions that help the business, rather than repeating work or building unnecessary infrastructure 2m6s.
  • Viewing governance as enablement, rather than restriction, can help guide developers to do the right thing at the right time without even realizing they are following rules, and this approach can vary depending on the organization and its specific needs 2m6s.
  • The type and level of governance required can depend on the type of projects being done and the company's specific concerns, such as financial transaction violations or GDPR compliance, and even companies like Netflix, which allow more freedom, still need some level of governance to avoid problems 4m30s.

Platform Engineering and DevOps Practices

  • The discussion highlights the importance of considering reputational risk, particularly for organizations like the Financial Times, which has a reputation for reliability and reporting, and how getting things wrong can lead to financial panic 10s.
  • The concept of "you build it, you run it" from DevOps is mentioned, where developers are responsible for the things they build, and this approach leads to more careful consideration of technology choices, with a preference for well-established technologies over novel ones 2m6s.
  • The use of platform teams is seen as helpful in dividing responsibility between building and running a platform, and deploying applications to it, with the platform team ensuring the platform is running and the application teams ensuring their applications are running 2m6s.
  • The importance of setting expectations for application teams, such as writing logs to a common log store and having security scanning in place, is emphasized to avoid asking the platform team to take risks 2m6s.
  • The role of platform engineering is explored, including its overlap with architectural thinking, and how it involves considering aspects like security, scalability, and hosting, with a focus on architectural planning, particularly in organizations building microservices 4m30s.
  • The example of introducing a graph database at the Financial Times is given, where it was suitable for the team's use case of working with metadata, which is a graph, demonstrating the importance of considering the right technology for a specific use case 6m40s.
  • The concept of architecture is viewed as a central component that sits within a product team, as opposed to a platform team, where decisions have broader implications, and this realization led to the installation of a graph that connects companies, people, and articles at the Financial Times 10s.

Evolution of Architectural Roles and Governance

  • The role of architects has evolved over time, with a shift from simply thinking about architecture and writing documents to being hands-on in teams and feeling the pain that teams experience, which led to a more effective approach to architecture 2m6s.
  • The Financial Times moved away from having architecture as a role and instead adopted the concept of principal engineers, who are expected to be hands-on in teams, lead technical efforts, and think about architecture, with many architects becoming principal engineers 2m6s.
  • Principal engineers are individual contributors who lead technical efforts and think about architecture, and this role is distinct from traditional architects, with the goal of enabling teams to make the right decisions 2m6s.
  • The tech governance group at the Financial Times, led by Rob Godfrey, was responsible for making architectural decisions that impacted teams more widely, and this group defined a new process for bringing forward architectural decisions 4m30s.
  • Governance is seen as an enabling function that allows people to move quickly without worrying about doing something wrong, and it involves having policies, understanding risk, and having steps in place to ensure smooth production 6m10s.
  • Governance is not limited to architects, but also involves other aspects such as security, engineering, and finance, and its goal is to make it easy to do the right thing quickly 6m10s.
  • An example of governance in action is the engineering checklist at the Financial Times, which provided a set of steps to follow when taking something to production, and tools were provided to help teams do the right thing without having to think about it 8m30s.

Tools and Processes for Governance and Compliance

  • The use of tools and checklists, such as the engineering checklist, helped to ensure that teams were following the right procedures and that services were properly recorded and owned by specific teams 8m30s.
  • Creating a registry for AWS resources and making it mandatory to tag them with a system code that exists in the registry can help make it easy to do the right thing and find responsible people when something goes wrong, by allowing people to create a small record for a new system and automatically adding the system code to new resources, which adds a small amount of friction that gives good value to the organization 10s.
  • Leveraging a small amount of friction to avoid a larger amount of friction down the line is a useful approach, as seen in the use of checklists, which can help people ensure they have done everything necessary, similar to how pilots use checklists to make air travel safer 2m6s.
  • The Checklist Manifesto book provides insights into how checklists can be used to make processes safer, and in software engineering, checklists can be used to remind people of important tasks, such as security scanning and accessibility, that they may not have thought of, without including obvious tasks like writing code or tests 2m6s.
  • The degree of detail in a checklist depends on the risk involved, and in software engineering, checklists can be particularly helpful during incidents, such as when a website is down, to provide a framework for responding to the situation and reducing mental overload 4m42s.
  • Incorporating checklists and leveraging friction can be challenging when dealing with learning agents that are not deterministic and do not have feelings of pride or a desire to do the right thing, but using good software engineering practices, such as tests, integration tests, scanning, and linting, can help protect against potential issues 8m10s.

AI in Software Development and Code Quality

  • The use of agents in the software development process is likely to become more prevalent, and will likely involve moving away from manual code review and towards more automated processes, but good software engineering practices will still be essential to ensuring the quality and reliability of the code 10m10s.
  • The use of AI in writing code and tests raises questions about how to ensure that the system is working as intended, and having a set of tests that define how something works can provide comfort in letting an agent make changes, as long as the tests pass 10s.
  • There is a need to be careful with the instructions given to AI when writing tests, as the AI may simply write a test that passes without actually validating the code, and it may be beneficial to have a separate agent write the tests from the one doing the coding 2m6s.
  • The increasing use of AI in coding may lead to a situation where humans no longer understand the code being written, as it is optimized for other AIs rather than humans, and this could make it difficult to identify and fix problems 2m6s.
  • The role of humans in coding may shift to specifying the functionality and edge cases, and then relying on AI to write the code, with humans reviewing and validating the output, and this approach can be effective as long as the right skills and personas are used 4m30s.
  • The quality of code written by AI has improved significantly in recent months, and it is now possible to do very good coding with agents, but it is still important to worry about whether the code is doing what it is intended to do, just as with human-written code 6m30s.
  • The use of AI in coding may lead to a return to more role-based assessments of code quality, with separate teams or individuals responsible for different aspects of the code, such as security, performance, and architecture 10s.
  • The concept of "Grill me" is one of the agent skills, which involves asking questions to understand what needs to be built, and people are focusing on rules for good architecture to ensure explainability, 10s.
  • The persona given to AI is crucial, and asking for critique is essential, as seen in an example where an agent found two bugs after being asked to be hypercritical, 2m6s.
  • Vibe coding is different from traditional programming, and it's interesting to note that AI agents don't naturally critique themselves, but rather require specific instructions to do so, 2m6s.
  • Experienced software developers are still necessary to make judgments about the sensibility of plans, even with AI-guided coding, and their role is to use these tools to develop software quickly, 2m6s.

Future of Software Engineering and AI Integration

  • The increased use of AI in coding raises questions about the future of software engineering education and the recruitment of junior engineers, as traditional tests and apprenticeships may no longer be relevant, 2m6s.
  • The current lack of recruitment and job reductions in the tech industry may not be entirely due to AI, but also due to other factors such as the end of zero interest rates, and it's unclear how the industry will evolve in the next few years, 2m6s.
  • The economic viability of AI for coding is also a concern, as it may be more expensive to run than traditional methods, and the cost-benefit analysis is still unclear, 2m6s.
  • Some companies are exploring the option of running open-source models on their own hardware, which may provide good enough performance to be beneficial 10s.
  • The process of implementing new technology often involves overpromising, retraction, and eventually figuring out what the technology is actually good for, as seen in the example of the internet 42s.
  • Switching to new processes, such as AI, can be challenging for companies with existing products, customers, and reputations, making it a complex and risky endeavor 1m6s.

AI Applications and Limitations in Practice

  • Some companies have tried to use AI for customer service, but it has not worked well and people do not like it, highlighting the potential downsides and risks of using AI 2m6s.
  • Large Language Models (LLMs) are a specific type of AI that can be useful in certain contexts, such as internal tools and development teams, where they can help solve problems and save time 2m42s.
  • LLMs can be used to generate postmortems after incidents, gather conversations, and create documents, making them a valuable tool for internal use 3m10s.
  • However, using LLMs in publicly available products can be risky, as people outside the company will be interacting with them and may not understand their limitations 3m42s.
  • It is essential to recognize that LLMs are not the only form of AI, and other types, such as machine learning and quantitative models, are being developed and used in various fields, including biomedical research and material science 4m20s.
  • These alternative AI models are based on fundamental physics or data and are not probabilistic in the same way as transformer technology, making them more suitable for certain applications 4m50s.
  • The popular press often oversimplifies the discussion around AI, portraying it as either good or bad, and losing context, which can be misleading and concerning 5m10s.

AI as a Productivity Tool and Time-Saving Asset

  • The economics of AI and its potential impact on society are still being explored and understood, and it is crucial to approach the topic with a critical and nuanced perspective 5m40s.
  • The ability to generate a usable interface with an agent in a short amount of time, such as 10 minutes, can be a fantastically good thing, allowing for easy viewing and interaction with information, like reviewing conference proposals 10s.
  • AI can be a fantastic time saver, even for tasks like reviewing transcripts, finding mentioned technologies, and summarizing content, as it can save an enormous amount of drudge work, although it may require manual review and rewriting 2m6s.
  • There is a strong preference to not use AI for creative tasks like writing, but rather to assist with tasks such as reviewing slide decks, checking flow, and generating bibliographies, which can be done quickly and efficiently 2m6s.
  • The use of AI can remove little bits of friction and make tasks easier, such as creating a bibliography, and it will be interesting to see how people use it in the future, although there are still questions about how to make money from it 4m42s.

Challenges and Best Practices in AI-Driven Development

  • Specifying requirements in an unambiguous way to an AI coder is an unsolved problem, and modifying or rewriting code when bugs are found can be challenging, but using techniques like writing failing tests can help validate the AI's work 6m15s.
  • The effectiveness of using AI coding agents depends on good software engineering practices, such as having exceptionally good documentation, really good tests, and a modular architecture, which can make it easier for both humans and agents to produce high-quality work 8m30s.
  • Having good documentation and tests can make it easier to use AI tools, and it's interesting to note that developers may be more willing to write documentation for an agent than for other humans 10m45s.
  • The favorite part of being involved with architecture is solving problems creatively, which is a key aspect of good architecture, and this creative problem-solving is something that is enjoyed and valued 10s.

The Creative and Collaborative Nature of Software Engineering

  • The least favorite part of being involved with architecture is having the same discussions repeatedly, with no written agreements, leading to a sense of draining and frustration, as it can feel like having the same fight over and over 42s.
  • The software engineering process is considered a creative outlet, as it involves creating something new and solving problems that have not been solved before, and this creativity is a key aspect of the job 2m6s.
  • The transition into software engineering as a second career brought a sense of novelty and problem-solving, which was not present in the previous career in scientific and medical publishing, where the same list of tasks was repeated for every book 2m6s.
  • What turns people off about the process is the lack of recognition of different aspects of being an architect, and the fact that architects may look different, with a need for more diversity and inclusion in the field 4m30s.
  • There is a need to recognize and encourage people who have the ability to think architecturally, regardless of their background or demographics, and sponsorship is key to making a difference, as it involves giving people opportunities and advocating for them 6m15s.
  • Mentoring and sponsoring are different, with mentoring providing advice and sponsoring providing opportunities, and sponsorship is what makes a massive difference in nurturing architects and helping them grow in their careers 8m20s.
  • Not everybody is meant to be an architect, and it is important to realize this when trying to nurture and develop architects, as people have different strengths and abilities 10m30s.

Technology Preferences and Tools in Practice

  • The preferred technologies in a working life are the "boring" ones, such as well-understood and well-documented technologies, because they allow for quick problem-solving and ease of use 10s.
  • Outside of work, the technologies that are enjoyed are the ones that have a sense of magic to them, such as an iPhone and a Mac, which can seamlessly share information, and Merlin ID, an app that can identify bird songs 42s.
  • The process of architecture creation that is enjoyed is making decisions that are good for the context and not overly complicated, while also recognizing one-way decisions versus two-way decisions and being willing to make changes if necessary 2m6s.
  • A key marker of a good architect or leader in technology is the willingness to say "I don't know" and make decisions based on the available options, while also being open to going back and making changes 2m6s.

Leadership and Culture in Technology Organizations

  • The organizational culture that is preferred is one that has an open learning culture, allows for suggestion and decision-making, and enables good work to be done, as opposed to a bureaucratic culture that can be frustrating 4m30s.
  • Writing a book has been a new and interesting experience, and it has been a departure from the typical work as a director of engineering, with fewer meetings and more time for thinking and phrasing 6m10s.
  • There are no specific professions that are desired to adapt to, but there has been experience in writing and previous professions before software engineering 6m40s.

Career Reflections and Future Aspirations

  • At some point, it is expected that the current work will no longer be done, due to being in the industry for a long time and approaching a point where retirement may be considered 8m20s.
  • The concept of gradually fading out of working every day is considered reassuring, as it allows for a transition from a full-time career to a more flexible schedule, which can be quite enjoyable, especially for those with a portfolio career involving various projects and conferences 10s.
  • A portfolio career can include working with different clients, talking at conferences, and being involved in various projects, which can be reassuring as it provides a sense of security and flexibility in one's career 10s.
  • The work involves a mix of process-oriented projects, focusing on management of engineering and identifying bottlenecks, and architectural projects, which provides a nice switch and allows for a variety of experiences 42s.
  • When a project is completed, the desired feedback from clients or the team is that the solution is great, easy to use, and has solved the problem, with suggestions for further improvement, indicating engagement and a sense of accomplishment 2m6s.
  • The goal is to create something that people will use and provide feedback on, allowing for iteration and further improvement, which is a significant aspect of working in software and solving problems 2m6s.
Made with Recall · in 3 seconds

Get a summary like this for anything you read, watch or save.

Recall summarizes any link you paste, then keeps it in your personal library so you can search, chat with it, and never lose a key idea again.

YouTube videosArticlesPodcastsPDFsAnything else
Save this summary

Keep it in your library.

Save to your library

Ready to get started?

Save, summarize and chat with your content.

GET STARTED
IT'S FREE

No credit card required · 30 Day Refund on Premium · 24 Hour Support

Recall web app on laptop, personal AI knowledge base for summarizing and chatting with your content