Launching a website requires mainly 3 parts:
- Graphic mockups
- HTML/CSS static templates
My work consisted of the first 2 parts exclusively. How did I call it? Web Design.
But how do you call someone who does only HTML/CSS?
- In English, it seems to be mostly called Front-End Developer, though it doesn’t involve any programming skill.
- In French, we have a word for that though: Intégrateur. It’s precisely the process of turning graphic mockups (PSD’s mainly) into HTML/CSS static templates, nothing else.
So, can I consider myself a Developer? Absolutely not.
What I love about CSS, and what made me good at it, is that my mind can encompass all the properties and values possible. There isn’t much theory to learn, so you’re left with only a small set of tools. It’s the multiplicity of their interactions that is powerful.
But when looking at a programming language, I’m overwhelmed by the vast amount of documentation one has to acquire. All the functions, parameters, obligations, special cases, syntax considerations, possible errors, alternative directions…
A designer’s first encounter of some kind of programming is often jQuery plugins or PHP WordPress themes. How’s that for a bad start? It’s mainly just looking at unintelligible code and trying to figure out why it doesn’t act exactly as you wish and how you’d like to tweak it a little bit, only to end up breaking the whole thing.
That’s how you end up with online forums bloated with unanswered questions following the pattern:
“I just downloaded X plugin but it doesn’t work and I don’t know why. Please provide me the full functioning code to copy/paste, without me having to actually understand the process.”
I’ve seen it, and I may have done it, but I wasn’t eager to stay in the fog forever. So I picked up some programming tutorials, about Ruby and Rails. I held a daily blog about my progress. Though it lasted for some months, I never got serious about it, probably because I never used it.
Lately though, inspired by many readings about programming, I still wanted to build stuff. Anything, for the sake of having crafted something. So I took up the programming language I’ve encountered most, PHP, and built:
- a html scraper that backups the pages I’ve liked with Instapaper (because I have doubts about their permanence)
- a static site generator (inspired by James Hague’s 6838 bytes Perl script)
- a script to download all the images of an online presentation (that weren’t actually allowed to be downloaded)
- a contact form for my personal page (easily spammable actually)
- a filterable events viewer for the LondonOlympics, parsing a json I found at NBC.com
My code is terrible. It’s mysterious variables entangled with non-DRY functions, waiting for an error to show up, and probably causing memory leaks everywhere. I often have trouble reading back my code and decide to restart from scratch. Still, it works(!) and I feel a sense of achievement that probably every programmer has encountered.
But, I know it’s terrible code, and I know that making it work doesn’t make it good. I personally wouldn’t share any of my code (considering “The first rule of code reuse is that the code needs to be worth re-using.”) and wouldn’t charge any client for it either.
And I believe the mere existence of bad programmers spawns from the lack of self-criticism concerning this kind of projects. As a result, I’ll remain publicly not a programmer until I become a decent one.