Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Primers for Entering The World Of Web Development? 41

SecretAsianMan asks: "In the early days of the Web, being a webmaster required only a basic knowledge of HTML and some skill in graphics. Many programmers, myself included, scoffed at so-called 'web programming', considering it highly unworthy of the name. While we were busy scoffing, the Web grew up. Today's Web is much more than a collection of static HTML documents; it is dynamic, interactive, and filled with enough buzzwords to make your head spin. I'm considering retargeting myself to web development in order to open up more job possibilities. What should I learn, and in what order? What is the best method to fast-track into web development?"
This discussion has been archived. No new comments can be posted.

Primers for Entering The World Of Web Development?

Comments Filter:
  • Step 1: Learn HTML
    Step 2: Learn CSS (!!!)
    Step 3: Learn Graphics (GIMP, Photoshop, Paintshop etc.)


    Now you have basic Webdesign knowlededge and you can choose between two ways:
    1. The developer way:
    Step 4: Learn Perl [perl.com]/PHP [php.net]
    Step 5: Learn SQL/databases in general
    Step 6: Get better in everything...
    2. The desginer way:
    Step 4: Learn Flash
    Step 5: Get better in graphics, video design etc.
    Step 6: Buy a Mac ;)

    Of course, you can try doing both ways, but in fact you will become only "master" of one of them.
    X
    • Agreed with the prior comment.

      Although I feel obligated to add another job-type: The network dude that keeps apache, the mailserver, and php running on multiple virtual domains with inter-server databases and backup systems. They're important too. :^)=

      3. The Network Dude:
      4: Set up your own [linux/windows 2000 server edition] box
      5: Install [Apache/IIS], [PHP/ASP/JSP], and [MySQL/PostgreSQL/MSSQL/Oracle] onto it.
      6: Read all about TCP/IP protocols, DNS, MX-Records, routes, routers, etc.
      7: Read all about your webserver, and how to keep it secure
      8: Learn awk, sed, and perl.

      One of these routes will cost you $1000+, the other will cost you $0.00+ :^)=

      --Robert
      • One of these routes will cost you $1000+, the other will cost you $0.00+

        Indeed. People get so caught up in the free-as-in-speech aspect of OSS/FS that they tend to forget about the implications of the free-as-in-beer aspect. Because such qulity software is available at no charge, I am open to educational opportunities that otherwise would be out of my financial reach.

        An interesting note: when I submitted the article, my last sentence was "Please, no Microsoft 'technologies'.". While I'm quite pleased that my article got accepted, I find it somewhat ironic that this part was censored by people who speak out against censorship.
        • An interesting note: when I submitted the article, my last sentence was "Please, no Microsoft 'technologies'.". While I'm quite pleased that my article got accepted, I find it somewhat ironic that this part was censored by people who speak out against censorship.

          Unless perhaps the idea was to make the question more generally useful to the /. audience. It's called editorial license, and in this particular case it made sense.

          As one who does web design/publishing/programming in a LAMP (great term!) environment as part of my myriad other duties in a school district, it's very interesting to me to see what else is available and used in "the real world". I'm glad the question was generalized a bit.

          My tuppence...

    • If you going the developer route I'd also get a basic grounding in XML, both as a precursor to general XHTML use and as a format thats going to increasingly be used for general data sharing on the web.

      In general its more useful to have skills that existing employees might not have.
    • Step 4: Learn Perl [perl.com]/PHP [php.net]

      Or... if you want a job is this stingy economy, learn Java (especially J2EE), which is in high demand. Perl and PHP are slowly going away, and Java(J2EE)/ASP(blech!)/Python are in high demand.
  • I'm considering retargeting myself to web development in order to open up more job possibilities.

    I would start by checking current job listings for your area. In my area I don't see a single Perl or PHP job, but there are several jobs requiring ASP and SQL Server/Oracle. It's my rough feeling that the open source technologies (Apache, Perl, PHP, MySQL/PostgreSQL) still is not being used at most established companies. They're focusing on the Microsoft stuff (ASP, IIS, SQL Server) or the Solaris/Java route (JSP, Servlets, Oracle). There are a few doing IBM Websphere and DB2 with Java.

    Personally, I have a broad range of skills. My server-side skills are the strongest and I mainly do integration with middleware. But I also know HTML/Javascript really well and have gotten pretty good at Photoshop. Being able to do both the client and server side can be a good selling point. In a small company you can replace 2 people. In a larger company you can bridge the server and client teams.

    If you want to learn the client-side stuff, I'd start with the free trial downloads of Macromedia Dreamweaver, Fireworks, and Flash. Those are the most marketable skills. You probably want to learn Photoshop as well, but there's a lot of overlap with Fireworks. I would stay away from Microsoft Frontpage since there are about a billion people with Frontpage skills on the market.

    On the server side, I think it's a tossup between the most marketable skills. In part it depends on what language experience you have. If you know Visual Basic, go Microsoft and learn ASP with Access and SQL Server (or the MS Data Engine). On the top end, learn MTS and MSMQ. If you know C or Java, definately look at the Java side. Get Tomcat (apache.org) and do Java Servlets and Java Server Pages with Oracle. If you can get Solaris (even the free download of Solaris for Intel) working and use that, even better.

    You could also enhance your skillset with some things like streaming audio/video, search engine optimization, cross-language, or middleware integration.

  • by brlewis ( 214632 )

    The most important skill you need to learn if you're going to build database-driven web sites is SQL. If you learn how to massage the data into the form you want before you present it, you'll save yourself a lot of work, and likely have a better-performing app as well.

    SQL has been around a long time and is not going away. It's more important to learn it deeply than to learn any of the plethora of languages out there for tying databases into the web, even mine [sourceforge.net].

    • by larien ( 5608 )
      I agree completely. I've done some web development (PHP under Apache, FWIW) and the database was the glue to the whole system, storing user information and all the details in it.

      Whether you're using Perl, PHP, ASP, Java, JSP, Python or any other language, the backend database is the most important aspect of what you are working with and the SQL statements are identical under each language.

      It's worth being aware, however, that you can generally get by with simple SELECT, INSERT, DELETE and UPDATE commands; outer joins and their ilk are probably less necessary, but can save a lot of programming work if you get them right.

      Finally, learn what foreign keys are! They will save the integrity of your database and save a butt-load (imperial) of sanity checks in your program! This was one of my main drives to upgrade PostgreSQL when 7.0 came out as it was, IIRC, the first to support foreign keys.

      As an aside, you may not have to understand how to be a DBA. Where I work, we have "infrastructure" and "applications". Infrastructure manage the OS and Oracle DBA stuff (installation, tweaking init paramaters and user creation) while the applications people create the databases, create tables and populate them with data. If you fit into the 'applications' part (which it sounds like you want to), you just need to know where the database is and how to access it.

    • I agree that SQL should be the first language to learn since almost everything on the web is database driven. I've used the following tutorial to brush up on my SQL skills and it has helped me tremendously. I especially like the online interpreter so you can build queries and see their results online without having to install a database locally on your computer. Check it out! [sqlcourse.com]

  • Things to realize about web development:
    • It is hard to find a job that is technically challenging. You will spend a lot of time realigning things on websites, or making the same data look different. You will occasionally get to start a new project that lets you do some architecture and solve some medium-hard problems, but it will be rare. Anything challenging seems to be done by C/C++ programmers.
    • Your job is to make your boss/company/industry look good. This is way more important than doing things right.
    • Right now, 50% of jobs are for Java and its variants, 40% Microsoft, and 10% Perl/PHP.
    • It is much harder to find a job today than it has been for the past 5 years.
    • The hardest part of the job is managing time-frames, not technology. You will often be asked for something nebulous like "an order management system" which will be followed by "how long would that take?"

    All and all, I find myself disallusioned by the overall medicrity that is accepted in web programming.
    • All and all, I find myself disallusioned by the overall medicrity that is accepted in web programming.

      This, and your whole post are pretty much dead on. I spent 5 years (1995 - 2000) doing web development, because when I came out of school that was what was getting hot.

      After 5 years the pace of change slowed down, I got tired of the amateur environment that was pervasive, and I missed C/C++.

      I am now back in front of nedit [nedit.org] on Solaris writing C++ code, and I do web stuff (Perl, PHP) in my spare time. I'll likely do web-based programming for a living sometime again in the future, but I am not in any hurry for now.

    • Right now, 50% of jobs are for Java and its variants, 40% Microsoft, and 10% Perl/PHP.


      Where you are. Where I am, the ratio is more like 30-70-0.

      (And I'm part of that last number.)
  • Please, oh please, learn HTML. Not Dreamweaver HTML, but Notepad HTML. Study the W3C guidelines. Force yourself to use a text based editor.

    I see people all the time that can whip out a Flash animation or program a nice dynamic page, but if you look at the underlying HTML it's just a mess. Missing alt tags, font tags wrapped around images and shims. Ugh. Learn good, solid, HTML and the rest will come easy.
    • I know HTML. If you were to look at the source of my webpage, you would be amazed... Big deal! How many people care how the source looks as long it looks pretty under IE or Netscape? It generally doesn't matter how pretty the soure is, because no one looks at it anyway.

      • It does matter, because even if no one looks, proper HTML will:
        • Make it easier to edit in the future
        • Make it easier to read
        • Make it portable to XML
        • Make it portable to XHTML
        • Make it easier to incorporate into other pages
        • Make it easier to script with -- scripting out badly formed HTML creates badly formed pages
        • Make it easier for you to get a job when you say <p class="bodytext">I know HTML!</p> instead of <font size="5"><p><b><i>I know HTML!</font></i></p></b>
        • Make it W3C compliant, a standard that is just that -- a standard
        • Make it easier for people to copy your source to learn how you went about something so they can achieve the same ends
        The list goes on, but the most important thing is, it's good habit, and if you want to make a career of it, it's a good idea to do it well rather than shoddily, the same as in any other profession.
        • You forgot the most important one: faster downloads & faster rendering. Good, hand-written HTML usually has fewer pieces of extraneous code in place and has better optimized tags. That's less data for the viewer to download and less extra stuff for the browser to render. It may be minor, but it's real, and there are many cases where people still use, *gasp*, modems.

          Besides, if you can't write good clean HTML, then you're not a real web developer - you're a "web publisher".
    • I agree whole heartedly, the Web Design Group [htmlhelp.com] have a great set of guides and info on why standards compliance makes sense.

      They also have a very good validator/bbs/tutorial etc etc.
  • If you can internalize what XML is and what it's good for, you'll have a good jump on the future of web technologies like XSL, JSP, SOAP, web services, etc... I know programmers with years of experience who still ask me to explain why XML is any better than just rolling your own file format.
  • I'm considering retargeting myself to web development in order to open up more job possibilities

    I find it odd that you say that. I've been trying to retarget myself to something other than web development in order to open up more job possibilities. I feel stuck in web development and I was hoping to try and find work outside of the Perl/PHP/SQL/web market. I encourage you to follow the advice already on this page if you want to go ahead and do that, but I'm having trouble getting work as a web developer with only two years of experience. I certainly scoffed at "web programming" when I was in college and never dreamt I'd be wishing I could get out of it.

    I didn't look to become a "web developer" I just sort of fell into it because I was familiar with Perl. From there it snow-balled into all the other webly tools that I'm now familiar with.
  • The O'Reilly network has coined a term that they call LAMP: Linux, Apache, MySQL, and Perl/PHP/Python. See this article [onlamp.com] on the O'Reilly network for more information. Understanding the applications mentioned under this monika seem to me to be essential to a being a web programmer these days.

  • Step 1: Sell your soul
    Step 2: Forget about standards and compatibility. If it works on the very latest version of IE on Windows, good enough. If it works only on your monitor and your client's monitor, good enough. It if requires 256Gb of RAM and a gigabit ethernet to load, that's fine too, as long as the client has one when you demo it to them.
    Step 3: Write stuff that requires fancy, obscure and proprietary plug-ins. Never mind if search engines can't index it, it's gotta be fancy, dammit.
    Step 4: Forget about content. It's image that matters, not content. Who cares if the pages don't say anything or the shopping cart has security holes out the whazoo, as long as the buttons are animated and the graphics use the entire colour pallete? It sure doesn't hurt Microsoft, so why should it hurt you?
  • I have to second the LAMP comment, but with a few deeply-felt extras thrown in:

    • Make a commitment to Web standards, please! I live for the day when I can delete Netscape 4.x from my systems; it's still there, used as a lowest common denominator testing environment. Read A List Apart. [alistapart.com] Part of the commitment involves knowing how to write HTML off the top of your head.
    • Whatever else people say, an awful lot of stuff still gets done in JavaScript.
    • Macromedia Flash is the most abused piece of software in the world. Learn to communicate without it.
    • Much as we all dislike Microsoft, it is here for the foreseeable. Understand it and learn well how to work with it.
    • Even if you want the more glamourous and interesting work on the underside of things, make an effort to understand principles of good design and interface. I've had the sad experience this week of being asked to review a brilliantly conceived and executed site done with PHPNuke. It is tooth-grindingly ugly, so much so that the ugliness interferes with navigating around it.
    • Tighten your belt. Web developers aren't doing any better than anybody else at the moment, and they're always the first to go when a company decides to cut back

    Good luck,
    Anne

  • Philip and Alex's Guide to Web Publishing [arsdigita.com].

    Sorry, I got caught up replying to the "Why Perl" comment, and then I realized I should have just posted this link.

    Greenspun has a PhD from MIT (good paper credentials) and has made a hojillion dollars building websites (real world success). Sadly, the company he started was taken over my Sinister Venture Capitalists (TM).

    Great book, and it's free. You can also buy a copy if you want. It's big and pretty. That's important.
    :-)

    Seriously, the book includes a good bibliography, and links to books he's written on SQL and other things. They're also free. You really can't go wrong starting here.

    Now, go get yourself a Linux box (I plan to get an extra one free Saturday from my beloved Hal-PC [hal-pc.org] at their giveaway), set up a webserver and a database and get to work!!
    :-)

    HTH,

  • by Stunky ( 323500 )
    First of all you shoud learn html and the new dom javascript.
    I've learned php two years ago, and I've been working in a web agency for 6 months. And from my own experience, you should learn Java 2 Enterprise Edition. Enterprise JavaBeans, persistence servers, a bit of corba, XML is a must, transactions and of course a bit of sql. The j2ee thing was supposed to be huge, and it's definitivly the best thing you can do in the web department. Perl and php are ok, but java is really a better concept. It's ideal for big systems. After three months of php, you're gonna get bored. But the java possibilities are endless.
    Go check out apache's jakarta project(jakarta.apache.org), and jboss.org. These guys are awsome.
    Have fun
  • If you want to be a "Web Programmer":
    1. Know how to program, if you're a designer, unless you're the exception not the rule, go back to school, learn some CS.
    2. Learn ASP (it's a pain in the ass, but it is used, and it is powefull)
    3. Learn PHP (it's much nicer to use, scales well from small to medium sized things)
    4. Learn database *design*, not just SQL.
    5. Learn PERL (to glue together everything)
    6. Learn HTML (forget using a visual layout tool)
    7. Learn CSS
    8. Learn XML
    9. don't expect to solve appearingly "simple" problems on your first day, it takes alot of seat time to avoid all the traps.
    If you want to be a "Web Designer"
    1. Learn design, if you're a programmer, unless you're the exception to the rule, go to design school.
    2. Learn web design - which is *NOT* print design.
    3. Learn Photoshop and Illustrator. Forget GIMP, nobody actually uses it in agencies - it's great for doing stuff on your own though.
    4. Learn HTML (forget using a visual layout tool)
    5. Learn CSS
    6. Learn Flash. Everybody wants it (for some odd reason) Forget Director, unless you want to do CD-ROM development.
    7. don't expect to solve appearingly "simple" problems on your first day, it takes alot of seat time to avoid all the traps.
  • It all depends.

    Web Developer and Web Designer are two completely different things.

    If you want to work at a small company, and develop from scratch, learn Perl, PHP, and PostgreSQL. These seem to be the standards. They work well (I have built several sites with PHP/PgSQL), and are pretty easy to learn, plus they are pretty good under heavy loads.

    If you want to work for a larger company with more divisions than Einstein, you will need to know Java. SQL of some sort. That's about it.

    I wouldn't even bother 'learning' ASP, because truth is truth, it's ridiculously simple, and can be learned in a weekend(besides, it's microsoft!!)

    Look at the large sites out there: IBM [ibm.com], Target [target.com], and Bluelight.com [bluelight.com]. They all use J2EE compliant Application servers.

    Look at some of these: Art Technology Group's Dynamo [atg.com], Blue Martini [bluemartini.com], BEA's WebLogic [bea.com], and IBM's WebSphere [ibm.com].

    Some of these guys even have demo downloads, so you can see what you might be working with. Basically, learn the basics(HTML, CSS, Javascript), learn a programming language(C, C++, Perl, Java) and then start playing with the combination. Good luck, and have fun!!

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...