product discovery Product Discovery with ChatGPT Fede shares with us 7 things he thinks ChatGPT could help during the Product Discovery process.
elixir Expressive design in Elixir with polymorphic protocols In this article Emilio told us how to achieve an elegant and expressive desing in Elixir with polymorphic protocols.
experience Moving from web to mobile Xime tell us about the main differences she notice when moving from web app to a mobile app development.
experiencia Pasando de web a mobile Xime nos cuenta las principales diferencias que notó entre pasar de desarrollar en web a mobile en relación a las herramientas que posee el usuario
best practices Dealing with emergencies: some lessons learned What to do and, above all, what not to do when a system crashes? Some ideas to get through this experience as well as possible and learn from the process.
kotlin How to replace Lombok @Generated with a custom annotation for JaCoCo code coverage reports Maybe it is Monday and you are pairing to catch up while drinking your morning coffee. When you randomly open the project dependencies file and start wondering why Lombok is there. In this post Guille tell us how to get rid of Lombok!
experience Featured Documenting event-driven APIs with AsyncAPI In this post Mauro tells us about AsyncApi: a tool for documenting Event-Driven architectures. Follow this tutorial to set it up!
apprenticeship Finalización 3ra etapa del Apprenticeship & Smart Open Space v2 Finalizó la 3ra etapa del apprenticeship de 10Pines y Fede nos cuenta su experiencia como Product Owner!
best practices A quick guide to Spring Tests optimization Are you working with Kotlin + Spring Boot + Gradle? Are your tests too slow? Then, this article is for you!
react Featured How (and why) to use useEffect's cleanup - Intervals Using setInterval with useEffect can be confusing. Often they will overlap, or use stale data. We can prevent this by properly clearing the intervals inside useEffect's cleanup function.
best practices IAR: a mnemonic for a clean controller design ¿How do you design HTTP controllers? ¿How do you make sure responsibilities are correctly assigned? ¿How do you reduce maintenance issues? I'll introduce you to three letters that might help you remember the essentials of every controller…
best practices The principles and habits of healthy software Throughout the last few years of my career, two words have been present almost every day: principles and habits. I believe both can help us be better people and drive positive change around us – in general, but in software in particular.
best practices Obvious Programming A technique to know how much refactoring you need on a piece of code. Refactor your code until it looks obvious to you and your team
agile Prioritization Prioritization can be tricky. What are the factors involved, and which tools can help with it?
refactoring Featured Refactoring step by step: extract validation logic from a method How to keep your code with validations clean? here’s a step-by-step example that improves an existing piece of code only using automatic refactorings!
best practices When not to pair Sometimes, pairing is not going to add the extra value we're looking for... which are those moments? let me go over some scenarios where it's probably better to work alone.
css Responsive design with CSS grid and kittens If you ever heard about CSS grid and how it can help you make responsive designs but you haven't tried it yet or you don’t know where to start, join us in the construction of a responsive design with grids and kittens!
refactoring Featured Using Acorn to implement a refactoring in Javascript (Part 1: hacking it) I often ask myself: if we don't have a refactoring in this language, how much would it take to implement it? I'm presenting here an experience writing a simple source code transformation for Javascript.
agile Featured The 7 wastes of Contemporary Agile Software Development Teams What are the greatest sources of waste in modern agile development teams? Fede shared his perspective in Agiles 2021. This post is a brief summary of it.
best practices A case against nameless objects We name objects, we name variables, we name classes, messages, functions, and types. We name all the time because names allow us not only to reference "something" but also to understand what that "something" means.
tdd Fears while writing code for the first time Fear is an unpleasant feeling, a paralyzer. It doesn’t allow us to move forward. That's why we as humans need to identify when we are in fear and find ways to manage it in the best way. Believe it or not, writing code requires a lot of courage.
best practices Featured Leaving a codebase I'm leaving a codebase where I contributed for 6 years. I've made more than 2000 commits and I've added, modified, and removed a lot of lines of code. Here are some things I have in mind as part of my offboarding process.
agile Planning Agile changed the way we work, thus the way we plan. How does Planning work in the Agile world?
agile User Stories Since they were invented, user stories have become the building block of Agile iterative and incremental development approach.
agile Featured Estimations This post is about dreaded estimations. Let’s think about why we do them, what problems they bring to the table and what the Agile estimation approach is in comparison to other approaches.