Sunday, February 27, 2022

Charla: Experiencia de Desarrollo & Equipos de Plataforma Modernos

Quizás hayas escuchado el termino Developer Experience y lo importante que es para que los equipos sean efectivos. 
O hayas oido hablar de equipos de Plataforma pero te surgen dudas sobre cómo trabajan. 
En esta charla desgrano en que consiste la experiencia de desarrollo (Developer Experience) y como un equipo de plataforma pueden mejorarla sustancialmente. Explico cómo nos aproximamos al problema, decidimos qué implementar y el impacto conseguido. Hablo de optimización del proceso de onboarding, eliminación de fricción en el proceso de despliegue, instrumentación de pipelines de CI, mejoras en la autonomia de los equipos.

Todo esto desde el punto de vista de un equipo de desarrollo de producto que usa programación extrema (releases pequeñas y continuas, TDD, mobprogramming, propiedad collectiva del código, Trunk base development, etc). 

Esta charla está basada en la experiencia del equipo de Platform/DevEx de ClarityAI

La charla la preparé para la BilboStack 2022, pero dado que no se grabó y que había gente preguntandome a ver si la iba a repetir, coordine con las comunidades Agile Delivery, Pamplona/Iruña Software Crafters, Agile Sur, y Agile Norte, para repetirla (con algún cambio menor) y grabarla. La verdad es que se generó un interesante turno de preguntas al final.




Original Doc (with notes)


Saturday, February 12, 2022

Good talks/podcasts (February 2022 II)

These are the best podcast/talks I've seen/listen to recently:
  • Platforms at Twilio: Unlocking Developer Effectiveness (Justin Kitigawa) [Developer Productivity, Devex, Devops, Platform, Platform as a product] [Duration: 0:50:00] (⭐⭐⭐⭐⭐) Learn how Twilio’s internal Platform has evolved to reduce their engineers' cognitive load by providing a unified self-service, declarative platform to build, deliver, and run the thousands of global microservices that make up Twilio.
  • DOES15 Its All About Feedback (Elisabeth Hendrickson) [Devops, Quality, XP, testing] [Duration: 0:34:00] In this talk you’ll hear about Elisabeth's journey from the traditional silos with inherently long feedback latency to my current reality of increasingly tight feedback loops, and the lessons I’ve learned along the way. The talk include how Extreme Programming generate short feedback loops.
  • DOES14 On the Care and Feeding of Feedback Cycles (Elisabeth Hendrickson) [Continuous Delivery, Devops, Feedback cycles, Inspirational, Quality] [Duration: 0:31:00] (⭐⭐⭐⭐⭐) This talk examines the many forms of feedback, the questions each can answer, and the risks each can mitigate. Agile practices involve testing early and often. However feedback comes in many forms, only some of which are traditionally considered testing. Continuous integration, acceptance testing with users, even cohort analysis to validate business hypotheses are all examples of feedback cycles.
  • Complex Adaptive Systems (Dave Snowden) [DDD, Inspirational] [Duration: 0:57:00] Inspiring talk about Complex Adaptive Systems and what are the most effective approaches to deal with them.
  • Honeycomb & OpenTelemetry: Instrumentation Should Be Boring (Paul Osman) [Monitoring, Operations] [Duration: 0:28:00] In this session, Paul gives an overview of how Honeycomb has embraced OpenTelemetry as a key part of our instrumentation strategy, how this can help make instrumenting your code easier, and what you can expect from Honeycomb and OpenTelemetry in the near future.
Reminder, All these talks are interesting even just listening to them.


Sunday, February 06, 2022

Good talks/podcasts (February 2022 I)


These are the best podcast/talks I've seen/listen to recently:
  • TDD, where did it all go wrong. Summary (Ian Cooper) [tdd, testing, Technical Practices] [Duration: 0:04:00] Short summary of the "TDD, where did it all go wrong" talk.
  • Developer Productivity Engineering – The Next Big Thing in Software Development (US 2021) (Justin Reock) [Developer Productivity, Devex, Platform, Platform as a product] [Duration: 0:30:00] DPE is a new software development practice that uses acceleration technologies to speed up the software build and test process and data analytics to to improve developer efficiencies by as much as 10x. The ultimate aim is to achieve faster feedback cycles, more reliable and actionable data, and a highly satisfying developer experience.
  • SATURN 2018 Keynote: Uncoupling (Michael T. Nygard) [Architecture, Architecture patterns, Resilience] [Duration: 0:56:00] Interesting talk about coupling at the architecture level and its consequences.
  • Surviving Continuous Deployment in Distributed Systems (Valentina Servile) [Small Safe Steps (3s), Technical Practices, Trunk Based Development] [Duration: 0:40:00] A good description about the techniques required to deploy incremental changes and Trunk Based Development in a distributed system (expand-and-contract, outside-in with feature toggles).
  • Accelerating large engineering organisations with Internal Platforms (João Alves) [Developer Productivity, Devex, Platform, Platform as a product] [Duration: 0:45:00] Interesting talk on how to accelerate an engineering organization by creating an internal platform team with product focus. The talk is full of interesting examples.
  • Testing and Refactoring Legacy Code (Sandro Mancuso) [Evolutionary Design, Refactoring, Technical Practices, XP] [Duration: 1:29:00] (⭐⭐⭐⭐⭐) In this live coding session, Sandro will present many techniques that will help you to efficiently retrofit tests to legacy code and then refactor it to show the business logic more clearly.
  • The 3 Types of Unit Test in TDD (Dave Farley) [Technical Practices, XP, testing, tdd] [Duration: 0:17:00] This TDD tutorial explores the three types of test with some simple examples to demonstrate each one. It then goes on to explore the difference between stubs, fakes, spies and mocks in testing and describe some common difficulties that people sometimes face.
Reminder, All these talks are interesting even just listening to them.