Unleashing generative AI: Amazon’s journey with Amazon Q Developer (DOP214)

Adopting Generative AI in Software Engineering

Key Takeaways:

  1. Drivers for Change in Software Engineering:

    • Top-down pressure to generate more value, deliver new capabilities, and improve existing product adoption.
    • Market pressures to compete with software products.
    • Individual developer innovation and desire to automate, scale, and take on more complex challenges.
  2. Understanding Software Engineering as Knowledge Work:

    • Not all lines of code are equal - they differ in business purpose and complexity.
    • Empowering developers with context and autonomy enables better decision-making and creative solutions.
  3. Tackling Toil in Software Engineering:

    • Characteristics of toil: manual, repetitive, automatable, tactical, and limited enduring value.
    • Productivity is a byproduct of removing toil, not the primary focus.
  4. Integrating Generative AI in Software Engineering:

    • Planning and research: Simplifying the discovery of answers and information.
    • Generating the "right" code: Considering context, corporate standards, and customizations.
    • Delegating tasks to agents: Automating security scanning, documentation generation, and unit test generation.
  5. Expectation Management and Measurement:

    • Expectations around speed of change and justification of ROI need to be managed.
    • Combining quantitative (time-series data, quality/security metrics) and qualitative (surveys, feedback) measurements to track progress.
  6. Adoption Strategies and Best Practices:

    • Fostering a culture that encourages exploration and permits failure.
    • Aligning incentives and engaging entire teams, not just individual innovators.
    • Leveraging internal support and training, as well as establishing a community of champions.
  7. Amazon's Internal Journey:

    • Establishing the Amazon Software Builder Experience team to focus on developer tooling and workflows.
    • Adopting a data-driven approach to measure and optimize for system health, delivery health, and team health.
    • Successful use cases:
      • Code transformation (Java upgrades)
      • Knowledge discovery and Q&A
      • Adoption of Amazon Q Developer
  8. Best Practices for Adopting Generative AI:

    • Focus on removing toil and improving existing workflows, not just generating code.
    • Integrate AI capabilities into existing tools and processes to minimize cognitive shift.
    • Provide enablement, training, and encourage a culture of exploration and permission to play.
    • Measure outcomes beyond just activity-based metrics, considering system health, delivery health, and team health.

Your Digital Journey deserves a great story.

Build one with us.

Cookies Icon

These cookies are used to collect information about how you interact with this website and allow us to remember you. We use this information to improve and customize your browsing experience, as well as for analytics.

If you decline, your information won’t be tracked when you visit this website. A single cookie will be used in your browser to remember your preference.

Talk to us