5 Steps to Becoming a Web Development All-Star
March 21st, 2011
I’ve enjoyed great success as a web developer – from my early days in 1999 building websites for clients via RentACoder.com, through my tenure as the CodeIgniter Community Chieftain, to where I am today (the Lead Developer for a team responsible for multi-million dollar contracts with various DoD intelligence communities) – it’s been a wild ride. I’d like to share, what I believe, got me to this point. This absolutely is not within chronological order, maybe a loose “level of importance” order.
All of these points will be written from my own personal perspective, starting with PHP and progressing on – regardless of your current language of choice, I’m sure you can take something away from this.
1. Learn Another Language
For me, it was Python – I had system administration duties where it just resolved to be the right language for the job. Nonetheless, I think it’s important for developers to learn another language; and if you have the freedom to break away from the web: do so! I’m not just saying play around with another language or complete a project or two in it – fucking learn that shit. You don’t want to be a one trick pony and every new language, that you truly grasp, and learn, will open your eyes to new concepts. It’s at this point you’ll realize being a developer isn’t so much about language as it is about concepts; languages are just syntax.
2. Dabble
Not to discount the aforementioned point, but you need to dabble too. Read a Ruby on Rails book and complete a project, complete a quick demo in Unity3D – it doesn’t matter. The more you dabble, the more you will learn. I had studied normalized databases for years – I knew the definition; but in practice, it wasn’t until playing with Rails did I actually have the skillset to put it into practice. I knew JavaScript’s capabilities, but it was until dabbling in jQuery, Prototype and ExtJS that I truly understood the language. You will learn new things with every language/framework you dabble in – whether it’s web-related or not.
3. Pick a Niche
For me, it was CodeIgniter. I busted my balls to become the name within the CodeIgniter community – I’m not so egotistical that I will sit here and tell you people equate CodeIgniter with my name, but I will tell you that was my goal. I wanted people to think “Michael Wales” before they thought “CodeIgniter freelancer” and I set out to accomplish that goal. I can name at least 10 people off the top of my head that know CodeIgniter better than I, but when it came to marketing, value for your money and niche-knowledge – as a total package – I was a pretty solid contender. Learn your niche inside and out, get out there, make yourself known by responding to questions and releasing great products; and if you are freelancing, charge for it! You will gain much more notoriety (as long as you can back it up) charging $75/hr than you will $20/hr; and ultimately, dominating a niche will progress your name further. When you are fulfilled within this niche, then move on.
4. Get Out There
If you don’t have a blog, get one. If you don’t have a Twitter account, get one. If you don’t have a Forrst account, start proving yourself and get an invitation from those of us that do. You need to get your name out there and you need to firmly stand behind everything you say. It’s okay to be wrong, but admit it and be cordial – thanking those around you for their help. There will always be someone smarter than you, but you will always be smarter than someone else; it’s your job to learn from the former and educate the latter. Your name is your brand and it is just as important to you as the name “Tylenol” is to Johnson & Johnson.
5. Never Give Up
Want to know a secret? My first business success, WoWCensus, parsed gigabytes of World of Warcraft logs by exploding on new line characters, then exploding on commas, then substringing on this, then that, then this, then that. It’s a wonder if worked at all (it damn sure didn’t work efficiently)! Nonetheless, I knew I wanted to parse in-game demographic data across all servers and I didn’t give a damn whether anyone said it was possible/feasible or not. Sure, technical limitations can hardly be overlooked; but when it comes to the limitations you put on yourself – fuck that shit. You are a programmer – you are analytical by nature; break the larger problem down into smaller tasks, ask your friends (see #4), drink a case of beer and think outside the box. Whatever it is you need to do, never, ever doubt yourself.
Bonus: Embrace Web Standards
Their coming (HTML5/CSS3/etc), whether you like it or not – and by implementing gracefully degrading solutions now you make yourself look awesome months down the road – with no future effort! Embrace them now, be on the fore-front of technology. I’ve made it second nature to support graceful degradation and web standards, I feel dirty and as if I have sinned otherwise. Ultimately, it has made me a better developer – I have a much firmer understanding of the HTTP protocol, a greater understanding of alternative Internet-technologies (screen-readers, for instance) and government-mandated handicapp-accessible compliance is an afterthought for me. I don’t need to worry about whether my application is compliant, or study miniscule edge-cases, I know for a fact it is because I inherently designed it that way.

Leave a Reply