So I’ve been stumbling again. As much as I hate what I’m becoming (A total bitch), I can’t help but go off on another rant. Today, I found three different articles containing not much more than a laundry list of “necessary” tools for budding web developers. The last one particularly ticked me off, because it mentions Photoshop, Dreamweaver, and other proprietary, expensive software. And yet the author had the gall to include GIMP as an honorable mention. Really?
Guess what? I started designing websites hand-coding HTML in Notepad and testing by uploading it to a website hosted on Tripod.
I seem to have learned the crap just fine. I don’t make the prettiest things ever, but my code works the way I want it to, and I didn’t need the frickin’ Zend editor to hold my hand while I wrote it.
So here are ten tools you actually need to become a web developer. Forgive me in advance if I come off as bitter.
1. A brain
This is the most important possession, before any software, any book, any forums. You need to have a functional brain and you need to know how to use it.This goes hand-in-hand with
2. Patience
Patience is a virtue. And if it’s not yours, you just picked the wrong career field. I’ve spent hours trying to make a CSS-based layout work the way I mean it to just to find I forgot to set a margin to 0. I’ve spent hours staring at a line in PHP, targeted by the error message, just to find the line before didn’t have a semicolon at the end. You need patience, and you need to survive kicking your own ass a few times. If not, you won’t be a web developer; you’ll be a failure.
3. Some form of motivation
This is another necessity that goes across many professions. If you’re not motivated to learn, continue to learn, and practice, then you’re going to fail. Period.
4. The ability to read
Web development (along with most other professions) require the ability to read, comprehend, and retain information. It also requires you to be able to apply this newly found knowledge to a project through which you may learn.
5. Creativity
This isn’t just artistic ability (i.e. making things look pretty). You can follow the golden ratio and base everything off a blue-black-white color scheme and make any website pleasing on the eyes. But for solving problems, figuring out how to go about doing something, and even simply finding a starting point, you need to be creative. There was no roadmap to creating a CMS when I started out. I just started with a log in system and ended up with WikiHowNot.
6. Knowledge of Google
You need to know how to use Google to efficiently find answers to questions, because trust me: you will have many. If you don’t know what a particular error message means in PHP, you must be able to find it without spending hours, or else you’ll forget what you were even supposed to be doing in the first place.
7. Support
Whether it be a forum where you can ask questions or another individual “in the know,” you need somebody who can help out and give you a shoulder to cry on when things go wrong. Again, trust me: it will hit the fan. It also helps to motivate you if you have somebody constantly nagging you about the status of your project.
8. Something to teach you
Find a forum, a website, a book, a video, a class, a tutor, or anything else which can teach you web development from beginning to end. W3Schools is a good place to start for HTML. Then you can find a good PHP-education site and pick it up there. Just pick a place and stick with it. If you do happen to go with PHP, by the way, pay special attention to security, or else.
9. Inspiration
This is sort of like creativity. You need something which will inspire you to keep learning and continuously work on projects. I don’t care what it is – money, a muse, the ability to impress your honey. Either way, find something to inspire you and keep you hard at work.
10. A text editor
In other words, a computer with a functional operating system. For Windows, Notepad. For Linux running Gnome, gedit. Pick one. Pick one you like. Ignore fancy bells and whistles (except syntax highlighting… that’s a nice one). You just need something which allows you to save an HTML file, and go from there.