Diogo Machado Profile picture
🏡Office disrespecter 🧑‍💻Clean code and bad jokes craftsman 🏋️‍♂️Maybe tweeting between sets
Mar 16, 2023 9 tweets 2 min read
Banking Crisis explained for software developers:

The banking system is a huge platform built with many distributed components (banks). However the designers of the system did a poor job on keeping the components independent and created a huge distributed monolith

(or big ball of mud).

Because some components become too risky (lots of code debt), every change to the system to adapt to new requirements (like higher rates), creates a lot of friction and bugs.

Because the system has a lot of coupling among components,

Jun 22, 2022 8 tweets 1 min read
If you develop software for sure you are used to create documentation. You create diagrams, specify APIs, design high level and low level solutions, maybe you're even recording decisions.

But are you recording important discusions?

Here's the reasons I like the RFC model:

The RFC model is a discussion medium, it allows to capture not only the solution/decision but also all the discussion that lead to it.

Apr 1, 2022 19 tweets 4 min read
Do you know why society is producing the most qualified generation ever that cannot find a job?

And why do they feel so entitled they believe the world owes them everything?

I'll tell you a tale.

1/n 🧵 Once upon a time, there was a tribe of hunters. They lived from game and raised their boys like warriors.

The passage to the adult age was marked by a rite of passage where boys went to kill an animal with his own hands and offer it to the tribe.

Sep 21, 2021 24 tweets 5 min read
In 2019 I started to workout after a couple years of full stop.

Although I already had past experience in customising my own training plans and diet, I've done some mistakes that coast me some injuries.

Here are 5 mistakes I've done and how to prevent them.

🧵 thread: Image 1. Preparation/test phase.

In my 1st deadlift workout after starting in the gym I dislocated the right shoulder.

I did some warm-up sets before work an explosive set with straps.

I setup the grip, moved into position, created tension to remove the empty space between the bar
Sep 17, 2021 4 tweets 1 min read
You don't need to predict the future.
But you need to react quick.

1Y ago the current dynamic of the IT market (Portugal) was mostly predictable.

The enforced globalisation of IT jobs, the CBs monetary policies and the underpaid (for a global context) jobs were enough cues. However many companies didn't act, ignoring what was ahead.

Meanwhile the market moved, the dynamics accelerated a tendency of globalisation of jobs that was shy but already present.

Some companies waited to see, some of those reacted quick.
Aug 9, 2021 24 tweets 4 min read
“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” — Martin Fowler

One of the most covered subjects on software development is on how to create clean code, or as Martin put, code that humans can understand.

🪡1/n Although extensive literature exist, covering the subject, it seems there is not a single code base totally free from some kind of code smell.

In fact, after 10 years writing code in multiple projects, I haven't seen a single one free from the most elementar design mistakes.
Jul 19, 2021 12 tweets 2 min read

Regular exercise is like any other habit, it takes time to create a routine.

To get started focus on creating a daily routine. 5-10 minutes of daily exercise is enough to build an habit.

In 60 days you'll have a routine.

10 tips to help you to get started: 1) Chose a very simple/easy workout plan to follow.

For example, pair two different exercises and do them in "super-serie".

Workout a: pushups and scissor lunges.
Workout b: table rows and L sit holds.

Do 10 pushups rest 30s do 20 lunges. Rest 1 minute and repeat 3-5x.
Jun 29, 2021 24 tweets 4 min read
I've been thinking to write something about code debt for a while.

While I don't write a more thorough piece like a blog post I'll write this /thread about some thoughts on it.

So here it goes, a /thread about code debt:

1/n Debt is a good analogy to explain what happens with code if no care is taken:

Debt grows if not payed.
It can lead to chronic abuse.
Cumulative debt grows exponentially.
Eventually leads to ruin.

It can be useful if tactically used.
Can be a leverage if well managed.
Apr 2, 2021 28 tweets 7 min read

I've seen many implementations of #eventsourcing that use a message broker to publish events to the read models. I've used that pattern and contributed to ES "frameworks" that implement that pattern.

I think It is a bad idea. I'll explain why: 1) Writing to the event store AND publishing events to a broker needs to be atomic.

In most cases a distributed transaction using two phase commits is not an option.

We need to create some mechanism to deal with faulty connections between publisher and broker:
Dec 12, 2020 61 tweets 10 min read
What is FIAT and how broken is the system?

FIAT money is government-issued currency that is not backed by a physical commodity, such as gold or silver. The value of FIAT is derived from the relationship between supply and demand and the stability of the issuing government

Most modern paper currencies are FIAT currencies, including the U.S. dollar, the euro, and other major global currencies.

It was introduced as an alternative to commodity and representative money (a medium which has its own intrinsic value).

Nov 18, 2020 11 tweets 2 min read
Getting started is the most difficult part.

Our minds find all the excuses to delay action.

It's codified in our genes.

Our cavemen ancestors needed it to save energy

To critical moments like hunting or breeding.

We are moved by dopamine releasing activities. Modernity created a mismatch between the environment where we live and our genetic heritage.

What worked for survival in ancient times is deterring us from taking action now.

But knowing how our body is codified allow us to trick ourselves into action.
Apr 22, 2020 15 tweets 3 min read
As a student I never liked language subjects. Portuguese, English, French. But now I regret not have taken more advantage of it. Specially the French. Portuguese is my main language and English is so global that you would learn it anyway. But French and others escaped 1/n Although I regret not have learned more languages sooner, I believe the blame is not entirely on me, neither on all the students that struggle with the education system. In fact I believe there is something very wrong about how education currently works. 2/n