Are We Magicians?
When I was a kid, I was absolutely fascinated with magic (the entertainment kind, not the playing card game [or actual magic]). The illusion of making things appear from nowhere both baffled and intrigued me. When I was about 7 or 8, I got a magic set for my birthday and immediately dove into hiding red balls in cups, making the numbers on a deck of cards disappear, and other typical tricks.
After a little while, I sort of stopped playing with that stuff for a more... magical piece of equipment: a computer. My first love was Microsoft Paint. My dad taught me how to select all of one color from an image and delete it, then place that image on top of another image. My first MSPaint picture was a bunch of Nickelodeon characters placed (hilariously, I'm sure) in a classroom setting.
In 7th grade, as part of a short-lived program, my school decided to give us 20 minutes every Monday to do some elective activities (mighty generous of them). Somehow, I wound up staying in my homeroom where my teacher taught us HTML. From what I can remember, we only really did this for a few weeks, but I immediately took to it and I haven't looked back since.
I took two more "Web" courses in high school (my school was in the middle of nowhere and had no budget for such things, so it was very limited). At first, they focussed on hard-coding, but then switched to a WYSIWYG (What you see is what you get) interface (Dreamweaver, to be exact). The computers took 15 minutes (the class was 40 minutes long) just to log in and start the programs. I hated taking those courses because I always wanted more. More time, more projects, just... more.
In college, I took Web Programming I again (even though I had essentially took it twice already), and disliked the course just as much. It was mostly due to the fact that our professor had no up-to-date experience and his web pages were worthy of 1998.
In my last semester of college, I finally took the Web Programming course I was yearning for; I learned PHP and MySQL and wound up making my own mockup of Facebook. At this point, I had been programming in C++ for the past 3 years and I had known HTML for about 7. Still, it astounded me that all of this (everything you're looking at now) came from somebody or somebodies.
Fast-forward to my current job. We have an ever-growing need for some sort of customer-management solution where we can store customer data (who they are, where they are, what did we sell them, etc). The database information itself is not the fun part, but rather how I interface with that database. I'm working on a webpage, an Android App, and I'm tying it into our existing customer ticket portal (Freshdesk). I am one of three employees and the only one that knows how to code anything. I'm having lots of fun trying to fit in with Google's Material Design guidelines.
On to my question; are we magicians? My boss asked me what I'm using to create all of this. I told him I'm using a mix of HTML, CSS, SQL, PHP, Java, and JavaScript. "Yeah, but what are you using?" expecting me to give him the name of a WYSIWYG designer. I have never felt more proud than I did in that moment.
It's not that I have anything against Dreamweaver or any of the other click-and-drag creators, but I personally cannot use them. I am far too much of a control freak to let some program decide how to organize my code or stylesheets or to limit my layout. I just want me a good, ol' fashion text editor.
Yes. I think we are magicians, fellow programmers. We take a blank source code file and turn into a beautiful piece of art - whether it just says "Hello World" or "Welcome to Facebook." To the untrained audience, what we do is freakin' magic. A friend once pointed out that as long as you have a computer, programming is the only way that you can build something without having to consume any materials. What we do is transform bits of data into something a user experiences. What we do is take an idea and make it into reality. What we do is make something from nothing.
What we do is magic.













