Confessions of a Designer Developer

Coming from a design background can be a great asset to a developer, but the journey to build developer chops isn't easy. Philip confesses some bad practices, misconceptions, and failures from his journey.

I’m a designer by trade. As a web developer, this isn’t anything unusual. Many developers I have known never formally trained for this type of job. They studied to be musicians, sociologists, biologists, as well as fellow graphic designers.

There was a point in time when some of these folks became intrigued by the whole Internet thing and wondered how it worked. Others just needed a job, and they were able to stitch lines of HTML together to make a buck. A few were just really good at customizing MySpace pages.

My road to web development ran parallel with my design education. Largely, I’m self-taught. Something I know many others can say. With self-education comes the teaching tools of bad practices, misconceptions, and failures, which litter the byways I’ve traversed. Thankfully, I’ve learned from these and have hopefully bettered my abilities.

Today, I confess to you some of my own bad practices, misconceptions, and failures. These span the gamut of my career from my young bullheaded Flash days to my current struggles as a Git novice.

Confession One: WYSIWYG is the primary way to make a website

I started learning how to make websites as a high school sophomore in the late 90s. I was already experimenting with Photoshop 5.5, following years of using Corel Draw. GUI was my understanding of creating with a computer. When I was given a copy of Microsoft FrontPage, HTML was far from my mind. Subsequently, I started using Adobe ImageReady to create HTML pages by using the Export to Web feature. I was more impressed that I could make graphics come to life in a browser and less concerned with the underlying code.

Thankfully, I found some mentors who encouraged me to understand HTML. As I learned how to write clean HTML, I realized the markup created by my previous WYSIWYG methods was a convoluted mess. Even then, I still relied on the WYSIWYG features found in Macromedia Dreamweaver. I soon discovered that web browsers displayed HTML pages quite differently than the Dreamweaver preview. At that point, I stopped using WYSIWYG web editors and took control of the quality of my HTML.

Confession Two: Cas–what stylesheets?

I didn’t use CSS until probably 2006 or 2007. At least not with any regularity or comprehension. Up until that point, I only ever used HTML to create websites, occasionally utilizing a style attribute. I made my site designs using <font> tags, <iframe> tags, and image-ridden, table-based layouts. The real sin in my lack of CSS knowhow was my obsession with wrapping all my HTML in <center> tags to horizontally center the site design.

Trial by fire has always been a very effective way for me to learn. In late 2007, I started at a job that required me to use a content management system. A first for me. This system was a popular templated CMS that used a CSS document for site-wide styling (as it should). Over the next couple of years, I spent a lot of time learning more about CSS at sites like Net Tuts and Smashing Magazine. Nowadays, I’m quite proficient in CSS and am a huge fan of the power behind CSS preprocessors.

Confession Three: I don’t Git it.

I’ve been aware of GitHub for a long time, but at first, I only knew of it as a place to download code snippets. My understanding of Git came in small chunks over the course of the last few years, but even then, I didn’t have a clear idea how to use it in a project effectively. Sparkbox has a Git-centric workflow, so I had to learn how to use Git. I still don’t quite grasp a lot of the command line aspects of Git and rely heavily on GitHub and their wonderful GUI toolset.

This brings about my latest confession to address. There’s probably a right way to fix a complex merge conflict with Git…but it’s easier to just download master, add in the file from my branch via Finder, then commit and submit my pull request. I’ve done this twice now since I started at Sparkbox three-ish months ago. Have no fear, I’m learning how to fix these merge conflicts correctly.

Confession Reflection

On my adventures as a web developer, these have been my more notable moments. In pursuit of education, there are times you take the main thoroughfare; other times, you find the scenic route; and then there are the days with a confusing detour through a cornfield. Eventually, you find your way or you’re able to flag down help, but sharing the journey can be one of the most enjoyable parts.