Primers for Entering The World Of Web Development?
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?"
Perl.
Definately Perl. Learn perl and you'll automatically have most of PHP sorted out too.
Perl is also useful not only for web, but general system admin too... so from that perspective its "reusable".
You'll also get to grips with perl regular expressions, which seem to present in most other high level languages - pretty much stolen from perl as is.
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/PHP
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
Boycot? Blackout? Subscriptions?
I don't care!
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.
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.
All and all, I find myself disallusioned by the overall medicrity that is accepted in web programming.
there are 2 kinds of people. those who divide people into 2 kinds, and those who don't.
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.
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
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.
www.HearMySoulSpeak.com
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.
Live to Code, Code to Live!
The O'Reilly network has coined a term that they call LAMP: Linux, Apache, MySQL, and Perl/PHP/Python. See this article 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?
The next Cmdr Taco duplicate will be ready soon, but subscribers can beat the rush and see it early!
I have to second the LAMP comment, but with a few deeply-felt extras thrown in:
Good luck,
Anne
DUCT TAPE: The Election Supervisors' Secret Weapon
Not disagreeing with you, but why the emphasis on Perl?
....
I've found PHP to a lot easier to learn and understand and have not found a time (yet) when it couldn't meet my needs as a web developer.
Just seeking examples why Perl is better to learn
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 at their giveaway), set up a webserver and a database and get to work!!
:-)
HTH,
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.
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!
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
- Know how to program, if you're a designer, unless you're the exception not the rule, go back to school, learn some CS.
- Learn ASP (it's a pain in the ass, but it is used, and it is powefull)
- Learn PHP (it's much nicer to use, scales well from small to medium sized things)
- Learn database *design*, not just SQL.
- Learn PERL (to glue together everything)
- Learn HTML (forget using a visual layout tool)
- Learn CSS
- Learn XML
- 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"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, Target, and Bluelight.com. They all use J2EE compliant Application servers.
Look at some of these: Art Technology Group's Dynamo, Blue Martini, BEA's WebLogic, and IBM's WebSphere.
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!!
"...I'll need guns" --Chow Yun-Fat in 'Replacement Killers'