profile picture

Blog

I enjoy writing about topics that I find exciting and bring some value to my life.


Understanding Taxes
Where your money goes and how to rethink the system

January 02, 2025 - 1269 words - 7 mins

cover

Taxes are unavoidable —whether it’s your paycheck, morning coffee, or the house you just bought, Taxes are everywhere. If you’ve ever wondered where your money goes after payday or why buying property comes with extra fees, this post is for you. I’ll keep it simple without diving into complicated legal stuff.

The Cypherpunks
Pioneers of privacy in the digital age

December 11, 2024 - 1375 words - 7 mins

blog-cover

In the early ’90s, with the internet on the rise, a group called the Cypherpunks emerged to defend digital privacy. They pushed for encryption and privacy, shaping our digital world with their vision.

Verified git commits
Boosting trust and security in your codebase

November 17, 2024 - 542 words - 3 mins

blog-cover

When it comes to software development, trust and security are very important. One easy way to level up both is by using verified commits.

bashunit
Turning frustrations into tools for better development

October 30, 2024 - 1407 words - 8 mins

blog-cover

bashunit is a lightweight, easy-to-use testing framework for Bash. Features like parallel and snapshot testing, test doubles, data providers, and tons of built-in assertions.

People skills
From code to collaboration

September 02, 2024 - 692 words - 4 mins

blog-cover

So, you’re a software developer, and you’ve mastered coding languages, algorithms, and all the tech stuff. That’s awesome! But here’s the deal: technical skills alone won’t get you as far as you might think.

What is Waterfall?
What makes Waterfall a poor fit for modern software development?

August 01, 2024 - 868 words - 5 mins

blog-cover

Waterfall is like following a straight path where you move from one step to the next in a defined order — like water flowing down a waterfall through different stages.

Programmable Money
The power of Bitcoin's Script

July 06, 2024 - 1774 words - 9 mins

blog-cover

Bitcoin is often referred to as “programmable money” because it allows for the execution of programmable transactions through its scripting language.

Prisoner's Dilemma
The dilemma of trust and self-interest

June 27, 2024 - 482 words - 3 mins

blog-cover

The Prisoner’s Dilemma is a hypothetical game set up showing a situation where people won’t want to work together even when it’s beneficial to do so.

What kills agility?
Why Agile if you already do Scrum, Kanban, SAFe, or Waterfall?

May 30, 2024 - 588 words - 3 mins

blog-cover

Dozens of documents and spreadsheets, meetings over meetings, and yet without much impact, result in team misalignments—realized too late.

Learning concurrency in Golang
A horse racing emulator explained step by step

April 02, 2024 - 690 words - 4 mins

blog-cover

I wanted to learn a new language, so after trying some, I ended up with Golang as one of my favorites for its simplicity and capabilities. It has features I haven’t used in years, like multithreading and concurrency.

Effective pair programming
Embracing quality practices in your engineering culture

March 28, 2024 - 832 words - 5 mins

blog-cover

What is pair programming? Let’s first establish what pair programming is: Two people working together on the same problem at the same time.

Deployments on Fridays
Why "should we not" deploy to production on Fridays?

February 25, 2024 - 694 words - 4 mins

blog-cover

I have heard multiple times, from various people, the idea of panic towards deploying on Fridays. How good is that idea of banning the day before weekend from delivering new value to our clients or customers?

Great engineering
A great engineer is not just a great coder

December 30, 2023 - 376 words - 2 mins

blog-cover

Coding is not just another job. Writing software can be really fun and, even more, it can be your personal hobby as well! You might be focused on coding, coding and more coding to level up your own career skills.

Forming, Storming, Norming and Performing
Tuckman's Model to drive a team to high performance

November 25, 2023 - 606 words - 4 mins

blog-cover

In 1965, psychologist Bruce Tuckman developed a model (Tuckman’s Model) that describes the stages of group development, forming and maturing into a cohesive and effective team.

How to test private methods?
Testing private methods. When and how?

October 20, 2023 - 168 words - 1 min

blog-cover

This is a question that I have encountered with some frequency for a long time. So I thought I would put together my thoughts on the subject here.

Unhealthy working environment
Recognizing red flags of an unhealthy workplace

October 11, 2023 - 554 words - 3 mins

blog-cover

An unhealthy working environment can have various symptoms that negatively impact employees’ physical and mental well-being.

The Peter Principle
The rise to a level of incompetence

September 30, 2023 - 447 words - 3 mins

blog-cover

A person who is competent at their job will get promoted to a position that requires other skills. If they lack the skills for the new role, they will be incompetent at the new level, and will not be promoted again.

How do you get everyone on board?
How do you deal with people reluctant to change?

