Tito Miguel Costa
Refactoring ideas


Over the years, I realised that the approach I take is far more important than the technology I use. I am always keen to challenge myself and approach problems in a pragmatic way. Get it working and keep iterating till is perfect.

The adoption of proven good practises is far more relevant that the programming language I use. This is reason behind trying to use the right tool for the job, favouring Open Source solutions.

In my toolbox, I keep principles like SOLID, DRY and KISS, but code without tests are pretty much useless. Despite not being an evangelist of TDD, tests are a fundamental component of my daily work.

By far, in the PHP world, my framework of choice is Symfony, which I have been using since 2007, when version 1.0 was released. In Python, I am using Flask and Django on several side projects.


Whenever possible, I like to try out new technologies on my side projects.

The more you know, the more there is to learn and research. There are many ways of doing things, so sometimes is not easy to make decisions, but I'm always willing to think it through and use data to back up my instinct.

One day I will master GoLang, but at the moment, I am eagerly taking the first steps.


  • Operating system: Linux Mint
  • Programming languages: PHP 7 and Python 3
  • Frameworks: Symfony and Laravel; Flask and Django
  • Database: MySQL, PostgreSQL and SQLite
  • IDE: PHPStorm, PyCharm, Visual Studio Code and vim
  • Browser: Google Chrome and Firefox
  • CVS: Git
  • Provisioning: Ansible
  • Containerization: Docker
  • CI/CD: GitHub Actions or BitBucket Pipelines
  • Command line and the tools it offers out of the box


You can download the list of RSS feeds that I'm subscribed to and import them into Feedly.