Think first, act second…
Now, that is one jaded, played out piece of advice! BUT, sadly it is very true.
As some of you may (or may not know) during the day time I can be found happily attached to my desk coding websites. A more accurate description of my job would be front end web developer. I’ve been a full time developer for a little over 3 years and I have no shame in admitting that a little over 5 years ago coding scared the hell out of me! HTML and CSS was “web voodoo” that other people did, but little by little I started to make sense of a few things and then I finally got sick of saying no when people asked me “can you make me a website?”.
At the time, this was perhaps a little brave/stupid, but I wanted to learn and as a struggling freelance designer/bar man/idiot in a band trying to make ends meet, I obviously needed the money, so I decided to give in and say yes!
WARNING: This is where this post might start to get a little techy. However if you are just finding your feet in the world of code, this might be what you need to read. I wish someone had told me what I’m about to tell you!
Armed with my limited understanding of the basics of HTML and CSS, mostly learnt by coding myspace layouts (yes, I know…) I took on a fully fledged web project. Was I ready for it? Dear God no! Did I know that you could right click and inspect element/view source? No. Did I know that every answer to every problem you could possibly have was out there on the web? No. Did I even know what to google to figure the answers out? No. Did I know what a reset style sheet was? No.
Seriously, I could keep going for a seeming eternity! But it does bring me to the point I want to get at.
What is the difference between someone who has taken a few classes in HTML & CSS and someone who considers those languages his “weapons of choice” (honestly, that is on one of my old CVs)?
Knowledge. Mountains of infrequently useful knowledge.
And here is the best part…how do you get that knowledge? By doing!
The web is a wondrous and constantly evolving place, but it is also a place populated by people who fear change (Wayne’s World…anyone?) and people who I am genuinely amazed that manage to put their shoes on the correct feet in the morning, let alone drive to work.
Every professional web developer will, and I promise you this, have some seemingly useless piece of knowledge that they only acquired by accident, when a problem presented itself on the job.
I know, for example, that overflow:scroll is unpredictable on blackberry’s native browser or that position:fixed is a nightmare on the original ipad because the newest version of mobile safari it can run doesn’t support that.
I may have just lost some of you.
Here is the point though, you can’t know everything, BUT(!) what you do know can help you move forward!
Experience has taught me some crazy things about supported and unsupported code across browser platforms, and the myriad of devices you can use the internet on.
IE8 and below does not support CSS3 for example, so some of the modern big hitters, media quires, opacity, rgba, border-radius…are…um troublesome. So, where does that leave you, me and the rest of the web? In a difficult position to say the least. Don’t even get me started on 3D transitions!
There are some interesting schools of thought on this subject, there are those who suggest you should code for the optimum current web standards and add fall backs for older browsers. There are those who would rather play it safe and not explore some of amazing things that you can achieve because their clients grandmother looked at the website on her PC that hasn’t been updated since 1999 and the website didn’t work….
Then, there are those of us on the fence.
The fence is an incredible place to sit, because it gives you the luxury to judge a project on an target audience/budget/job by job basis. I’m not suggesting for one second, that you (and I for that matter) shouldn’t make every job the best it can possibly be, what I’m suggesting is you should take a deep breath, listen, absorb information, think and then act.
Here is the best thing…ready?
Every time something doesn’t work quite right, you have to find the answer. Doesn’t sound like a good thing at first, but it really is.
I came from a design background to development. Design is totally subjective, ask any designer, they will have a horror story. As a developer, most people don’t understand what it is you do, let alone how you do it! If it looks like it is supposed to and works they don’t care.
THIS IS NOT A STATEMENT TO ENCOURAGE AWFUL CODE!
It is a statement to encourage you to think, listen, learn and then act with a constantly increasing wealth of knowledge.
Want some more good news?
The web is an incredibly open place, I can’t hide my code from anyone, this also means….I’m happy to share my knowledge to make the web a better place, and it is the case for most developers.
I want to make the web a better place, if you have read this far, so should you.