August 02, 2023 - 863 words - 5 mins

blog-cover

I was invited to the WeAreDevelopers World Congress to give a tech talk about my experience with XP and the profound benefits of embracing change in your work and life.

Never ending loop
Writing to help myself sleep

July 05, 2023 - 463 words - 3 mins

blog-cover

It is hard sometimes to get to bed with the mind blank because, more often than not, I think about my next reading, learning, talk, or what I will write this or next month.

Learned helplessness
An acceptance of powerlessness

June 08, 2023 - 575 words - 3 mins

blog-cover

Learned helplessness is the behavior exhibited by a subject after enduring repeated aversive beyond their control.

Dedicated QA Teams in software?
How does it fit a dedicated QA person in your agile team?

May 17, 2023 - 692 words - 4 mins

blog-cover

This will be controversial, but let’s talk about the QA position. The hidden truth behind the lack of software quality and why this should concern you if you write software.

Introducing a new tech stack
How to introduce new technologies in your team

April 14, 2023 - 450 words - 3 mins

blog-cover

To introduce a new tech stack for the entire team, it’s important to bring “why?” and a strategy to make it happen among the team because it will affect everyone.

Have you always been like this?
How to find a balance of growth and happiness

March 16, 2023 - 1051 words - 6 mins

blog-cover

I’ve got this question recently, a couple of times, and this is a great topic to share.

Great leadership
Leadership starts within your own life and behaviour

February 27, 2023 - 1628 words - 9 mins

blog-cover

As business scales, the leaders’ primary focus must shift from customers to employees. Therefore, I would like to share what I consider critical points that any leader should address and focus on regularly.

Interview about XP and Agile
Agile is about HOW you do certain things

January 09, 2023 - 780 words - 4 mins

blog-cover

My interview with devm.io regarding Agile and Extreme Programming.

Ignoring Scrum to get more Agile?
Killing agility with excessive meetings

December 06, 2022 - 1211 words - 7 mins

blog-cover

Talking to a friend about agile, he asked me a fascinating question remarking how badly sometimes Agile and Scrum fit together, especially regarding meetings. These are my thoughts about this topic.

Working agile with non-agile teams
How can you work with other teams that aren't agile?

November 11, 2022 - 873 words - 5 mins

blog-cover

Let’s assume you already know what the agile manifesto is. Let’s consider that you apply most of the “extreme programming” values, principles, and practices. How can you work with other teams that aren’t agile?

Different beliefs about software quality
Some thoughts about software quality among your team

October 08, 2022 - 737 words - 4 mins

blog-cover

I recently got a great question on Twitter which got me thinking for a while and I decided to share my thoughts about it.

The beauty of leadership
Team Lead? Tech Lead? What is leadership and what is not?

September 25, 2022 - 767 words - 4 mins

blog-cover

Leadership is not a synonym for management, it has nothing to do with titles or personal attributes. So, what is it? How can we become leaders? And most importantly, why?

Understanding people
Misunderstandings, effective communication, and self-reflection

August 22, 2022 - 535 words - 3 mins

blog-cover

One of the most complicated challenges for everyone is avoiding misunderstandings and being aware that other people don’t think the same way as you do.

The Project Management Triangle
The Iron Triangle

July 25, 2022 - 307 words - 2 mins

blog-cover

A triangle of time, quality and cost. it’s an indicator that these three parameters are interconnected. You can fix one or two of them, but not three.

The path to seniority in software
How to become a Senior Software Developer?

June 08, 2022 - 958 words - 5 mins

blog-cover

We all have been junior developers at some point. This is easy to know because it is at the very beginning of your carrier. Your responsibilities were narrowed down by other peers who were looking after you.

Bikeshedding
Also known as the Law of triviality

May 27, 2022 - 318 words - 2 mins

blog-cover

The term was coined as a metaphor to illuminate Parkinson’s Law of triviality. People within an organization typically give disproportionate weight to trivial issues.

Dunbar number

April 02, 2022 - 306 words - 2 mins

blog-cover

A cognitive limit to the number of people with whom one can maintain stable social relationships, in which an individual knows who each person is and how each person relates to every other person.

Update your team to be more extreme
How can you help your peers to embrace the change?

February 26, 2022 - 915 words - 5 mins

blog-cover

Our software profession is constantly evolving; it demands a non-stop learning process. We must embrace the change in our industry.

The power of authority and obedience
Milgram's experiment

January 24, 2022 - 1016 words - 6 mins

blog-cover

Milgram was interested in researching how far people would go in obeying an instruction if it involved harming another person, and how easily people could be influenced into committing atrocities. Eg: Germans in WWII.

London vs Chicago
It's an integration, not a choice

