5 lessons every Web developer must learn
Up-and-coming Web developers typically ask the same questions. What programming languages are important to know? What is a good entry level salary? Should I expect paid training from my employer? How do I estimate a new project? Although these are important questions, there is often a lack of interest in lessons learned by other developers. Generally speaking, it is because opinions abound with regards to how those lessons should be learned. Here are five such opinions.
You are not always the smartest person in the room
Before the dot-com bubble burst I worked at a job where one of my co-workers made sweeping claims about voice recognition. In a short time we would all be speaking to our computers and PDAs, surfing the Internet with glee, and without a keyboard. I questioned the validity of his claims, and was met with staunch resistance. How could he possibly be wrong? He had been to a conference! Several similar predictions were made in the months to follow. None came true.
If you find yourself in a similar situation, recognize that you could be wrong, and that you are not always the smartest person in the room. Being willing to consider the alternative will demonstrate more intelligence than thinking you know everything about everything.
Experience does count for something
Writers hate to hear other writers who claim this to be true. So do developers. However, I find that those who have accomplished a task on a previous project, will be more productive when completing the same (or a similar task) on a future project. When stated clearly, it does seem obvious, but developers still argue that our intellect should be enough to guide us to the correct solution. It might guide us there, but the path is treacherous.
The fact is, experience does count for something. Instead of letting jealousy reign supreme, trust in the experience of others and make it your own. Ask questions, get feedback, and admit to your peers when you make mistakes.
There is no silver bullet
Zealots. Every language, framework and OS has them. There is nothing wrong with being passionate, but the belief that any one of these technologies, frameworks, design patterns or languages can solve all your problems on every project is misguided. I used to scoff at job descriptions that required Web developers to have some experience in almost every major language of the day. Now I know why at least some familiarity with each of these languages is important; because there is no silver bullet.
Serious developers may become advocates, but they never become fundamentalist zealots. Unless you work for a software as services company, and it is your job to evangelize the product, be open-minded and willing to change.
The new cool is not always cool
Being pegged as a maintenance resource is a drag. Being known as the developer who always has to have the latest-and-greatest is worse. Working with new technologies and applications is exciting, but on occasion the new cool is not always so cool. Suggesting a tried-and-true approach for a project can lead to smaller budgets, shorter timelines and a happy client. The vast majority of users who use the Web site or Web application that you build will also thank you for sticking to established norms.
Instead, be vigilant about researching new trends in Web development. When the opportunity arises to present an alternative, or just start fresh, then you can push for change. If available, be ready to present case studies that detail how the new technology helped a similar project.
Not every battle is worth fighting
There are times, deep down in my gut when I know I am right. Regardless of the discipline or the nature of the argument, I just know it. It is likely that as a Web developer, with so many disciplines and personalities thrown into the mix, that you have experienced the same feeling. I used to fight each of these battles tooth and nail. I have learned that presenting a viewpoint that is descriptive and untainted by emotions is all that is necessary.
Even though your opinion might not be taken into account, you need to learn to allow others to make mistakes, and let management place discipline leads in charge. Your colleagues will remember your concerns, and you will receive recognition (in the least) for being open to other ideas.



A day late and a dollar short... comments are closed.
I would have to agree, but I’d also say that these apply to any position, at any job.
However I think that if one hears the “my code/framework is perfect” from a company or person, this should be the first red flag that there will be significant challenges if you continue down this path. ;-)
Comment by:
Steve
As for #1, there is absolutely no way at all that this is true. Not possible! No way!
:-)
Comment by:
cody lindley
I used to fight every battle also, and over time learned that removing emotion from the equation is not only all that is necessary, but it prevents you from appearing to be a pompous ass. Good read.
Comment by:
jleveille
@cody
I wish I could say that it is not so, but it is indeed true :)
@jleveille
Good to hear I’m not the only one.
Comment by:
Brian
Awesome post. I’ve mentioned the language zealots many, many times. Couldn’t agree more with all of this.
–Joe
Comment by:
Joe Stump
Thanks Joe!
Comment by:
Brian
These are very good lessons or principles. Being fortunate enough both to develop and manage developer groups I will strive to think about these principles both in my own day to endeavors and when managing others in their endeavors.
Comment by:
Mike Brunt
A very interesting read.
I’m in this situation now, our project needs a hard refactoring in web presentation, i want to establish jquery and extjs for presentation, but i only find innerHTML and concatenations to make DOM objects.
I think the problem is comunications between members of the team, and sometime people who have to make decisions is not the apropiate.
At the end we are islands coding alone in the same project, and this drives to a non return road or to search a new job.
Comment by:
enguillem
Wise advise. I agree too (who won’t ?)
Comment by:
Oncle Tom
[...] titolo dell’intervento di d’bug, 5 lessons every Web developer must learn, è - a dire il vero - un po’ pretenzioso e il contenuto a volte troppo facile da [...]
Comment by:
5 lezioni per ogni sviluppatore web | Edit - Il blog di HTML.it
Great post, as usual. Really makes a lot of sense. And some of the points you’ve mentioned are true for almost all the jobs.
I have got a job recently. In fact, my first job! I’d try to sue what you said. I’d rather say it’s very useful for me.
Comment by:
Abhisek
[...] | Daily | Friday, August 22nd, 2008 Back in July, the d’bug blog posted a great article up about 5 lessons every web developer should learn. Here’s the [...]
Comment by:
Koen.cz » 5 Lessons Every Web Developer Should Learn
[...] http://blog.reindel.com/2008/07/13/five-lessons-every-web-developer-must-learn/ [...]
Comment by:
5 lições que todo desenvolvedor web deve aprender « Breno Claizoni
Awesome, I’m also always trying to pick up new and “useful” languages, however, my company is reluctant to change, they stick to one and only language that they’re familiar with, and I have a hard time to convince them on a more approachable and cost and time saving solution, but to no success, i will keep on tryin to push for changes, else I might just go for a better one.
Nice post, worth sharing with other web developers around, I must say.
Comment by:
Jenson