Jeff Bass Design & Development

Blog

Archive

  • July 2017
  • 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
    interface.

    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
    languages would make more sense to me. I chose JavaScript, as that
    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
    together.

    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
    Wordpress loop, how to manipulate the DOM using JavaScript, and
    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
    work.

    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.