From Magic to Markup: How I Learned Web Development
Posted July 21, 2017 by jbass12
A few years ago, I was working as a touring guitarist and found myself
out of a job when my band broke up.
I didn’t see the music industry as a sustainable form of full-time
employment, and started taking online coding and design classes
through sites like Codeacademy and Treehouse, while working day jobs
in the service industry. Writing code and translating data into clear,
understandable information was fun for me, as I had always enjoyed
puzzles. The fun I was having, combined with a preference for working
independently and the possibility of a healthy salary, started making
web development look like a particularly attractive career option.
My older brother had been exploring web design for a while, so he took
me under his wing and we built a few sites together. The first two were
static sites, built using Bootstrap. If I could go back, I would have
avoided using a framework like Bootstrap until I had a better handle on
HTML and CSS on their own, but I’m glad I understand the pros and
cons of using that framework now. My brother and I didn’t write any
custom JS for those sites, as neither of us were very skilled at the
language, though we did animate some buttons with CSS transitions.
The third site we built was a considerable step forward, as it was our
first dynamic site, built with WordPress. We used a premium theme
built on the Genesis framework, so there was a lot to learn as we
worked. I learned a ton about PHP and dynamic sites in general in the
process, and fell in love with WordPress’s organization and admin
Taking advantage of a break in client work, I spent a period of about
four months taking as many Treehouse courses as I could, learning the
syntax and purpose of Java, C#, MySQL, and AJAX, as well as trying
my hand at basic game development using the Unity game engine. In
the end, I ended up confusing myself over syntax issues and getting
frustrated, as I hadn’t spent enough time in any one language to get
a firm grasp on the concepts of good programming.
It became clear to me that there would be a time for learning more
languages, but it was more important to focus and learn one language
really well, so that the structure of other object-oriented programming
was the language I had the most knowledge in already.
At this point, my brother was starting to pursue other interests, so I
decided to strike out on my own, taking on work for clients I met
through mutual contacts. I decided I was going to focus specifically on
building WordPress sites, as it was such a popular and easy-to-use
content management system.
The first site I built on my own was for the Upper Valley Idaho chapter
of the National Alliance on Mental Illness. My parents both volunteer
with that organization, and had mentioned that they were in need of an
updated website. I put together a new site for them using a premium
Wordpress theme on the Genesis framework.
I learned the hard way that it is better to find a theme that provides all
of the functionality you need than to use a theme that looks how you want it to look
but then fighting the existing code to get the theme to function how
you want it to. I’m happy with how the site turned out, but it taught me
that I had a lot more to learn about how WordPress themes are put
Inspired to learn all of the ins and outs of theme development, I started
taking more Treehouse courses and spending much more time studying
the WordPress Codex, gathering the knowledge I needed to start
building custom themes from scratch.
My next site, for an organization called IntechRx, was the first WordPress site I
built completely on my own. I started by building a static version of the site, and then replacing the
elements that needed to be editable from the admin area with PHP code.
This was a great experience, as I had to learn how to customize the
how to build a logical mobile layout. I was familiar with media queries
from the previous sites I worked on, but this project really let me get
my hands dirty and dictate all of the changes that had to happen at
different viewport widths, as a lot of that functionality had been baked
in when using premium themes.
I did a few more sites for small businesses, as well as some freelance
work helping family friends migrating sites from one hosting company
to another, transferring domains, and some small-scale website
maintenance. All of these odd jobs added to my knowledge of MySQL,
and helped to seal the cracks in my big-picture view of how websites
Currently, I am still working freelance, but am looking for more steady
employment working with an established company with a team of
developers, where I can work on my collaboration skills. I’ve proven
that I can learn a lot on my own, through online courses, hours spent
poring over stackoverflow.com, and working for small clients, but I also
want to be able to learn from my peers, and glean some of the wisdom
they’ve gained through years of experience.