November 20, 2021 - 468 words - 3 mins

blog-cover

There are two known schools in TDD: the mockist school (aka Outside-in) and the classicist school (aka Inside-out).

Red Work vs Blue Work
Managing the two kinds of work

October 21, 2021 - 408 words - 3 mins

blog-cover

“Blue Work” and “Red Work” are concepts that David Marquet describes in his book Leadership is Language. Both require different mindsets and have different languages.

TDD vs BDD
Design or Workflow?

September 25, 2021 - 650 words - 4 mins

blog-cover

These are two different techniques. The key to each of them is about the mindset and context of what you want to achieve.

Test-Driven (Development)
What is challenging about it?

August 01, 2021 - 955 words - 5 mins

blog-cover

The complexity here is not about writing tests itself, but the habits that we have to change to create software that is easy to be tested.

Responsibilities of a Tech Lead
It's not a promotion. It's a role change.

July 01, 2021 - 413 words - 3 mins

blog-cover

The Trident Career Model by Patrick Kua has three tracks. Each track represents where people spend most of their time or energy.

Conformity experiments
The uncomfortable truth about human nature

June 01, 2021 - 648 words - 4 mins

blog-cover

To what extent do social forces alter people’s opinions? Which aspect of the group influence is most important — the size of the majority, or the unanimity of opinion?

Open-Source Software
The power of contributing to OSS 🖥

May 03, 2021 - 793 words - 4 mins

blog-cover

What is Open-Source Software (OSS)? What are their benefits? How can you start contributing to any OSS? Pet projects? Knowledge sharing? Why all of these?

Pull Requests vs Pair Programming
Why choosing when you can have both?

April 01, 2021 - 1317 words - 7 mins

blog-cover

Let’s talk about the benefits of Pull Requests and Pair Programming, and my thoughts on these after some years of experience with them.

Embrace the change
Who moved my cheese?🧀

March 01, 2021 - 518 words - 3 mins

blog-cover

The book Who moved my cheese? presents a tale inside the main story that consists of 4 characters: two mice, Sniff and Scurry, and two little persons, Hem and Haw.

Phel: the Lisp that compiles to PHP
A new functional language with full interoperability with PHP

February 01, 2021 - 567 words - 3 mins

blog-cover

A new Functional Programming language build-in on the PHP ecosystem.

To mock or not to mock
How to escape the mocking hell

January 11, 2021 - 781 words - 4 mins

blog-cover

Mocking is useful, but “what to mock” usually turns out to be more complicated than expected if you don’t treat this carefully.

Sharing your git patches
Another way of sharing quick suggestions with your team

December 01, 2020 - 357 words - 2 mins

blog-cover

Discover another way of sharing suggestions with your development team.

Never use array_merge in a loop
The spread operator to the rescue

November 10, 2020 - 205 words - 2 mins

blog-cover

Using array_merge inside a loop is a performance killer. The spread operator will help you to improve this by flatting the array.

Typed arrays in PHP
An alternative to the missing feature in PHP: Generics

October 13, 2020 - 487 words - 3 mins

blog-cover

Argument unpacking, function variable argument list, and variadics function.

The process itself is the goal
How to focus and have self-discipline

September 08, 2020 - 1013 words - 6 mins

blog-cover

No goal should be an achievement on its own, but the process itself that helps us to go in the direction of these goals.

Testing Effectively Legacy Code
How to write proper tests to already written code

August 17, 2020 - 697 words - 4 mins

blog-cover

These tests are also known as Characterization tests.

Strict Types in PHP
declare(strict_types=1);

August 09, 2020 - 393 words - 2 mins

blog-cover

In December 2015, PHP 7 introduced scalar type declarations and with it the strict types flag. What is this new feature?

The art of refactoring
When, how, and why

June 28, 2020 - 544 words - 3 mins

blog-cover

If you see something, in the scope of your current task, that can be easily improved, improve it. And if you have any questions about it, ask.

Final classes in PHP | Java | Any
Final, or not final, that's the question

June 06, 2020 - 538 words - 3 mins

blog-cover

Clear contracts, isolated side effects, testability, low complexity and cognitive load, code fluidity, and confidence in yourself.

The art of testing: where design meets quality
From a software developer's point of view

April 07, 2020 - 515 words - 3 mins

blog-cover

Why you should consider testing as part of your daily development habit and how it’s directly linked to the software quality.

How to improve your tech-talk (or any other presentation)
Some tips to improve your communication skills

November 18, 2019 - 660 words - 4 mins

blog-cover

We have found ourselves attending a meeting that felt like we were wasting our time with a “monologue” that is either hard to follow or doesn’t seem so interesting as it could. Let’s fix this.