About
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 Psalm 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:
- PHPUnit
- Behat
- Psalm
- PHP CS Fixer, preferably using my default rules
Other Places to Find Me
In 2020 I also started Possible Promise Financial, a business offering bookkeeping and personal financial coaching. I’m a QuickBooks Certified ProAdvisor and am in the process of becoming a certified YNAB coach.