| Home > How to Become a Web Developer |
|
By Thomas Myer (tom@tripledogdaremedia.com) Before we can talk about becoming a web developer, I'd like to spend some time and tell you exactly what a web developer is. The easiest way to do that is to tell you what a web developer isn't. Are you ready? A web developer is not a web designer. It seems that I spend about half my time at networking events telling folks that I'm not a web designer. Usually this gets me a crinkled brow and confused looks. I've come to find out, after 7 years in this business, that most people think of web sites as big monolithic blocks of code-and that the lay public has come to understand the person who works on web sites as a web designer. (When I first started out in 1995, this person was known as a webmaster, by the way.) Why is a web developer not a web designer? Simple: a web designer is someone who has training in visual design. This includes expertise in placement, colors, alignment, visual aesthetics, and other issues to make something look good. Web developers don't care about any of these things-in fact, they rarely have any real training in this area. Instead, they focus on functionality. For those who are still confused by the preceding paragraph, I'll draw an analogy. Suppose you are building a house. There are different things that need to happen at different stages of the project. At some point, an architect designs the house. Perhaps before this point, a realtor has helped you buy the land. And when construction begins, the framers and roofers start putting your house together. Soon, the house is ready for electrical, water, and phone services. At the very end, you might hire an interior decorator to make the inside as beautiful as it can be. In this whole process, the interior decorator is most like a Web designer, and the electricians and plumbers are the Web developers. In other words, the Web designer will make sure that your site is beautiful, and the Web developers will make sure that the site actually does something besides sit and be pretty. A really good web developer can also be like the architect, who helps you architect a site that will make sense for your needs (to continue the analogy, they will make sure the house is in the right neighborhood, and has the right number of bedrooms and bathrooms). No way would you ever hire an interior decorator to install electrical lines-likewise, you probably wouldn't want to live in a house that your electrician decorated. The Different Kinds of Web Developers Now that we know what a web developer isn't, and a little bit about what a web developer is, let's add another wrinkle. There are different kinds of web developers, because a web site that requires development work generally has different sections in it:
Some of you may have thought of web sites as just an interface, and may be unfamiliar with the other two sections. After all, a web site is a web site, right? In some cases yes, and in other cases, no. Think of Amazon.com. I've never looked under the covers of this site, but I guarantee you that the interface consists of just a couple dozen templates that contain commands that pull data out of huge database tables. If they ever need to update their look and feel, all they have to do is update the few templates that they have, and bingo, it's smooth sailing. Why is that? Because the world of web development is all about separating content from functionality, and both of those from visual design. Your look and feel elements go in the interface; your functionality should go in the middleware section; and the content remains in the backend. In my experience, each of these three sections comes with so many unique challenges that I've never found anyone who was good at more than two sections. They're either great at interface layer scripting (like DHTML) and working with a language like PHP, or they're sticking to the middleware and backend systems. If you plan on working in web development, you don't necessarily have to choose which section(s) to work in-you'll likely start in one place and work in all different areas in the course of your career.
How to Get Started The only way you can decide is by sampling. You can do this either by picking up books on a programming language and by visiting web sites devoted to a language. Take a few tutorials, see if anything sticks to your ribs. Once you've picked something, stick with it until you understand it completely. Why do I say this? Because it's a fact that you will switch programming languages many times in your career (PHP/mySQL is the fourth or fifth that I've picked up). The first will be the hardest to pick up, bar none, but every other one after that will be progressively easier. Why is this? Because most programming languages share the same kinds of constructs (variables, lists, if branches, while loops, for loops, and so on) and if you understand how they work in one language than you won't have any trouble understanding them when you start learning the next language. Next, start applying what you learn immediately. Work on your own site, or do some free work for a local company or non-profit. Do anything to get the knowledge and experience you'll need. If you're working with JavaScript, for instance, you'll learn a great deal about cross-browser compatibility issues once you start working on an actual site. If you're working with PHP or ASP, nothing beats solid experience when something doesn't work quite as you expected, and you need to crawl inside your code to troubleshoot. You'll likely spend the first three to five years sampling different languages and working in different sections of web sites, but eventually you'll find the groove you're most comfortable in. When this happens, celebrate-it means that you're ready to start charging the big bucks as a specialist. (I'll talk more about this in the next section).
Getting the Word Out and Making Money The other route is the freelance route. Although you can charge more, it's likely that you won't be quite as busy-at least, at first. The keys to success in freelance-land?
Specializing Wrong. There are generally two kinds of people who will be hiring you to do web development work. The first is the end-customer directly. If they are a small business or have no experience with the web, they'll expect you to be a generalist-but more often than not, these people don't have the budget necessary to hire you for the long term. What's more likely is that a larger end-customer, say a big corporation with millions in revenue, will hire you as a contractor to do a specific job. You will be part of a team and your duties will be focused on one or two areas. The second kind of person that will hire you is someone like me. I run a web development shop and constantly have needs for different types of specialties. I don't ever hire a generalist, because quite frankly my business partner and I can figure out this stuff on our own. Let me give you an example of what I mean. My business partner and I have various bases covered, including XML, PHP/mySQL, Java, Perl and things like usability and content management systems. Just the other week I got an urgent request from a web design shop: they needed help with a Flash XML project. We had the XML, but not the Flash. So I started my hunt for someone who knew his/her Flash and XML. Despite asking for this specifically, I was inundated by calls from Flash generalists, most of whom had never ever even touched XML. It finally came down to two Flash developers. The first was a Flash XML specialist with a lot of specific, concrete experience under his belt. He was referred to me by someone I'd worked with in the past, and this didn't hurt either. The second Flash developer was a young, eager beaver multimedia guy. When I asked him about his XML experience he literally opened a Flash book he had brought with him and read a passage back to me from a chapter on XML. Then he said that this stuff was a no-brainer. Who do you think I chose for the team? And who do you think charged more? The specialist got $45/hour, whereas the other guy was charging $22/hour. Believe me, that low rate did not inspire any confidence that he knew what he was talking about. What's the lesson here? The first chance you get, specialize. It can be in anything. You might own the Flash XML niche in your area. Or the object-oriented PHP niche. Or the shopping cart niche. It makes it easier to get the word out about your services.
Getting the Word Out Effectively So you've watched a lot of TV and listened to the radio-you've been inundated by commercials, so it shouldn't take too much effort to figure out this marketing game. Hold on. You're a consultant, and it takes a different marketing spin to sell your services than it does to sell detergent or luxury sedans. To sell yourself as a consultant, you have to build visibility and credibility. The visibility is easy:
The credibility piece is harder. Unfortunately, all those dot-com layoffs a few years ago poured thousands of web professionals out on the street. Most of these folks have the business sense of a fence post-they underbid just to get any business, they turn in shoddy work, they don't have any project management control, and they leave their customers in the lurch (I know, half of my business is built on "disaster recovery"). So there's a lot of bad blood out there concerning anything web (not to mention that the preceding snake-oil years of the dot-com boom didn't put much love in peoples' hearts). At the very best, you'll be viewed with quiet skepticism just because there are so many folks out there that have been burned. So how do you build credibility? There are a lot of creative ways to do this:
Notice what I didn't say:
In Conclusion |
|
© 2005-2007 EINSTIN3 TECHNOLOGY. All Rights Reserved. |