For a long time I’ve told people “I’m not really a coder. I hate programming.” It’s true that when I took Assembly Language and C++ in college, I barely scraped by and mostly hated every minute. The only part I didn’t hate, in fact, was when I finally wrote something that worked, and this was neatly tucked away in between hours of frustration trying to find the line of code that broke everything or figure out an incrementing algorithm that would result in 1, 1, 2, 3, 5, 8, 13, 21… and translate that into machine language. Granted, writing in an object-oriented language like C++ was much easier than Assembly (the language your computer speaks, rather than the language your software speaks), it still wasn’t something I enjoyed or have fond memories of, especially when I tried to take that knowledge away and build something that wasn’t in a book — a simple role-playing character generator — and gave up after failing miserably.
When I talk to most coders, they will sometimes tell me that they have no eye for design whatsoever. And if you’ve ever gone to a coder’s site or seen something they’ve built with little or no visual design at all, it’s easy to see that. That’s not me, I’ve always been visual, even when I figured out my actual talents with a pencil and paper were extremely limited. When I discovered Photoshop, and figured out how to use it, it gave me a medium with which I could finally create visual art I was proud of.
But when I talk to a lot of designers, they have no idea how the code works. They either stay as hands-off as possible, or try to find someone else to do the coding — or else spend hours mired in hopeless Google searches wondering “does this fit my problem? Does this?” And that’s not me either.
What I’ve learned recently, particularly after getting over my inherent fear of writing plugins (since that’s more like coding than designing), is that it’s not the coding that’s the problem — it’s the knowledge. This, I think, is true for everyone; that when you’re kludging through something you hate, it’s not the thing you hate nearly so much as the not knowing how to do it. I actually really like coding for WordPress, which, I’ve discovered since WordCamp, puts me in a unique position of being someone who knows both sides pretty intimately.
All this probably sounds like boasting, but it’s actually something I’ve mostly taken for granted, filling my own head full of “I hate code” when, in fact, I don’t hate it if I know what I’m doing. But there’s another part that makes the “I’m not a coder” statement into even more of a lie, which is that I can think like a programmer. Even when I don’t know the language, it doesn’t take much for me to figure out what makes a program do what it’s doing and, therefore, understand its limitations and abilities. This became more apparent when, once upon a time, I was working with photokiosks, and became so adept at their technical support that I quickly became the go-to person for them, which led to working more directly with the application and database programmers and project manager (which had the side-effect of teaching me about SQL and how databases work).
I don’t necessarily think that anyone can become a programmer if they just try hard enough, but I do think that we’re often held back by our self-fulfilling prophecies, doubts and fears that create statements like “I can’t do that.” I also don’t think that everything we hate doing is strictly a result of just not knowing enough about it — I hate Joomla! and it’s not just because I don’t know it very well. It’s because it makes a simple task overly complex. A couple days ago I wrote a document for a client listing the 14 steps(!!!) it took to edit an existing page and add a photo. 14 steps. Off the top of my head, I can cut that in half by just using WordPress instead. But I admit, I’m not as fluent in Joomla as I am with WordPress (on the other hand, Magento is overly-complex, but it, at least, makes sense, and I don’t hate Magento, I just think it has a steep learning curve). The point is, often it’s not the thing we’re doing that we hate, it’s not knowing what we’re doing that we hate, that feeling that we’re deep in something that’s way over our head and struggling to find our way to the surface. It’s an important distinction, one that could help you overcome your fear of the thing when it’s really not the thing’s fault at all.