Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
The Internet Education

Future Skills for a Budding Web Designer? 167

ericdfields asks: "One of my lifetime career goals is to establish myself on some decent level or another as a well-rounded, (mostly) standards-based web designer with some backroom web development knowhow. The problem is I have no clue where to begin. HTML, CSS, JavaScript are an obvious start, but what about other web-driven languages? PHP, XML, SQL, Perl... the list goes on. Should I be looking to grab hold of some Flash and Director skills? What abilities will be needed on the horizon that I can get an early start on learning today?"
This discussion has been archived. No new comments can be posted.

Future Skills for a Budding Web Designer?

Comments Filter:
  • by Seumas ( 6865 ) on Thursday January 06, 2005 @12:25PM (#11276461)
    It's important to know how to use the french fry timer, so your fries don't burn. Also, you will eventually need to know how to operate the cash register. Fortunately, they usually have pictures of the items on the keypad, so it should be a quick study for nearly anyone.
    • Everyone knows that you start by washing the lettuce. After a few weeks there, if your skills start to show, they try you out on the fryer or grill. Years of hardwork down the road and it's a management city full of easy streets for you.
  • Remember to salt the fries.

    Hone your customer service skills.

    Become handy with a spatula. :)

    (Sorry, I don't have anything constructive to say here. I know HTML inside and out, JavaScript, CSS, Perl, and MySQL. Couldn't be hired as a web designer to save my life. So I'm a Unix Admin instead.)
  • by Anonymous Coward

    Go back to say....1996 in your magical time machine

    Join the HTML Writers Guild

    Get a copy of HTML For Dummies

    Move to California
  • by oddman ( 204968 ) on Thursday January 06, 2005 @12:29PM (#11276530)
    Make sure that you have a good grasp of graphic design and layout/text editing. The best web-designers know more than just the techincal skills, they also know what a good looking page is supposed to look like. Most people are surprised that there are real and time-tested design standards. Violate them and no amount of techincal knowledge will make a webpage look good.
    • Good point (Score:3, Interesting)

      by AtariAmarok ( 451306 )
      Good point. Basic design skills are lost even on designers of major pages. Visit Slashdot.org, Drudgereport.com, Google.com and copy what they do. Visit Foxnews.com, cnn.com,aintitcoolnews.com, newsmax.com and learn how not to do things.
      • and if you want to make yourself stand out somewhat, go look at CSS Zen Garden [csszengarden.com] for something a bit fancy.
        • "and if you want to make yourself stand out somewhat, go look at CSS Zen Garden for something a bit fancy"

          I went there, and bailed after 10 seconds. The "light gray on white" text is a major blunder. If you have to paste the text into a text editor in order to read it, the web page has failed. It is like trying to read a newspaper where someone went over it for a while with Silly Putty and/or an eraser and took away much of the ink. The graphics reek too: the menu on the right in which the headers are pre

          • I think you missed the point - its a site that has 1 set of content, and as many 'themes' as you can shake a stick at.

            Didn't like the gray on white style? No problem - click the side links and try some others. Note: the links simply change the CSS stylesheet.

            try Black on parchment [csszengarden.com]

            or orange and black on light grey [csszengarden.com]

            or plain black and white-ish [csszengarden.com]

            So, to discover a few ideas about design, as opposed to tying it to content, look at what people have done with the exact same site. It should be a bit of an eye-
    • Yes. As a web developer, that is my biggest flaw: I have no design experience. I'm trying to correct that now, but it'll take some time. Do yourself a favor, and learn about design while you're playing with HTML/CSS/whatever.
    • Dude, this is all you need to know:

      http://www.users.nac.net/falken/annoying/main.html [nac.net]

    • usability.gov [usability.gov] is a useful place to read up on how to maintain compatibility and accessability using up-to-date standards. Lots of interesting and informative design tips there, too, and it's surprising considering it's a .gov. Nice to see my federal taxes put to good use (or at least better than other purposes [costofwar.com]).
    • Back in '97 I was a techie with a fondness for web development, and it occurred to me that, although I was a good HTML coder and knew my way around Photoshop pretty well, I simply didn't have the background in design that I'd need if I wanted to get into serious web design.

      So I went to art/design school. Learned a lot. Got good at Flash and what-not. Established myself as an art fag as well as a tech geek. One of my profs even talked to me about going into business with him. But before I graduated, the b

  • by everyplace ( 527571 ) on Thursday January 06, 2005 @12:29PM (#11276533) Homepage
    Flash is a great program, and has some incredibly appropriate uses, but more often than not people learn flash and then say they're web designers.

    Please, learn the standards first, as you've given a tendency towards already. When it is time to learn flash, using it from a proper structural understanding of how the web actually works, including information structures, user interface experience and page interactivity will all help you construct better pages that take advantage of all the technologies at your disposal.
    • Becoming a good flash developer is significantly more difficult than learning HDML/CSS tags. If it is used in the proper context Flash is a great tool. Unfortunately it is rarely used in a productive manner.
  • ....JavaScript? (Score:2, Informative)

    by AtariAmarok ( 451306 )
    "...The problem is I have no clue where to begin. HTML, CSS, JavaScript are an obvious start..."

    How about learning the "skill" of not using Javascript at all? If everyone had this skill, it would make make the Web a more pleasant place. Nest up, the elite "skill" of not polluting pages with Flashdross.

    • Re:....JavaScript? (Score:5, Informative)

      by numbski ( 515011 ) * <numbski&hksilver,net> on Thursday January 06, 2005 @12:35PM (#11276637) Homepage Journal
      I disagree. JavaScript has it's place. Primarily for enforcement of how a form should be filled out.

      There are other uses too. Realtime calculations in web pages. All things that could be done server side, but why waste the server side resources when it can be done client side?
      • That's an okay use, but sometimes it can get irritating. For security reasons, the code that gets the form data must validate it too, so why not simply reissue the form page if something is wrong, and list the problems in red at the top?
      • Re:....JavaScript? (Score:2, Insightful)

        by SunFan ( 845761 )
        Primarily for enforcement of how a form should be filled out. ...and that's basically it. JavaScript is pretty much 1% form validation and shopping cart updates and 99% usability impairment. CSS is the way to go.
      • by Anonymous Coward
        JavaScript has it's place

        An apostrophe has its place. And that wasn't it.
      • java script and active x websites force people to surf randomly with that stuff turned on. Why do you want to do that? There's more than enough evidence to show that basically it's a bad idea. Your particular site might be totally innocent, but you have no guarantees about other sites, so you force users to set preferences back and forth constantly. This is the 21st century, people use tabs and multiple pages open, not just one...page....at .....a ...time, and jump back and forth. JS and Active X is a *thre
        • java script and active x websites force people to surf randomly with that stuff turned on.

          Good use of Javascript should complement server-side code, not replace it. In other words, generally a web-app should not rely on client-side scripting, but client-side scripting - if available - should enhance the user experience.

          An example: form validation should be performed on the server-side. However, client-side validation is a nice bonus, to prevent a round-trip to the web-server only for the user to be t

    • Re:....JavaScript? (Score:5, Insightful)

      by GeorgeH ( 5469 ) on Thursday January 06, 2005 @12:51PM (#11276890) Homepage Journal
      JavaScript, used correctly, is good. Look at all the compliments Google gets on GMail and Google Suggest [google.com] or what people are doing with unobtrusive DHTML [kryogenix.org].

      If anything you should be encouragine this guy to write good JavaScript so you don't have to put up with the bad stuff.
      • JavaScript, used correctly, is good. Look at all the compliments Google gets on GMail and Google Suggest ...
      • I love GMail, but it still breaks my back button. No matter how much I use GMail, I always click the back button to return to the message list, end up at a page that says "loading..." and have to type in "gmail.com" again to return. Annoying.

        I've been using my back button for over a decade. Don't think that you can break it and I will adjust.
    • Javascript definitly has its place. There are many things that you want to be able to do on the client side without forcing a full page refresh. But it can and often is used poorly. That doesn't mean its a bad thing when done well, but you need to understand not just the correct syntax of Javascript but the how and why as well. Of course this is true for all technology.
    • Aside from it being overused and abused by people who suck at web design, you can still do a lot of nice things [mytsoftware.com] with javascript.
    • Uhm, what? First off, Javascript isn't Flash. Secondly, your comment is retarded and reeks of either scr1ptk!ddy or MCSE, I can't tell which.

      (To be fair, I'm an artist and a graphic designer in addition to a techhead - my job requires a fairly even split among these branches, but philosophically, I'm more of an artist. The methodologies towards what works and how to get things done well is a lot different than the constant upheaval of the tech world. That being said.....)

      I have ZERO server side techno
  • Why the hell (Score:4, Insightful)

    by KDan ( 90353 ) on Thursday January 06, 2005 @12:34PM (#11276612) Homepage
    would you want that as a career? The only career I can see shrinking as rapidly is the support centre phone operative.

    Daniel
  • then don't. Look into a different career, preferably one you enjoy or have some pre-existing aptitude.

    If it genuinely does interest you and you have some programming background apready, start by picking up some graphic arts/design and UI design. The programming end of web work is usually relatively trivial.
    • by sunbane ( 146740 ) on Thursday January 06, 2005 @04:11PM (#11279855) Homepage
      The fact people view the programming as trivial is why there are so many crappy, bloated web pages out there. The graphics arts is the part that is trivial... you can make a great informative, usefull, and traffic'd site without any graphics at all. Just look at /. These sites that are all done w/ graphics and flash might be fun to look at but are for the most part very annoying to use... especially for those w/ lower bandwidth.

      I would start w/ Jakob Nielsen's book Designing Web Interfaces. That will give you a basic foundation of thinking about a good user interface. Then you might want to read Zeldmans Designing with Web Standards and Cederholms Web Standard Solutions. That will give you a PROPER understanding of standards based html markup and a good intro to CSS. (Read Eric Meyer's books to further your CSS).

      As to the programming for web driven apps - I like PHP the best - XML and SQL you would use within PHP. You want to have a good understanding of both of those... SQL especially to hook into database type stuff. Javascript, I'd just get a Cookbook or something - most of what you want to do with that you can quickly pick up from sample scripts.

      Remember - HTML Editors are the devil!

      • Compared to much of the programming I did in college, nearly all of the web programming I have done and currently do is trivial. It's just not that hard if you have a decent programming background to start with.

        UI issues are infinitely trickier and require some pre-existing know-how in addition to user testing to sort out. Graphical issues aren't simply of matter of throwing images on the page, but even slashdot does include graphical design elements and images. It would do a 'budding web designer' who is
      • I've been a web designer for about 5 years professionally and I have to say that I got pretty lucky. All of my family are either artists or graphic designers by trade. That's how I grew up, listening to my dad talk about great design and watching him do hand layout graphic design. (Old skool, no computers). So growing up I got a great design sense.

        When I started getting into web design I started working with programming/scripting and it came very naturally. I focused on programming as my primary skill for
  • W3C (Score:2, Interesting)

    Everything *ML-related you can learn from the W3C [w3.org]'s Technical Reports. They also have a wide selection of examples/quick reference material in their tutorials [w3schools.com].

    I would advise not using JavaScript. Learn it all you want, but don't use it.

    While we could have a PHP vs Perl flame war, I'd suggest you take your time and try them both. And for the heck of it, throw Python into the mix. Learn them all, learn their quirks, and decide for yourself which is better for the job.

    Whenever you design a page, test it
    • w3schools is not affiliated in any way with the w3 consortium, but I do agree that both are good sources of information.

      However, your assertion that a page looking good in lynx means it will look good anywhere is ridiculous.

      • Re:W3C (Score:2, Insightful)

        ..why?

        It's an underlining point of CSS - separation of data flow and styling. Lynx is used to force this into the developer's mind by doing exactly that -- only showing the flow of content.

        If you content doesn't flow properly, regardless of what you do to it, it's not going to "work"; thus, get a working flow first and it will "look good" under anything. :)

        That's my experience, at least. For whatever the heck it's worth these days.
  • Dynamic Layout... (Score:4, Insightful)

    by phallstrom ( 69697 ) on Thursday January 06, 2005 @12:38PM (#11276674)
    I'm going to assume by "designer" you really mean a graphic designer, and not a web developer. That is, you'll be greating the UI and maybe putting together the pages, but not doing heavy development.

    If that's true, I'd say the most important thing you can learn is what a dynamic site does. Understand that content will grow/shrink depending on the database at that moment and make sure your design can accomodate that.

    I've been developing web sites for close to 10 years now and the ones that are the hardest are those where the designer thinks of a web page like a magazine page and doesn't understand that things stretch/shrink/flow.

    That said, I'd also learn as much as you can about *how* the backend languages work (PHP, XML, etc.) but you don't need to know the specifics. But if you understand the relationships and their capabilities you'll be your developers best friend.
    • And, by god, learn when to use jpeg, png and gif. I am continually amazed at the number of high profile websites that use jpegs when they should be using png or even gif. (The reverse doesn't happen quite as often.)

      In case anybody around here doesn't know the difference: Use jpeg for photos and photo-like images. Basically anything with lots of gradual color changes. Never use it for anything with large equi-colored areas or line-art. If you do, then the lossy compression scheme will introduce visible arti
      • You're mostly right, but it really depends on your needs. Visual artifacts are a minor issue for most small graphic items (like the slashdot logo at top left), but the compression differences will make a difference, one that could be significant to your bandwidth needs. PNG/GIF can easily be twice the size of JPG for certain images.

        Of course, the reverse can happen, as well, particularly for larger, sharp-edged pictures/drawings. For small items, I typically examine the item at about 400% magnificatio
  • Depends? (Score:3, Insightful)

    by forsetti ( 158019 ) on Thursday January 06, 2005 @12:43PM (#11276749)
    When you say web designer, do you mean:
    • User interface?

      • Focus on HTML,CSS,JavaScript, PHP, plus take a few Educational Psychology courses, and learn about accessibility standards (and federal mandates).

    • Data driven interaction with backend?

      • Java, SQL, Perl, XML/SOAP, and learn about the capabilities of your data sources, such as connection pooling, cacheing, etc

    • B2B/P2P Grid-type services?

      • Java, SOAP, XML, XML-RPC, UDDI, WSDL



    There are too many facets to learn it all. Pick the arena you are interested in, and work with others to develop the entire package. A "Jack of all trades" will usually create software that is mediocre in all areas.
    • User interface? ...plus take a few Educational Psychology courses, and learn about accessibility standards (and federal mandates).

      I have to say, that might be the best advice I've seen on the subject. Someone who understands what makes a UI functional, coupled with some graphic arts experience to know what makes one attractive would be a godsend.

      Sadly, those skills are the ones I have a complete lack of - my UI's look, well, utilitarian is a generous description. Fortunately I'm quite happy working the

  • If you want skills that will be useful 5 or 10 years down the line, you need to look ahead at what's not yet possible.

    I'd concentrate on learning how to make the same content look good on screens that vary in size from a wristwatch to a billboard. This means dropping everything that uses pixel-based measurement, and going to vector graphics. Learning how to present the same content in a linear way for small screens and a parallel way for big ones would also be good. All you've really got available now for
  • Simple (Score:5, Informative)

    by RealityMogul ( 663835 ) on Thursday January 06, 2005 @12:44PM (#11276775)
    HTML first, you need this no matter what. And learn it right, don't go putting FONT tags all over the place or build nested tables 6 levels deep.

    CSS is next. This is what you use to make your HTML look pretty. Memorize all the little things, there aren't that many really.

    PHP next. Play around with generating dynamic HTML.

    Then MySQL (or other database), and practice creating forms that get saved to a database. I'd recommend spending a good amount of time on this one and learn things like database architecture and how to tune things.

    Javacript should probably be last, since you shouldn't need it much, if at all. A lot of sites have a hundred K of javascript code to try and make things "cool". Go for functional, not cool. Things like confirmation dialogs are good. Things like form validate is WRONG - the backend should do that, not the client.

    Photoshop is fairly important, but won't get you far unless you know the other stuff. Although you could do this right after HTML and CSS if you want to do some static websites for people. For dynamic stuff, functionality is usually more important than looking pretty is a business environment, but your results may vary. Besides, proper design will let your site look cool without a lot of eye candy.

    As for Flash I don't personally like it and haven't bothered to learn it yet simply because I don't have a NEED for it. That's what it comes down to. Flash isn't necessary for web design. If a customer needs it, subcontract it out.
    • .. on if he wants to be a web *designer* or a web *developer - two totally different things. You are going more the designer approach, and from that point of view I mostly agree, except that i would suggest he learn XHTML 1.1 rather than HTML (start with the latest - XHTML works great in all current browsers, and a compliant, doctype'd page renders faster than HTML 4.0 in Mozilla and IE, and there is no need to suport netscape 3.0 anymore).

      However, if you want to be a web *developer*, Javascript is very im

      • "except that i would suggest he learn XHTML 1.1 rather than HTML"

        Aside from pointless spec (or IE) breaking, what does this achieve over XHTML 1.0 or HTML 4.01? Markup wise, HTML 4.01 Strict is pretty much identical to XHTML 1.0 Strict and XHTML 1.1, but there are a whole load of other issues with using XHTML (1.1 especially) you need to be aware of that suggesting everyone use it is just.. well, silly. This is not a place you want to version-chase unless you like unnecessary hacks and more points of fai
        • There is a fair amount of stuff in HTML 4.01 that cant be used in XHTML 1.1

          I disagree with the grandparent post. XHTML 1.1 is not the place to start. XHTML 1.0 is IMHO. That way you can develop in HTML 4.01 or XHTML 1.1 - without neededing to learn/unlearn too much.

          Migrating a site to XHTML 1.1 is a challenge, even for someone like myself who has been a web/db developer since 96. My current personal site started as XHTML 1.0 Transitional, then I moved to 1.0 Strict, then 1.1. XHTML 2.0 looks nasty, I migh
      • I agree, I didn't really differentiate between a developer and designer. Most times when I hear people say "web designer", I just assume they really mean developer.

        Although I take "web developer" to mean somebody capable of creating an entire website, both UI and back-end. I know this definition may not be accurate in a human resources controlled environment, but I'm a loner and "web developer" seems an appropriate tag for myself as I do everything.

        As for the JavaScript capabilities, I agree. Although
    • Re:Simple (Score:3, Insightful)

      by nine-times ( 778537 )
      As for Flash I don't personally like it and haven't bothered to learn it yet simply because I don't have a NEED for it. That's what it comes down to. Flash isn't necessary for web design. If a customer needs it, subcontract it out.

      I would agree that you *shouldn't* need Flash to build a web site (at all). I hate flash. It doesn't do anything functional that can't be done without it, and it requires a proprietary plug-in, and I hate needing to download plug-ins.

      So much for my personal rant, because if yo

    • Re:Simple (Score:3, Interesting)

      by Trixter ( 9555 )
      To add to this, I wouldn't limit yourself to ONE database and ONE interactive language -- for example, once you're done with PHP+MySQL, try Zope+PostgreSQL. If/When you become professional, you will not always have your choice of backends, so get used to a few of them so you can be prepared.
      • for example, once you're done with PHP+MySQL, try Zope+PostgreSQL

        ...of course, PHP is a scripting/markup language and Zope is a content management framework (that has its own storage mechanism, and so doesn't need a database -- or a web server for that matter), so the comparison doesn't really work there.

        But the point is a fair one: don't just learn PHP -- follow up with Perl, and not just Perl, but Perl's mini-languages for site management: Template Toolkit, Mason (which is much like PHP), HTML::Tem

        • ASP (to try the Microsoft set of tools)

          While the remainder of your comment is sound, if you're talking about "classic" ASP (as opposed to ASP.NET) I'd caution against learning ASP (disclaimer: I'm an ASP developer): ASP is deprecated in favour of ASP.NET on Microsoft's web-server (IIS), and horrendously expensive on any other platform (we've just moved from ChiliSoft ASP/Cobalt RaQ-Linux to SunONE ASP/Sparc-Solaris, and it was the software, not the hardware, that made our bean-counters cry ;)

          ASP is old-

    • Actually, using XHTML 1.0 Strict and making sure it passes the validator is the first thing. CSS can do all the eye-candy stuff. Due to a few bugs in IE, you will still have to use tables for a few layout elements.

      SVG is part of those nice things that will arrive very soon.

      XML and XSL-T is a nice combo too for dynamic data.

    • You had me nodding until you said PHP. Then you mentioned MySQL and I stopped reading.

      If you are doing anything on the web, whether it's web app development or web design (two very different things), you need to know HTML and CSS. Everything else is dependent on what you are trying to do.

      If you are doing web development you need to understand databases and have a general knowledge of how they work. Read about them before you install one. You really, really should understand why the DBA has set up the
    • Re:Simple (Score:3, Informative)

      by legirons ( 809082 )
      Philip and Alex's Guide to Web Publishing [greenspun.com] - Great book.
    • Things like form validate is WRONG - the backend should do that, not the client

      Welllll, sort of. Yes, the back end should validate all input data, just as any program should validate input data. You always have to validate on the back end; there is no getting around this.

      On the other hand, a well-written form validator on the client side can have several benefits, including better user feedback in the form of immediate rejection of invalid input (rather than making them wait for the round trip to the

      • Hey, a polite argument!!!! =)

        Ok, I will concede a little. It's going to depend on the project first and foremost. I myself have done client-side form validation in the past, and I have also used javascript for lots of stuff on commercial web apps for the company I work for. It usually comes down to part of a design decision on the look and feel of an app.

        My initial comment was poorly worded and didn't go into great detail on how/when that should or shouldn't be done. It was meant as an example of "do
    • Realtime form validation is fine via javascript as long as it's confirmed by the server.
    • Things like form validate is WRONG - the backend should do that, not the client.
      No, client form validation is definitely GOOD. With proper client side form validation in normal cases you can prevent unnecessary requests (those with invalid input) to the server. This saves both user's time and your bandwidth bill. Of course, validation MUST also performed also on the server side (client may not support JavaScript for a reason or another or client may maliciously by-pass the JavaScript validation). You can't
    • Javacript should probably be last, since you shouldn't need it much, if at all. A lot of sites have a hundred K of javascript code to try and make things "cool". Go for functional, not cool. Things like confirmation dialogs are good. Things like form validate is WRONG - the backend should do that, not the client.

      While I would agree that the backend should definitely validate form data, I would disagree that you should not also validate with script on the frontend.

      For example, Imagine that you have a lo

  • There are several ways you can go with this. If you want to do more of the front end stuff, learn DHTML, Javascript and graphics. If you want to do more back end stuff like application building learn PHP/Perl XML, SQL etc.

    It really depends on which part of web space you want to be in.
  • by madstork2000 ( 143169 ) * on Thursday January 06, 2005 @01:15PM (#11277257) Homepage
    There are a lot of skills, as you've already realized, that go into web development. But to be successful commercially, you are going to need to learn to work as a team. Quite simply, if you are a good designer, you'll have too much work and will be a bottle neck.

    The hard part of being a developer is troubleshooting, debugging and optimizing. The only way to know effectively do it is to have a complete understanding of the entire web process. Those skills really come only from experience.

    It is learning how ALL the pieces of the equation fit together and interact. I.e How does the HTML in the site render with the browser, is the traffic effecting the performance, if so are the images to blame or possible a database connection? Is there a caching issue in the browser causing upodates not to show? What version of apache/PHP are running, how is each configured?

    I own and run a small hosting company. I also do a lot of development using mainly PHP, but there are a few PERL scripts, shell scripts and even a C program here or there. My company specializes in hosting small developer and designers who are just getting started. So We actually get a lot of questions and issues, that usually stem from the fact that the people just do not have a complete picture of the system.

    For example one of my larger more experienced customers who has two dedicated servers, and hosts about 300 domains on them, called me with a problem with a shopping cart she has used many many times before. For some reason the site was excruiatingly slow, and she did not know why. A quick glance at the config file told me she was running a database off a server in another datacenter. So there was a lot of overhead from the lookups. She knew this, but didn't realize the impact that geography makes, and she wasted a day trying to figure it out before calling me.

    Anyway, in my opinion it is good to lear one or two skills really well, and assemble a team of people around you that can fill in the gaps. But it is equally important to know a little bit about as many skills as you can. This is important for several reasons:

    1. If you are farming out the work you can give the subcontractor good specs, and can in general communicate your needs better.
    2. If you do need to learn the skill it will be easier with some background to start.
    3. A lot of the skills and languages and tools you learn share common elements, or at least common ideas. So by learning new things, you can often take those skills and apply them to your area(s) of expertise and become better.
    4. learning about the features and benifits of a wide range of tools will help you identify the best tool for the particular project. That will help you be more efficient, and thus make more money.

    Anyway if I were starting with a blank slate and wanted to be an independent developer. I would learn HTML and CSS as they are the fundemental building blocks. A server side language is also very handy, and will allow you to truely take advantage of the numerous free scripts. It is one thing to install a script, it is another thing to fully integrate it into a site, knowing the language will help. I prefer PHP.

    If you pick up PHP, knowing basic SQL and specificall MySQL will go a long ways.

    Flash, is handy but I try to avoid it for most sites, animated banners are pretty worthless none and really do not provided the customer with any bang for the buck. If your client insists on it, it is easier to farm out the Flash dev.

    Graphics skills are very handy, but can be very tedious and time consuming. It is a good idea to know how to "tweak" images, change colors, crop, scale, etc using Gimp or Photoshoto, etc. But Like flash you may be better off letting an artist do the none technical design work.

    Javascript has come a long way (or more accurately browsers have come a long way) since now it seems much easier to get Javascript to work across the various browsers. There is a plethora of quality free javascripts
  • If you're implementing designs that others give you, or even making some of your own:

    HTML is a must. Learn it from the w3schools [w3schools.com] website - their tutorial rocks. Also check out XHTML, and see if you can conform to the standard in everything you write, whether it is required by your job or not. Standard conformity is a good way to save yourself when all the browsers in the world render differently.

    CSS is good to know, BUT: most of the time, a company will have a CSS template that they use over all their web pages. Sometimes you'll just have to include this template in your HTML (a one tag thing), and sometimes you'll have to edit it a bit. If you ever have to make your own, a quick look at the above website will help you do it immediately (if you can already do HTML, CSS makes a lot of sense), although I wouldn't focus on it initially.

    ASP (& VB), JSP (& Java), PHP (& Perl). Most companies are going to be tied to one of these three. The best thing to do is be a beginner at all of them - take a look at sample code from all six - and then become an expert on the job. My current employers (a university) are tied into Microsoft products, and politics (and other interesting financial things) keep them from changing. However much I would like them to move over to LAMP, I'm not going to sit and mope and lose my job. THUS, I code in ASP with Microsoft SQL-Server, and write VB programs for another section of my department. Be flexible. Don't assume you'll get to use your language of choice, wherever you work. Sometimes conditions prohibit it.

    Learn SQL. Forget all this "learn MySQL" stuff. The connection to the database is generally something you'll write in 30 secs - with some template somewhere - and the SQL code to actually query and update that database is going to be the important, life-changing stuff. Learn SQL. On that note, if you're planning on being more of a back-end web developer (like me), learn database management. Learn how relational databases work. Learn how JOINs are your friend, and multiple relations (or tables) are a good thing. Ugly database code kills me.

    And, to take a note from Joel [joelonsoftware.com] yesterday [slashdot.org], know how to communicate. Most web designers - the people who will be giving you changes that you absolutely must make or they'll die of horror at that color scheme - are art or design majors who have the elite thing going just like most of us programmers. Learn how to talk, how to listen, how to accept someone else's decisions when you don't have the power to make them - yet.

    If you're planning on being back-end, there's a lot of other stuff you might need to know: how virtual directories work, how IIS sets up ASP applications, how Apache's configuration file works, how home directories are transferred over, how server scripting actually works, how to lock down a web server, etc. But if you have a good grasp on the above, and you stay flexible, you should be ok in the job market.

    (That, and having all those acronyms on your resume will get people hooked if you can actually confirm your knowledge!)

    • I think this needs to be repeated -- if you're planning on learning and using SQL, actually learn it. Don't just pretend to learn it. Don't just learn to do simple selects that "get you by". Actually learn it. Pick up a good relational theory book (Darwen, Date, Pascal, or Celko if you have to) and read it end-to-end. If you're not *really* good at it, find someone who is, and have them take care of it for you. Ugly graphics can be fixed as needed, ugly queries take longer, and bad database design tends to
  • Thin Ice . . . (Score:5, Informative)

    by Dausha ( 546002 ) on Thursday January 06, 2005 @01:18PM (#11277317) Homepage
    First, I would say the market is full. Web Designers, unless they are very artistic, are low man on the totem pole. IMO, to say "when I grow up I want to be a web designer" for a teenager today is about like saying, "when I grow up, I wanna drive a UPS truck." That's why the other fellow's humor about flipping burgers is funny, sad, but true. You need to think more long term. Also, beware of the wave of out-sourcing

    Go to college, and at least get a Business minor. Most of the technologies that are needed for web development are self-teachable, so (again, IMO), if you want to go into computers you may not needa a CompSci degree. Many organizations look for somebody who is technical, but who understands their industry--hence the business minor advice. By that, I mean, you'll understand a bit more about business. However, a business minor (or degree) is really generic.

    I used to do IT, now I'm in law school. I don't necessarily plan to be a lawyer--I presently am inclined to return to IT. Having an advanced degree in an industry also helps your job potential.

    When it comes to which languages to learn, HTML is too easy to learn to be mentioned--just follow the advice of others on this list and learn HTML properly, not like the WYSIWYG editors might teach. I'd recommend PHP, Perl, Python, all three. I'd also recommend a systems language (Java, C, C++), Mysql is prefect because it helps you learn the fundamentals of databases at a low cost (free).

    Depending on where in the country your are, though, you may have to submit yourself to Mr. Bill. In my local market (I moved from where I did IT), Unix skills aren't as marketable as MS skills.

    Anyway, a lot of service IT can be self-taught. So, educationally focusing on something else is good for balance. Business helps you communicate to the business types. Other degrees to other specialties. An advanced degree also helps as well as increasing salary potential.

    Finally, Be Flexible.
  • by polyp2000 ( 444682 ) on Thursday January 06, 2005 @01:20PM (#11277345) Homepage Journal
    One of my lifetime career goals is to establish myself on some decent level or another as a well-rounded, (mostly) standards-based web designer with some backroom web development knowhow.

    4-5 yrs down the line you will probably want to be doing something else less web related - most people want basically the same thing from their websites. And once you have built umteen sites for umpteen different client - you will find your self wondering what other interesting development jobs there are about. I'd advise getting some other more generic skills - C/C++ maybe something else but that can easily be leveraged when you decide websites are'nt challenging any more...
  • Skills... (Score:3, Interesting)

    by kosmosik ( 654958 ) <kos@ko[ ]sik.net ['smo' in gap]> on Thursday January 06, 2005 @01:24PM (#11277399) Homepage
    That depends in which direction you wish to go. Right know I find it good to have website built by few people. Usualy there should be one for website code/logic, second for database design and third for layout/visualisation/layout-specific-logic - for properly designed webpage (and such have future) it is extremely important to separate those things.

    So as graphics designer you probably need to have good knowledge of:
    1. Basics: HTML, CSS, graphics programs (loads of, depends on what is your artistic direction), maybe Flash (but I don't like it).
    2. More advanced stuff: template engines like smarty or common CMS systems, W3C specifications, accesibity, interfaces design methodology, typography.

    As database designer you should be aware of things like:
    1. Basics: SQL basics, popular RDBMS like MySQL, SQL Server, PostgreSQL (go with this one), SQLite etc.
    2. Advanced: database optimalization, RDBMS specific issues, DB abstraction layers (to make code portable between RDBMS), DB server administration etc.

    As code/logic designer:
    1. Basics: PHP, Perl, Python - you should at least know few such languages.
    2. Advanced: internals of servers (like Apache), advanced programming (probably object oriented), use of popular extensions, systems (like Zope, Pear common CMS systems), templating engines (to work with graphics guy).

    Also there is another side of Web which is *content* - it is also wide area how to manage your site, analyze visits, clickpaths, focus on best stuff and forget not visited parts, marketing and so on.

    There is really lot to learn to be good webdesigner, you should know at least basics of those topics to be self contained designer. Otherwise I sugesst you focus on things you like the best (graphics/coding/managing etc.) and work in a team of narrow specialists.
  • by Alpha27 ( 211269 ) on Thursday January 06, 2005 @01:37PM (#11277600)

    You say web designer, so I will assume you want to go for a more visual development, than a programming/scripting side of it.

    With that in mind I would suggest the following:

    • HTML/CSS as you're doing now. There's no way around this.
    • Javascript You should learn this and as other have said already, use it sparingly. Form validation is one example where it's been used heavily, and should probably not be used. But javascript has other uses such as pull down menus,floating content, image rollovers and other things. At this point in 2005, most of the code you will need is available on many sites you can download from. The most you need to do is understand the code and modify as needed.
    • Flash, and maybe Director There's plenty of Flash on the web, most of it is useless especially when it's used for splash pages. What you need to do is learn when to use it or more so when NOT to use it.

    Now for the theory. This seperates the person who was good with crayons as a kid from someone who can seriously understand what a website means. You need to learn concepts beyond just simple design. You need to understand how web interfaces work and how users relate to them. Read the articles at use-it.com to get a initial understanding of this. You should understand concepts like the "page fold" and how does it relate to content on the page, how much time should a page take to load, most common page dimensions, what actions people commonly do under certain situations and what link colors people are used to and how should links look like. All of this mainly falls under Visual Information design. You have to know how to communicate what the information is trying to say. If you're the type who likes to go for the big flashy images, then you missed the whole point. If you start off your introduction with "I'm a print designer" or "I come from the print industry" then you need to stop, turn around and go back to the books.

    Now for the tougher part. Adding in the developer side of things. If you want to become well rounded, the main questions to ask are:

    • What do you expect to gain from doing or learning the developer aspect of it?
    • Do you want to do backend development or at least just have an understanding of the development?
    • Do you want to do complex development or just simple development?

    This is not to discourage but to at least ask the basic questions

    If you want to at least have an understanding, then I would suggest...

    ...read a number of the websites dedicated to web design and development like webmonkey.com, devshed.com, sitepoint.com, and others.

    ...learn basic programming concepts. Pick up a book like Programming for Dummies. Great way to learn if you're not a programmer.

    ...pick a language to play with.

    If you want to do development, then I would suggest...

    ...the same that was suggested above for understanding.

    ...learn PHP because it has a lower learning curve than Perl, and less syntax mistakes you will encounter. (Don't flame me, it's just my personal opinion from personal experience with both languages.) The main issue some developers will have with PHP is the number of functions available in the core language. Perl has 200+ functions, and PHP has well over 3000 functions. That's where the documentation comes in handy to have. I used the Windows CHM doc when developing PHP for quick reference. If you want to have a more Microsoft background, you could learn ASP.NET. If you want to get into some more serious programming with more potential, then Java is another option.

    ...learn some SQL and some Database Design concepts. A number of books talk about simple theory that can be implemented quite easily if you're a smart enough person. It's also good to look at the example data they have and build basic applications that do simple tasks. Mak

    • I'd add in the mandatory xml also and xslt. Why? Because XHTML 1.0 standard is out and it is where things should probably be going. XHTML does require the document to be standard xml, only with html tags, and more rules. XML and xslt can be rendered by any browser (IE / NS 6.x+ / Opera and some others) so learning that should be something else also.

      As a web developer myself, if I were to be hiring someone now, I'd say they MUST know HTML, CSS, JavaScript, XML, XSLT, Java/Jsp/Servlets, and eitehr perl or

  • It depends on... (Score:4, Informative)

    by shadwwulf ( 145057 ) on Thursday January 06, 2005 @01:41PM (#11277646) Homepage
    ...if you want to be a designer or a developer.

    By the definitions that are used in the circles I am involved in a web designer is someone that mostly is designing the visual, purely front end, aspects of the web site. The web developer on the other hand involves the addition of software development that happened to involve using the web browser/web server client/server paradigm with dynamic content.

    Between the two, you will be much more marketable as a potential employee / contractor if you are the developer.

    Like any other software developer, you need to be familiar with general computer science topics. Also learning to think algorithmically and having a solid handle on the theories of procedural and object oriented programming and then expand into the languages that are relevant to your specialization - In this case web programming.

    Another important prerequisite is an understanding of software life-cycles. Web based applications (yes, a web site is a web application) are no different than their desktop cousins in that they grow, adapt and ultimately reach a point that they need to be updated and replaced with newer iterations of code.

    With respect to specific technologies, if you have solid grasp of procedural and object oriented programming, moving between PHP, Perl, Java etc. shouldn't be that huge of a leap. A prime example of this is that PHP and Perl share a great deal of like syntax.

    My personal opinion on the "essential" technologies of web development with respect to languages are as follows:

    PHP and Perl - If you want dynamic content you need a web language. Java servlets have a little higher of a learning curve, so I would start here.

    SQL - If you have dynamic content you need to store it somewhere and flatfiles are poor for performance and developer sanity. Learn SQL (mySQL is a good and cost effective place to start)

    CGI - Although CGI is a communications environment to get data to your script when executed server side, and not a language per say, you need to know how it works in your sleep. The moment you have one dynamic thing on a web site you are touching on CGI in some way and just relying on your language of choice to decode passed information to you is not going to cut it in the real world.

    Apache - One other thing to mention is that you should also become very well acquainted with the behaviors of your web server. I would recommend Apache for two reasons. One is that it is readily available in an unencumbered form. Second, although there are many fanboys that may pipe up and recommend there favorite although less popular web server. Apache quite simply is dominant because it covers all the bases, performs well and quite frankly makes it so there isn't a major reason to bother with anything else. Apache has a multitude of modules available that extend and enrich the functionality of the base server platform. Knowing how to make use of them is something that you don't want to pass up.

    As far as non-essentials to pick up on once you have the above out of the way:

    Java - In many places where you are developing a large scale web application, a well placed java applet can be helpful. This can include real-time communications interfaces for chat functionality, or multimedia services.

    Flash - I'll be the first to advocate NOT using flash wherever possible, except in some extreme cases. However there is a point to be made that knowing language is a good thing, not for just writing new things, but also for reverse engineering or porting an application to another language.

    My $0.02
  • by Brento ( 26177 ) * <brento.brentozar@com> on Thursday January 06, 2005 @01:51PM (#11277758) Homepage
    One of my lifetime career goals is to establish myself on some decent level or another as a well-rounded, (mostly) standards-based web designer with some backroom web development knowhow.

    Lifetime goal? Either you're twelve years old, or you're setting your sights really, really, really low. Or both.

    Web design used to be tough a long, long time ago. These days, saying that you're going to be a well-rounded web designer is like saying you're going to be a well-rounded word processor user or desktop publisher. Off-the-shelf tools like Dreamweaver can produce web code more than good enough to get by. The challenge is no longer the tool, but the content: businesses have a greater need to put together sensible content that users want to consume, rather than just putting together a well-formatted web site.

    If you want to build a set of lifetime career goals, get a role model and ask them what skills they use in their daily job. Don't make the mistake of asking them how they got their start, because lots of us got started in web design because it was tough ten years ago. It's not tough anymore, and it's not a great place to start now.

    If you want to make money on the web, don't get started with design - get started with content. Find a subject that you're an expert on, and build out your content using any run-of-the-mill web site management system like Plone or Xoops. Forget getting good at HTML - any monkey can do that. Get good at providing content that users want to return to, and then you have a shot at making money.
    • Agreed. People tend to bash the tools like Dreamweaver and FrontPage, but once you've played around with pure HTML, you rarely want to go back, you just want to build sites quicker and get better handle on site management, which DW and FP are excellent at.

      Open source site engines are also proliferating, and so is open source Web design [oswd.org], and frequently one can launch a complete Web site by just going through the install manual or performing a few clicks in Fantastico, which many Web hosters provide.

      Buildin
    • Web design used to be tough a long, long time ago. These days, saying that you're going to be a well-rounded web designer is like saying you're going to be a well-rounded word processor user or desktop publisher. Off-the-shelf tools like Dreamweaver can produce web code more than good enough to get by.

      Well, that's true if you're making very simple pages. Even simple pages, it's worthwhile to know some HTML though (which, agreed, isn't hard). However, I've never gotten a complex page (even one without any


  • Decide right off the bat if you intend to be a Graphics Designer who specializes in doing web layouts, or a Web Coder. The two get confused and munged together, but most people are only good at one or the other. If you're going graphics design, hook up with someone who can do the coding side, and you do the HTML templates and the images and the layout and css and all that junk. If you're going the code route, learn the obvious back-end scripting languages, and learn javascript and (d)html stuff. Don't e
  • Stick with your plan of being standards compliant. Consider HTTP a tool and understand how to correctly use it. Know what its limitations are.

    The Web has been polluted by the ever increasing crop of "web applications." HTTP is not designed for session-based, interactive applications. Yes, some limited session support is very powerful (as exemplified by Slashdot.org). Amazon also has it right - lots of back-end processing to present useful dynamic (but not "Active") data. Gmail has it wrong because it relie
  • by karnat10 ( 607738 ) on Thursday January 06, 2005 @02:12PM (#11278056)
    ...is the single most important skill you'll need.

    Don't specialize on technologies, focus on problems instead. You'll have to learn a new technology every year to solve the ever same problems.
  • The hot new technology of the day is SVG, Scalable Vector Graphics. Go to http://www.w3.org/ and look it over. Go to http://www.adobe.com/svg/ and see some examples. Then imagine what you can do with your content.

    If you've no content, you're not going to appreciate it :-).

  • by Darth_Burrito ( 227272 ) on Thursday January 06, 2005 @03:00PM (#11278766)
    to establish myself on some decent level or another as a well-rounded, (mostly) standards-based web designer with some backroom web development knowhow. The problem is I have no clue where to begin. HTML, CSS, JavaScript are an obvious start

    This is just an opinion, but it would seem to me that if you don't already know a big chunk of html, css, and some kind of scripting language, you're not really in a position to decide that web designer/developer is the right career. Get some experience. Find out if you like it. Then start planning how to enter a career.

    As for web technologies, especially on the developer side, be prepared to enter a never ending learning cycle. There are tons of different standards and technologies out there that all have to do with presentation on the web. Many of them are in flux.

    As for what a person should learn first... the plethora of technologies makes that an open question depending on what kind of projects you are working on. On the bright side, learning any kind of web programming will move you closer to your goals. Some tips:
    * Target rising technologies like PHP.
    * Avoid obsolete stuff like ASP.
    * Avoid anything that is "company XYZ's blah". For example, Macromedia ColdFusion.
    * If you are not a developer, avoid complicated platforms like J2EE or ASP.NET. Simpler scripted languages like PHP or (shudder) ASP will be easier to get going productively.

    Also, I don't know what kind of background you are coming from, but you should realize that good web design requires a strong design background. It has little to do with languages. Being from the other (developer) side of the pond, I've found books like Steve Krug's Don't Make me Think [amazon.com] and Robin William's Non-Designer's Design Book [amazon.com] to be quite valuable and easy to read.
  • by Klowner ( 145731 ) on Thursday January 06, 2005 @03:19PM (#11279084) Homepage
    Just make pretty pictures, chop them up, and slap them into Adobe GoLive, poof, you're an instant web design professional! Now open wide and wait for your money to roll in.

    Seriously though, at one time I wanted to do web design as a part-time side job, but after creating a couple sites I decided it was a terrible idea. So, unless you enjoy making websites for people that have no freaking clue what they want on their site and aren't willing to provide you with any text related to their website topic, then don't do it.

    Less "web designers" == Less worthless websites
    • I think the heaviest part of the work designing a website is the research part of it.

      You need to devote some time to understanding what he person in front of you is doing so you can grasp what she wants to see on a site.

      If you have a clear idea in general terms of the field and context of a website, then it is easier to ask the right questions to obtain the right answers from a prospective client.
  • Learn to speak Hindi. BC
  • Just about everything on the web is related to XML somehow. Learn the syntax first (most of it you probably know from HTML, but the rules are stricter). Then, apply that knowledge to XHTML (plain HTML should die an unremarked death). Study the DOM, and learn how to manipulate your well-formed documents (this is where javascript comes in) adn how to make them pretty with CSS.

    Up until this point, do not use Internet Explorer. You will only fall prey to its quirks and stray from the Way Of The Standard(tm

  • My Laundry List (Score:4, Insightful)

    by Sentry21 ( 8183 ) on Thursday January 06, 2005 @05:51PM (#11281263) Journal

    In my capacity as a web developer, here are the software packages that I feel you should have a firm understanding of:

    1. XHTML [w3.org] - not just 'HTML', XHTML has a few changes that you should get used to (such as closing all tags, even <img src="..."/> and <br/> tags, and all tags being lowercase). For the upcoming specifications, such as XHTML 2.0, which will be very different (you can apply an href="..." property to ANY object, instead of having to wrap it in an <a href=..."> tag), it never hurts to be prepared.
    2. CSS3 [w3.org] - May as well read up now, it's going to be relevant in not too long.
    3. Photoshop [adobe.com] - Use The GIMP [gimp.org] if you must, but I find Photoshop generally does what I need it to with less hassle.
    4. PHP [php.net], ASP [asp.net], Coldfusion [macromedia.com], and J2EE [sun.com] - You don't have to learn how to program in each one, but learn about these solutions, if for no other reason than to make compelling arguments against them if the bosses ever ask you about them (or worse, fail to ask you about them)
    5. Apache [apache.org] and IIS [microsoft.com] - for the same reasons as listed above; also, a lot of things in Apache (mod_rewrite, for example) can help you solve problems down the road. Good things to know.
    6. A good editor. I use ViM [vim.org] myself, but what you use is up to you. What you'll want is syntax highlighting, auto-indenting, and a powerful (preferably regex) search/replace. Learn to use your editor and you will save hours of work with seconds of typing.

    And now for some soft skills. First, you'll need to learn to give effective presentations. You could use Powerpoint for this, or Keynote or Impress or just print them on transparencies and put them on an overhead projector. How you do it is up to you. Will you ever need to give presentations? Not really, but effective presentations require a lot of soft skills - eye contact, graphic design, pacing, speech tones, body language - that to be skilled in presentations in general means to be skilled in a lot of other areas.

    You should also familiarize yourself with colour [webexhibits.org]. Learn about Pantone [pantone.com], just so that you know about it. Learn how colours play off each other, which colors look good on which backgrounds. Learn about bordering, whitespace, balance, and form. Consider the Pantone Guide to Communicating with Color [amazon.com] - out of 61 reader reviews, it got 4.5/5 stars, and is a good place to start.

    Learn about logos. How companies make logos, and why. What goes into making a logo, subconscious suggestions from logos (there's a reason Playboy picked a bunny for their logo, and it's not obvious). This will help in your graphic design and page layout.

    Learn about accessibility [w3.org] and colour-blindness [webexhibits.org].

    I'm probably missing a ton of important stuff, but if you do it right and are willing to learn (and posting on slashdot seems to imply that), you'll probably learn what you need to know as you go. If not, just come back and post another Ask Slashdot.

  • plenty of people giving you technical advice. I assume you are not talking about web development, but web design, so her it goes:
    webdesign is still design, so study to master the basics elements of design:
    a) composition : creating balanced, interesting , beautiful layouts. study the grid system in depth and be aware of the latest trends (vector arrows and three million lines packed into a small screen). 'less is more': study minimalist.
    b) typography: most content on the web is text . learning how to m
  • Where to start... (Score:3, Insightful)

    by dutky ( 20510 ) on Thursday January 06, 2005 @07:21PM (#11282306) Homepage Journal

    First, you've set your lifetime goals way too low. If you are any good at all, you will have achieved this in less than a decade (probably half that) and then it's crisis time. Set your lifetime goals higher, the higher the better.

    Second, while you do need to know this technical stuff, that's not all there is to it. On top of HTML, XML, CSS, JavaScript, Java, PHP/ASP and SQL, you will need to understand (and be good at) graphic design, and have some other domain knowledge that gives you insight into the business reasons for the web design work you do. You can't get most of this knowledge quickly or easily, some of it you simply must be born with and some of it will only come after decades of experience.

    Your best bet is to go straight to your local community college and enroll in the Web Design or Web Programming certificate course. While you're at it, think about enrolling in some other, largely unrelated major (business management, visual arts, chemistry, psychology, english literature, whatever) which will give you some outside perspective to ground your technical skills. You can finish up both the certificate and the AA in two or three years as a full-time student, or four years of part-time school/part-time work. While you're there, take advantage of an internship or cooperative education program.

    If you're feeling really energetic, replace community college and AA in the above paragraph with university and BA or BSc. Lather, rinse, repeat.

  • Learn everything. Learn the basics of, and write at least Hello World level stuff in each of: html/css/javascript, php/perl/mysql/java/ruby/python, c/c++/c#/lisp

    Probably lots more I'm forgetting. The point is, if you want to know what you like working with, you are the only person who can answer that.

    More importantly, by doing this you end up with the same kind of underlying skillset that you would get, say, by playing five or six games for every major gaming platform, or using five or six entirely diff
  • by foniksonik ( 573572 ) on Thursday January 06, 2005 @10:53PM (#11284231) Homepage Journal
    Learn how to evaluate a complicated mathematical expression. There are examples you can use everywhere but if you don't know how to read the math symbols you won't know how to apply them.

    Know how logic works. Conditional statements are what makes a web application do almost everything it does. If this condition, do (a), if some other condition do (b), else do (c). You can copy and paste code to get some functionality to happen but if you don't know how it's logic operates you won't be able to customize it to your particular needs.

    Compose things, don't just throw them together. Composition includes balance, hierarchy of importance, and purpose. Use composition when creating the look of a site and when designing the architecture and user flow.... composition tells your audience how to use your site and what is important and what is they should pay attention to.

    Marketing and Business skills will help you understand your clients needs as well as aid you in your own personal success whether you work with a company or on your own.

    Everything else you learn now will most likely be old-fashioned or worse yet EOLed by the time you get into your career... even if you plan to start working in 2 years... languages come and go, applications change all the time and new ways of doing things are constantly being invented or 'innovated'.

The use of money is all the advantage there is to having money. -- B. Franklin

Working...