|What skills do you require as a web developer?|
Lets go over the basics.
I thought I would put this thread together to gather some opinions on what it takes to get started as a web developer.
Many WebmasterWorld members have been involved in the industry for a long time, and as such have aquired and fine tuned their skills as they went along. Three or four years ago the web was very different. Websites where all about content and getting a message across as simply as possible. Now the web is very different. Multimedia is creaping in and standards are changing.
In years gone by a good overall understanding of HTML was enogh for you to do well. The developers of those days where then able to adapt, gradualy to change as it happened. In a relativly short period of time the web has advanced quite a lot. Now new developers really have their work cut out to make the break into the industry.
What key skills do you think the web developer of today requires?
Understanding HTML : HTML is the building block of the internet, if you only work on one aspect, then this should be it. Even if you choose to use an editor it is very importaint that you at least understand the code that is being written.
Understanding CSS : To many developers the topic CSS is enough to send shivers down their spine, but with web standards on the move it is a reality that sooner or later you will need to know how to make use of CSS. The princaple of CSS is to enable HTML to do what it was designed for (relay information) and use the CSS file to control the design.
Content writting : On the web today one thing is for sure, "Content is king". Lets face it the purpose of your site is to pass on a message, the message is your content. No matter how good your site looks this is no more than cloathing for your content. Good quality content is what will make users read your pages, it is what will make people want to recomend your site and it is what will make other site owners likely to link to your pages. Content is in effect the life blood of your site, without content your site is nothing.
Art and graphics : Almost every site employs graphics to a greater or lesser extent. It is what is expected and eye candy is something a lot of web users take for granted. The days of simply having your business name is text are pretty much gone. Graphics look good, they fit in well with the rest of the internet and as far as a user is concerned they should be there.
W3C : The web is all about standards and the world wide web consortium are the body in charge of laying down the rules related to these standards. As developers we have a certain obligation to abide with these guidelines, although very often this is something left out. As the web continues to evolve these rules will become less flexible so perhaps following them as they change would be a step in the right direction.
Marketing : Today the web is a fierce market place with the same companies competing for business across the world as you would see on your high street. Websites that use effective marketing strategies very often win the day.
This is just a very short list of skills required by a potential new web develper. In days gone by a website would have been run by one person, the "webmaster" Now I feel the term webmaster is more a term of speach or is used to refer to a hobby site owner. Today large websites will have a team of developers, each with their own skills and experience. In the industry today you will find programers, coders, html authors, graphical designers all working towards the one goal.
What skills do you see as essential and what advice would you offer to someone trying to get involved in web development.
CSS is nice to know, but not necessary. It might help make your website prettier, but you should never rely on it.
CSS produces inconsistent results across different platforms and browsers. If you look at successful, market leading websites - Amazon, Yahoo, Ebay, Google, etc - you'll see they all follow a similar strategy.. design for the worst browsers on the worst bandwith. They all use a little CSS for some touchup effects, but their websites look just fine for non-CSS browsers like Netscape 3.0. Virtually all successful, market leading websites still use <font> tags.
That said, I do use a little CSS in my websites.. like for removing underlines from some links, or for creating an occasional hover effect. But I would never use CSS in a way that would "blow up" my website when viewed by a non-CSS browser.
RE:"Art and graphics : Almost every site employs graphics to a greater or lesser extent."
Depends. There are many examples of very successful website with ZERO graphics. Literally zero.
And plenty of websites can do fine with just a logo, and some resized jpeg pictures. So I'd recommend that any web developer learn basic graphics work (resizing & cropping images). Irfanview or Paint Shop Pro would be fine.
But advanced graphics work isn't really necessary. In fact, if you're good enough with HTML, you're better off keeping the images to a minimum, and make the webpages faster for the client.
[edited by: mack at 6:27 am (utc) on May 15, 2004]
[edit reason] Specifics removed. [/edit]
RE:"What skills do you see as essential and what advice would you offer to someone trying to get involved in web development."
If a person is just going to be developing websites for themselves & friends, then I'd say HTML, basic graphics work, and marketing.
If a person is trying to make a living developing websites for others, then the more the better. PHP, JSP, ASP, Flash, DHTML, SQL, streaming media, etc. Clients often want ridiculous things, and you should be able to provide it if necessary.
If a person is trying to get a job with a larger firm, they're probably better off specializing in a niche. Like focusing on HTML/PHP/JSP. Or focusing on graphics/Flash/multimedia.
Mack: why did you delete the site I referenced? Deleting that info completely undermines my argument.
The site I mentioned is one of the highest ranked sites on the internet (about #150 on Alexa). Are you going to delete references to Amazon, Ebay and Yahoo too?
I wasn't trying to undermine your points, I was just very keen to try and keep the thread general as opposed to specific, More related to skills than examples.
|If a person is trying to get a job with a larger firm, they're probably better off specializing in a niche. Like focusing on HTML/PHP/JSP. Or focusing on graphics/Flash/multimedia. |
Very good point :)
I think that brings us directly to one of the biggest issues, there appears to be a fork in the road between traditional web authoring and multimedia. Perhaps this is one of the more importaint descisions a new developer has to make.
I think your point was made fine without the reference. ;)
While I agree it is possible to create successful sites with no graphics, the large majority of sites out there employ some form of graphics, so basic graphic design is preferrable.
I don't think it would be wise for anyone starting out in web design to neglect one area or limit themselves to another. Perhaps in the future, yes, but certainly not to start out with.
In terms of advanced vs basic knowledge (in any area) it's really down to the individual - many web designers prefer a particular aspect of web design and tend to focus on it (content, graphics, technical side, SEO - or any combination of them all).
So my advice to anyone starting out would be to get to grips with the basics in each area and see what works for you. Choose to specialise in the future or continue to explore all aspects of web design.
As Mack said, career wise, there are many different roles these days within web design and chances are that trend will continue to expand, so don't limit yourself, but do pursue areas that interest you.
RE:"W3C : The web is all about standards and the world wide web consortium are the body in charge of laying down the rules related to these standards. As developers we have a certain obligation to abide with these guidelines"
To some extent, I agree. But I think it's more important to design for the real world effectiveness than for idealistic standards.
Example#1: Even huge, successful websites like Yahoo.com don't validate under W3C standards. But Yahoo.com is fantastic in real world compatibility.. it looks fine in virtually any browser. Even in an old browser like Netscape 3.0.
Instead of worrying about doctype declarations and conforming to W3C standards, I think it's better to aim for 99.999% compatibility.
Example#2: W3C deprecated <font> tag 6 years ago. But it is NOT going anywhere. Virtually ALL successful websites still use <font> tag, and will continue doing so for a long time.
Complete reliance on CSS, and complete elimination of <font> tag is a standards idealistic dream. With pure CSS, you never know how the site will render on a PDA on GPRS, an Opera browser on Linux, Netscape/IE 3.0 on Mac, or even a proprietary web terminal at an airport/internet cafe.
On the other hand, I DO advocate writing tight, clean code. So in terms of "adhering to standards", I do think people should make sure to properly close their tags, avoid improperly nested tags, and avoid sloppy code that might still render ok in forgiving browsers.
I don't think the future lies in trying to cover all the bases...it's already impossible to keep up...so we all need to be looking towards a specialisation
for those who have a designers eye then it's worth concentrating on a combination of graphics, marketing and usability...for those whose skills are in programming it's better to concentrate on attaining an extremely high level of understanding of that...the generalists amongst us need to develop marketing and project management skills
I've tried learning to do it all...it's just far quicker and more effective for me to hire in a good programmer and a good graphic designer and to concentrate on site architecture and making the project work
this industry is maturing fast, it's getting very competitive...and with the legislative framework beginning to grow there isn't going to be a place for simply papering over the cracks when it comes to skillsets...we'll all need to get used to working collaboratively...we may as well start now
Excellent post mack. Definitely one of my bookmarks.
I'm surprised to see so many "canning" CSS as too cutting edge.
For the big sites that don't change their look much the <font> tags may work fine, but when a client says "I want my headings blue instead of red" I'll take CSS any day. I can't believe we can happily leave every other technology behind but we still care about people using 6 year old browsers that are not CSS compliant.
I'm sure I'll get flamed for this but I had to even the scales up a bit :).
Additional Key Skills:
Database Management: The web is more dynamic these days and the need for database driven sites is getting to be more and more in demand. Just about any site offering a service these days has a database behind it.
Programming Logic: To me, this is more important than acutally knowing any specific language like PHP. The syntax changes, the logic never does.
|for those who have a designers eye then it's worth concentrating on a combination of graphics, marketing and usability...for those whose skills are in programming it's better to concentrate on attaining an extremely high level of understanding of that... |
this was really well put, don't try to do it all, every time I check out serious coders' sites, the design is lacking, see the w3c site for a great example of this. And when I check the code of most designers' sites, it's pretty sad as a rule, not always, but usually.
Specialize, hook up with a designer trained in design if your thing is coding/programming, and vica versa, both disciplines are way too different to be well done by the same person as a rule, design is about using software to create a surface look and feel, coding is almost the polar opposite, it's engineering the machinery that will make that image work, the best sites are usually made with this kind of setup, the bigger the site, the more specialized the work gets, but this basic split is what works best I think.
designing skills: real design training, color theory, design school, graphics, fine art is good, training on photoshop/illustrator, both extremely complex and powerful programs. Work with a designer like this and you will hopefully reazize why training is important.
Soft Skill sets:
People Skills: If you can't communicate effectively, you're going to lose time/money explaining things, or re-doing things because the idea wasn't communicated explicitly enough. Learn to listen and how to communicate better; this is an ongoing process. Time is Money. Speak well and clearly and it will pay off.
<nice to have>
Sense of Humor: This is another critical skill set, because when you're up at 3am trying to wrap up a project for an indecisive client, you need to keep sane!
As for knowing CSS, imagine updating the style for your paragraphs and story titles and captions across a 200+ page website by only updating 1 style sheet? Or would you rather 'hand craft' your pages so you can lose four days of work doing the above style update? Yes, there are browser differences, but for basic styling it should be used instead of font in ALL instances.
Finally, a willingness to learn and to share knowledge is a beautiful skill to have for any developer.