Brandon headshot

My name is Brandon Olivares and I live with my wife Christine in Pennsylvania. We also have a Samoyed named Gino.

I’ve been blind since the age of 4, but thanks to the technology of screen reading software, got into computers when I was 9 or so.

I started my programming journey probably around the year 2000, a couple years after getting my first computer. It stemmed from a desire to learn how the Web worked, as I had always been fascinated by it.

As such I started with basic HTML/JavaScript, before briefly exploring PHP. I then spent some time dabbling in C/C++, Visual Basic, C#, and some other languages. But I eventually decided to tie my fate to PHP because I was primarily interested in Web development. I believe this was in early 2003, shortly after version 4.3 came out.

Despite now working for a WordPress agency, my heart has always been with Symfony. I started with Symfony 1 back in 2008.

I discovered Symfony through my desire to learn better object design. After PHP 5 was released in 2004, I started getting more interested in design and architectural patterns, which were better supported by the new language features in PHP 5. This is when I first learned about MVC and so started to structure my code in more logical ways.

This led to exploring various frameworks, but none quite stuck until I found Symfony in 2008. Symfony always seemed rather streamlined and logical and I fell in love with its structure. Symfony 2 and beyond just cemented that initial assessment.

My Programming Philosophy

When I write code, it’s important to me to write the most beautiful, well-structured, logical code possible. I’m a big proponent of domain-driven design: I believe that code should tell a story, and that story should match the real-world story of what it needs to accomplish.

As such I believe in a top-down approach that focuses on using BDD to drive the development of the big-picture design (mainly centered on the application layer), then TDD to drive the development of the low-level units (domain-layer objects mostly).

Ironically seeing as I’m a PHP developer, i believe in the importance of static typing. Loose typing allows for bugs to easily be introduced. So I make heavy use of PHPStan and in code I’m writing from scratch, aim for passing the maximum level of analysis.

My Favorite Tools

Here is a list of the tools I make heavy use of: