Why I Started Coding
Have you ever gone to a magic show or seen a magic trick and immediately feel the need to know every little secret about how it was performed?
That is me.
I discovered this about myself early on, as a small child watching David Copperfield move a helicopter through the Great Wall on television and as a teenager hanging on to every secret the Masked Magician gave away. Later, as my entertainment career took me down the path toward variety and circus, I watched closely as magicians I worked with prepared for their shows. I wanted to know where every rabbit and chick came from, when that red ball went from the cup on the left to the cup on the right, and how on EARTH he knew the word in her head was “mug”.
Maybe unsurprisingly then, I married a variety performer. I. HIT. THE. JACKPOT. I bombarded him with questions after every magic show we saw and asked him to teach me card trick maneuvers that my hands were too small to perform.
It was with this level of curiosity and drive for information I first approached web development. My clown-husband had already veered left on his own career path, went to a coding bootcamp and started working as a web developer. All I knew about it at the start was that he would sit at a computer screen (with a dark background, WEIRD) for hours, typing out these colorful texts and VOILA! websites happen!
Just like a magic trick.
After watching this digital wizardry happen under my roof for about a year, I finally asked him to show me what he was doing and how these text files turn into websites and applications. This is where my programming journey began.
I learned the basics of the command line, went through a short tutorial about HTML/CSS, and he introduced me to Ruby. It felt very powerful, the way that I made things happen by doing something seemingly unrelated. I was the magician and my hands were not too small for these tricks.
…and now, for my first trick!
I also always had an aptitude for thinking outside of the box, and was rarely stumped by a riddle or logic puzzle. In school, I was great at math (I essentially taught myself trigonometry), but hated the rigid repetition of math classes. Writing code gave me the creative outlet I craved, but it was objective. There are countless different ways to solve a problem in coding, but every problem still has a very clear correct answer. I can’t talk my way out of code that doesn’t work and to me, that’s liberating. There is no ifs or buts about it: either code works or it doesn’t. You can make code cleaner, DRYer, and more concise, but it always has to work, otherwise it’s wrong.
Admittedly, the process has been filled with lots of bumps in the road. I struggled to master the Art of Google. When I started to learn Rails, I had the hardest time understanding how the internet works, and couldn’t wrap my brain around HTTP requests/responses.
Predictably, in hindsight, the biggest pushback I gave was to the concept of “Rails Magic”; I had a really hard time accepting that the Rails source code was just too much for a beginner and that I needed to move on for now, let it help me and get back to uncovering the secrets later. The turning point that saved me from quitting came in the form of a talk at RailsConf 2017. Thanks to Alex Kitchens and his Perusing the Rails Source Code - A Beginner’s Guide in which he said that “…there is no magic [in Rails].”
Learning to code is the most challenging thing I have ever taken on and, from what I hear, the journey never really ends. There are countless magic tricks still for me to discover and pick apart, and I’m excited for the opportunities to discover all the “secrets” the tech world has to offer.
Let me know what you think of this article on twitter @Minar528!