Short Answer: Because i get bored easily
Big Answer: Because I’m curious and get bored easily. I love computers and everything that we can code on, this makes me to be curious about every aspect of programming.
First, I wanted to understand how programs were made, then I started with Visual Basic 6. yeah, i know, it’s a desktop oriented language (let’s not talk about classic ASP, ok?) but it was my kick off to back-end world. VB6 taught me how database calls worked and how view and model should communicate.
Then I went to PHP. I needed to understand how that stuff i made using VB6 were made for web applications. I know that at this point you must be yelling at me and paraphrasing parts of “PHP, a fractal of bad design“, but I was just 13 years old and had no idea about what was a good programming language.
The most confusing part of trying to understand how a web application works when you came from a desktop environment is to understand what’s on the server side and what’s on the client side, or even better, what is the client side and what is the server side?
As time passed and I got experience, I bounced between “I Hate front-end, I want to work with back-end only” and “I Hate back-end, I want to work with front-end only” until I realize that the funniest part of my job as a developer is to figure out how a piece of data will go from user input, be transformed by some code, get into server side, be validated and stored to database (or not).
I noticed that the time I spent creating, mapping, drawing, planning everything from the beginning to the end is the most pleasurable time when I’m in a project, and in order to see the full solution with all pieces working, I must be aware about how front and back end works (and I must know some perks about RDBMSs and Operational Systems, but that’s for another post).