Becoming a web developer is an entirely unique experience. Because the industry is advancing so quickly, you can confidently expect that you'll never be finished. If you're expecting a finish line you'll be disappointed when you realize it's just a mirage; it's not actually there.
Some of the newer tools like Treehouse (which I love) and Codecademy (which I love, but for different reasons) have attempted to create a finish line for their students. Theoretically, once you finish one of their courses you would be able to call yourself a web developer. They give you badges as you complete stages and skills to signify your progress on the road to being a ninja or rockstar or guru. Once you have all the badges, you could call yourself a web developer.
The catch is that they continually add new content, new challenges, new lessons, new projects, and new badges. The truth is, if you want to survive as a web developer, you'll never be "done" learning. (That's a good thing.)
The "I'm a web developer now" milestone
But, let's be honest, there has to be a milestone that will signify that you can call yourself a web developer. You may not be the best in the world. You might not be good enough to contribute to the Ruby core or to have a pull request on jQuery merged. You may even have a tough time getting a website deployed to Heroku, but that doesn't mean you haven't reached a level of proficiency that would allow you to call yourself a web developer without be disingenuous.
When I was learning web development, I set a goal that, for me, defined "being a web developer." It was a simple list of things a web developer should be able to do. You could look at it as minimum requirements to apply for a web developer position.
A web developer should be able to:
- wireframe/layout a website or web application
- write HTML and CSS from scratch
- take a PSD and turn it into a working website
- add interactivity to a website with JavaScript (or jQuery)
- write a basic application in an object-oriented programming language like Ruby or Python or PHP
- work comfortably with a version control system like Git
- manage a domain's DNS settings
- deploy a website to a website host
That was my list. I put it together from a hoard of tutorials and books and blog posts and it changed over time as I realized some things that were necessary and some things that weren't. I removed things like work with APIs and specific programmers skills such as write recursive functions or build a web application using TDD.
Bottom line, don't feel like you need to be spectacular to call yourself a web developer. You just need to be proficient in the basics.
5 comments: