Published in Dev Genius·PinnedMember-onlyContinuous integration challengesWe always try to integrate the knowledge we acquire in our practices, but Continuous Integration as many other paradigms requires breaking with your rules. In software engineering, continuous integration (CI) is the practice of merging all developers’ working copies to a shared mainline several times a day.[1] Grady Booch first…Continous Integration6 min readContinous Integration6 min read
Published in Dev Genius·PinnedMember-onlyThe whys of hexagonal architectureHexagonal architecture has become in a very popular layered architecture in the last years. I would like to explore the principles under this architecture and how to understand it. The hexagonal architecture, or ports and adapters architecture, is an architectural pattern used in software design. It aims at creating loosely…Hexagonal Architecture7 min readHexagonal Architecture7 min read
Published in Dev Genius·PinnedMember-onlyThe Good, the Bad and the UglyA lot of developers are not able to distinguish between a good and a bad design and which are the problems of their code. Is your code The good, the Bad or the Ugly? I have been in a lot of conversations with other developers where they don’t have tools…Software Development7 min readSoftware Development7 min read
Jan 22Member-onlyNoEstimatesWhat’s the problem just discussing how big a story is, the problem is the focus, why is valuable to give a number to a user story? Story points are an invention of XP (extreme programming), in XP, stories were originally estimated in time. …User Stories4 min readUser Stories4 min read
Published in AWS in Plain English·Jan 14Member-onlyRelease strategiesReleasing means to put in front of our customers the new features of our software, we usually think we are doing that through our deployments. Although that’s not necessarily true. We usually confuse Deployment and Release, both things are very related but are not the same: Deployment is the process…Releases7 min readReleases7 min read
Published in AWS in Plain English·Jan 8Member-onlyThe Never Ending Story of SoftwareIt is not about the ending of the story, in software ending means to close or leave the company. So ending is not the goal, the goal is to improve over time your journey. The word goal here is fundamental because “The Goal” is a novel written by Eliyahu M…Theory Of Constraints4 min readTheory Of Constraints4 min read
Published in Dev Genius·Dec 23, 2022Member-onlyApollo 13 in softwareWhat to do when we have a critical bug in production? During the mission’s dramatic series of events, an oxygen tank explosion almost 56 hours into the flight forced the crew to abandon all thoughts of reaching the moon. The spacecraft was damaged, but the crew was able to seek…Software Development4 min readSoftware Development4 min read
Published in Dev Genius·Dec 6, 2022Member-onlyContract testing and test doublesWhen we talk about contract testing, people tend to think this is something to do between services that talk through HTTP. …Software Development5 min readSoftware Development5 min read
Published in Dev Genius·Dec 3, 2022Member-onlyTesting in productionThere are scenarios where trying to generate the conditions to test something in a preproduction environment is so costly that it is just better to test in production. Shift-right testing is a method of continuously testing software while it is in a post-production environment. Also known as “testing in production,”…Testing5 min readTesting5 min read
Published in Dev Genius·Nov 25, 2022Member-onlyTell-don’t-ask, please!Are we doing Object-Oriented Programming (OOP language) because we are using some fancy things from an OOP language?. I don’t think so, you can write code in Java and not doing at all OOP. The key is encapsulation. In object-oriented programming (OOP), encapsulation refers to the bundling of data with…Sofware Development5 min readSofware Development5 min read