Guidelines for modern cloud-native architectures
AWS started in 2006. At that stage, it was almost unthinkable to foresee what we are going through today. Cloud was thought for start-ups and not ready for Enterprise. It took several years to become mainstream.
Today, that has changed. Companies are writing new software on the cloud and migrating legacy applications. Most likely, if your company is less than 10 years old, then you may not even have a physical server.
Software created to run on the cloud is sometimes referred to as cloud-native. However, does it mean that every application running on the…
Census data is unreliable. There are several reasons; missing data, classification difficulties, erroneous, misreported data, among others. On top of these issues, regulatory requirements enforce to preserve anonymity when analysing the dataset.
In 1993 Donald Rubin, author of the book Statistical Analysis with Missing Data, had the original idea of fully synthetic data for privacy-preserving statistical analysis. He originally designed this to synthesize the Census long form responses for the short form households. He then released samples that did not include any actual long form records - in this he preserved anonymity of the household. Later that year, the idea…
I remember it clearly. It was almost 20 years ago and it was difficult. We wanted change, to improve our software development practice and release faster with less bugs. However, THEY didn’t want it. They wanted to keep building locally, handcraft the artefacts and release manually. For several months, a continuous disagreement that slowed and frustrate us all.
Polarisation or a division into two sharply contrasting groups will not make things better. And it will not make a team work as a single unit which is a basic ingredient for efficient teams. It could be worse, but not working in…
The other day, I was talking to a Database Administrator about database fault tolerance and the different types of Transaction Logs. For reference in this article, a transaction log (also transaction journal or database log) keeps a history of actions (events) executed by a database management system used to guarantee ACID properties over crashes or hardware failures.
Databases store events internally to guarantee ACID properties. Does it mean a Database system implements an event driven architecture? The Short answer is no. And this is why.
This goes back to one of the greatest thought-provoking presentations from Martin Fowler about Event…
SpaceX docks the Crew Dragon spaceship to the International Space Station after a 19-hours journey since it lifted off from NASA’s Kennedy Space Center in Florida. Great achievement as a result of lots of smart work. Imagine getting all the way up there to realise the interface has changed and it won’t dock. It would be too late to blame requirements, design, dev and/or test. And another iteration would come with an expensive price tag.
In copyright legislation around the world, source code is considered the Intellectual Property of the creator. Source code is protected in the same way as a “literary work”, which means it is “copyrightable” from the moment that the first line of code is created. 
When we start a project, we are full of ideas that (hopefully) get translated into source code that becomes a working system. In order to understand what our source code is doing and the business domain problem it is resolving, we use reasoning, and we have control using our Intellectual Control (IC).
In order to…
For the last 50 years, IT has been automating business functions; accounting, human resources, finance, rating, scoring, claims, among many others. The first decades, Software Engineering was largely manual with long cycles of development, manual testing and integration, especially integration. Followed by risky snowflake deployments. The definition of feature completion has been evolving over time .
In the last decades, we have been paying a lot more attention to automating the process of business automation. Software Engineering has been improving over time and productivity is higher than ever before. This trend has 3 major factors.
Removing friction from the development…
Internet pace is frenetic. In a couple of months, articles and books become history. Slowing down and reviewing the past can be a rewarding experience, so I reflected on my notes and came up with the best articles of the last decade.
I have decided to order them chronologically so we spare the “which one is the best one” controversy and focus on content. I have left many outside the list and for sure there are a lot more. Please share your best ones in the comments.
Some of the greatest writers in this field are Martin Fowler, Joel Spolsky…
10. Architectural governance: rethinking the Department of ‘No’ by Rebecca Parsons, Mike Mason and Jonny LeRoy (ThoughtWorks)
Architectural governance does not imply blindly answering no to any new requests and ideas. This podcast explores new approaches to Architectural Governance for the benefit of both, business and IT.
9. Internet History (and Future) with Brian McCullough (Software Engineering Daily)
Without the lessons from Napster, we might not have Spotify. Without the trust model pioneered by ebay, we would not have marketplaces like Airbnb. Brian explains how innovations in one company often lead to success in another.
In Brian McCullough book, How…
The journey of the DoD started with a humble code committed all the way to code in Production with data collection to prove the hypothesis that give birth to the release. And even further. The meaning of done is completely different in the DevOps era compared to early days.
DevOps is a combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity.
The DevOps model main goal is to reduce friction in the development pipeline. Also is oriented towards how quickly you can fix issues in Production (‘mean time to…
Solutions Architect. Passionate technologist who believes in science and technology as a contributing factor for progress and prosperity.