The Short Story
I am a Freelance Web Developer for more than 15 years, I always put my name on the line. I have clients locally and abroad, most of them I don't even meet personally. Some of them has been my clients from the start. My assurance is always been 100% refund if you don't like my work. I started as a freelance web designer -- which in definition creates front-end or designs. Now, I mainly focus more on backend like PHP and NodeJS. If you want to see my code, check my work samples in github.
How I started programming - TLDR;
As a freelance web developer, Designing and Art is my passion since I was a kid and never thought that it would be my profession. Ever since a friend of mine introduced me to HTML using Adobe Dreamweaver, I never stop learning. I started with pure tables, slice and dice method, which was common those days, then to hand coding XHTML/CSS. I took a lot of time learning CSS but the time spent was worth it.
Those were CSS2 days where designers are still using PNG-Fix for border radius. CSS3 came and solves most of the pain from web design.
After some few Wordpress Developer gigs, I started programming bit by bit using PHP. It was quite challenging specially if you are coming from a designer's background. Creating custom Wordpress themes was my specialty and then as my clients grew, I already started learning Wordpress plugin development.
It there that I started working more on the backend and less front-end stuff. There were a lot of mistakes along the way, my first ever website has even hacked because of lots of security loopholes. I learned my mistakes and improved myself, learning OOP from functional programming to creating the whole CMS from scratch.
It was the time when CakePHP, Symphony and Codeigniter was the new toy. I choose Codeigniter, because of it's simplicity. I can easily understand how it works. But I love how Codeigniter was having a lot of features while maintaning backward compatibility to old PHP versions.
But Codeigniter seems to have big drawback when Ellislab withdrew support and this is the time that I learn Laravel. It was love and hate relationships. I started Laravel 1.5 but each time Laravel releases a new version there was no backward compatibility. This made me releaized that if I am going to maintain good relationships with my client, I must give them software that will lasts and not easily be deprecated.
This search led to me to NodeJS, asynchronous was still new to me and it took me sometime to fully understand it. It was fast, really small footprint and most of all if paired with ExpressJS you have a full blown web server!
Today, the only dependencies is ExpressJS which I don't have much problem upgrade from 2-5. Which is a big plus to me. If you want to know my coding style and custom made framework. Take a look at my open source projects.
My primary OS of choice, iTerm is my best friend. I can easily use most linux commands in Mac.
Most of my servers are running under CentOS 7. Easy to install and less udpates/changes compared to Ubuntu.
I usually use Windows 10 on my gaming machine and also for testing that cannot be done using Mac.