(Disclaimer: I’m sure I’ll make a lot of errors in how I describe basic computer/code-related terminology. That’s the “Idiot” part coming through. This is all written in the language of my understanding. I hope it’s yours, too.)
Over winter break, I made a decision: In the coming months, I would learn everything I needed to know about being a web developer. The biggest obstacle? My own ignorance.
During high school I took a few programming courses (Perl, Java and Robotics). My crowning achievement was making a lego-bot spin in a circle while playing John Williams’ “Imperial March”. But I was easily discouraged. My coding frustration generally amounted to giving up on projects all together, or turning in work that my friends shared with me. One of those friends is now a full-time software engineer at a company in the Twin Cities.
I attribute my ignorance to a fear of failure. That fear is definitely still there. And back-end languages are still incredibly intimidating to me. Sometimes I think if I had taken an HTML/CSS course first in high school, I would have stuck with it. In fact, what prompted my newfound interest in web development was Chris Snider’s web design course–taken far too late into my college career. I was fascinated with how excited I was to code, to solve problems.
It’s like Jenga. But, y’know, harder.
My personal site and the two Drake ones I manage are built on WordPress. That’s fine; it’s a simple-to-use CMS that looks pretty nice, and it’s hard to screw up. But if I do want to edit my sites–to truly customize fields, divisions, widgets–I have to delve deep into the PHP code that WordPress themes are built on. All of this server-side business involves a lot of conversation between different files, functions and the WordPress API itself. Then add in plug-ins, different themes and the constant updates from everything involved. If I make a change somewhere in the code–eliminate a function, a variable placement, re-size the footer or navigation menus–it brings my jenga tower crashing to the ground. Without an inherent knowledge or ability to understand someone else’s development style or the parameters they’re working in, I can’t make something the way I want.
That sucks. It’s almost harder *not* to code.
How to not use WordPress
So, my modest goal? To build a personal website from the ground up with the same functionality as my current one. That includes a simple CMS, portfolio style navigation and a blogroll. (I am, by the way, fully aware of the irony of using WordPress to publish my goal to move away from using WordPress.)
I will also build one simple application that let’s me do something else I love–music, video, cooking–more simply. Languages I plan to learn:
- HTML/CSS (refresher course)
Resources I’ll be using:
- Codecademy (not the best, but it provides the fundamentals)
- Github (I never said I wouldn’t use open source!)
- The good people of the DSM startup community. Everyone has been so kind to me since I stumbled into the scene via amazing gigs with Silicon Prairie News and the Welch Avenue Show.
Why, you idiot?
I hope this blog encourages people like me–who have a cursory interest in coding–to ignore the collective voice in their heads that says “You can’t do this!” It’s a place for me to vent my own confusion and frustration. Forums are a godsend to beginner programmers, but I’ve found they can be also be filled with bro-grammers who post just to feed their own egos–to patronize and condescend.
This blog will be a weekly exercise in “Explain-it-to-me-like-I’m-five.” Except it’s more like “Explain-it-to-me-like-you-and-I-are-both-five.”
But I prefer to think of it this way: I know that I know nothing. Ignorance is only bad if you do nothing about it. That’s what this blog is. Consider me the proverbial cat who must “Hang in there baby”. It’s going to be a bumpy ride, but I’m looking forward to it.