Being a great web developer is not something you just “fall” into. It takes time, perseverance and an ability to sift through information like crazy to find out exactly what you want to do it and what the best way to do it is. Software always changes, so being great in a sea of changes is about creating the changes and improving yourself, first.
We web developers learned from each other how to be web developers. Blogs have been our weapons to build things on the web. Sure, there are a few books to teach us things here and there. But that isn’t where we get our primary source of information. There are great resources for tactical information on certain topics, and certainly we need this (like CSS Tricks). But often they don’t’t teach you the why.
In order to become a great web developer you have to know why you are building. Is it for fame and wealth? Probably not, otherwise you wouldn’t be a developer. It is probably because you want to learn knowledge and improve as a person your ability to create. People who want to be rich might become rich, but it isn’t because they are a great developer — it was because they know how to sell. Don’t confuse the two.
Assuming you do want to be a great developer and not a sales guy, let me ask you this question.. Who do you want to be “great” to and what are you willing to do for them? Once you pick who you want to give to — your peers, a company, a certain interest group, etc are going to be the targets of what you do for them. Why is it that the best developers in the world come from, and participate in open source? I learned a few things about creating a great open source project by giving and sharing my code. Create and give. Give because you received. Give them something back. This is how it works. There was a Russian man who turned down a million dollar prize for solving a math problem. His pursuit was solving and giving information. Being great is not about wanting to be great or rich, it is an iterative process of learning tactics, but then mixing tactics and creating new things and then taking the time to teach them to others.
We have a few names we all know, like John Resig. Why is he still a leader and why hasn’t jQuery crumbled like most other projects? He keeps giving. You still see his code getting checked into the repository and projects keep coming together and people still use those projects today. What about Linus Torvald? He dives into the code and still is improving things and reinventing himself through new projects. Neither of these people are filthy rich, but we definitely know their names. They are great developers fulfilling the needs of developers and allowing us to do much more with our time.
To be a great developer, you need to create, learn, create. You can’t be great at development without creating things and constantly improving yourself. You have take action in anything you do in order to have weight behind your words. One thing I realized last month is that if I ever let money or peoples’ praise and/or criticism kill my ability to teach what I’ve learned, then I’ve lost the battle.
I’m going to teach lessons learned, and I encourage you to do the same. If you teach and show your coworkers and superiors things, you will become respected more in that company. The more you teach other developers the things you learn, the better you will become as a developer. Be a talker only because you are a doer, never let them go in reverse order.
Remember, teaching and becoming great has to do with what you contribute and give to others. It has nothing to do with who you want to be. Being great developer is in direct proportion to what you create and give to the world.