Rob's Banner
Rob

Age/Gender: 30, Male
Location: Philadelphia
Job: Web Developer

I am the new developer for newgrounds.

Contact Info

Newgrounds Stats

Sign-Up Date:
3/15/08

Level: 7
Aura: Neutral

Rank: Civilian
Blams: 0
Saves: 1
Rank #: 250,173

Whistle Status: Normal

Exp. Points: 440 / 550
Exp. Rank #: 88,573
Voting Pow.: 4.88 votes

BBS Posts: 17 (0.03 per day)
Flash Reviews: 2
Music Reviews: 0
Trophies: 0
Stickers: 0

Entry #2

Jump to Entry: [ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1012 ]


Rob

Advice for the Novice Web Developer

Posted by Rob May. 5, 2008 @ 12:08 PM EDT

I recently had a user send me a message asking advice about web development. He's a computer science undergrad, and wants to build a serious, user-based website. I wrote a lengthy reply, then decided I should just post it here for everyone to read:

1. Learn a web language thoroughly. I'd recommend Ruby or PHP. Ruby is a better-designed language, whereas PHP has better performance and a bigger community. Ruby pays better on the open market because the average PHP developer is incompetent.

2. Use a framework. In Ruby, that means Rails. In PHP, the two big ones are Symfony and CakePHP. Symfony is great; I haven't used Cake. This leads to point 3:

3. Use third party software whenever practical. E.g., don't write a custom blogging system - use WordPress or the like.

4. Learn SQL. Learn how to setup a database. Use MySQL or PostgreSQL.

5. Learn modern Javascript techniques, and use a framework. Prototype, jQuery, YUI, Dojo, and MooTools are all good.

6. Learn modern CSS and use XHTML. Use conditional comments, not parser hacks. Everything must validate all the time, period. At the same time, don't get too caught up in doing everything the "right" way. As with everything, you have to trust your judgment.

7. Developer time is more valuable than computer time. The bulk of a comp. sci. education is thus irrelevant for web applications. Even here at New Grounds, our biggest resource bottleneck is database IO, not code performance or memory consumption.

8. Always design and write code with other developers in mind. It may take longer in the beginning, but it will pay itself back again and again. Just take this on faith, because it is absolutely true. Write code that reads like a paragraph. Give things long, descriptive names. Make a class for everything, even if it only has one method and no data. This will be as helpful for you as it is for others.

9. Learn to use Linux. The web is Unix based, and that environment is more powerful for the developer anyway. You will have to administer a *nix box at some point, so start learning now.

10. When in doubt, Google. There is not one thing you will ever think to do that has not already been done very well and blogged about.

Here's some more links:
The HTML specification. - This is also most of what you need to know to write proper XHTML.
Design mistakes
Code mistakes - Memorize this. All of these things can be avoided almost all the time.

It's not all as hard as it sounds. You'll make plenty of mistakes, and you'll look back later at code you wrote two years prior and just shake your head. That's the life of a developer.

Updated: 05/19/08 1:27 PM Log in to comment! | Share this!

The People Have Spoken

84 Comments

May. 5, 2008 | 12:17 PM GuyWithHisComp says:

Really great tips.
Although if you want to learn PHP wouldn't it be better to try to do your own Blogging system instead of using a premade one (WordPress)?

Also, you spelt Newgrounds wrong (you wrote New Grounds). ;P

May. 5, 2008 | 12:58 PM Rob responds:

You spelled "spelled" wrong. Spelt is a type of wheat. And, if you're going to learn PHP, you could just as easily learn by integrating a third party item into your site as you could by trying to code a replacement. You'd also get more done. Better to learn by doing something useful, instead of something you'll just throw away. That's why I recommend learning a framework as soon as possible - they solve all kinds of problems that you could waste years of work on without getting results as good as the framework does.


May. 5, 2008 | 1:27 PM BoMToons says:

You and your table-less css fan boys. :-P


May. 5, 2008 | 1:45 PM ClashPDG says:

Thanks!! This is a lot of help, I guess I'm off to the library to start studying up on PHP and Ruby. I figure I'll start learning both and develop then develop my skills on the one I like more.

May. 5, 2008 | 2:49 PM Rob responds:

The Ruby book linked to above is available online, and the PHP manual is pretty much a text book in its own right. Unless you have an exceptional library in your town, you'll find the books available there to be Jurassic, so I'd either buy a book, or read stuff online. Only buy books written in the past year, as anything older will have some outdated (i.e., false) information.


May. 5, 2008 | 2:52 PM ace210493 says:

wow this is really helpful thanks rob


May. 5, 2008 | 3:01 PM Cyberdevil says:

I thought I knew PHP already, even built a few basic CMS scripts, yet I have no clue what a framework is, haha. Thanks for the advice! Lots of useful links there, it's time for research . . .


May. 5, 2008 | 3:09 PM OrangeProductions says:

Heh, thanks. It's really helpful, since I'm hired to create a web site for a guy called Pikachu.


May. 5, 2008 | 4:09 PM JoxskornerStudios01 says:

Newgrounds dose not use wordpress right?


May. 5, 2008 | 4:38 PM Kangman says:

Do you really look that old?


May. 5, 2008 | 5:36 PM S3C says:

can you elaborate on #9 please

May. 5, 2008 | 6:13 PM Rob responds:

Only if you elaborate on your question.


May. 5, 2008 | 10:03 PM Flee says:

Developers Developers Developers Developers ...


May. 5, 2008 | 11:31 PM BadPun says:

That's a lot of words.


May. 6, 2008 | 3:57 AM Sterance says:

Thats all really very helpful rob, thanks! as to if its New Grounds or Newgrounds, both mean the same thing that Tom meant when he named the site 500 years ago.

>7. Developer time is more valuable than computer time. The bulk of a comp. sci. education is thus irrelevant for web applications. Even here at New Grounds, our biggest resource bottleneck is database IO, not code performance or memory consumption.

Aren't you just saying that us Computer Science majors should drop out of school and teach ourselves if we want to have your job someday?

Also an important question that is poking my mind; how do the salaries in web development compare to the salaries of software development?

May. 6, 2008 | 10:30 AM Rob responds:

Yes. If you mistook a university for a trade school, save yourself the money. Computer science is exactly what it says it is. If you don't intend to do research, stop studying science.

Updated: May. 6, 2008, 10:33 AM

May. 6, 2008 | 6:09 AM GuyWithHisComp says:

Eeh, you're wrong. I did not misspell "spelt", I actually meant to say spelt.

It's delicious.


May. 6, 2008 | 9:50 AM kidray76 says:

How much do you know about ASP.Net with 2.0 or 3.5?

I'm in information systems major for a senior project, had to make a website using visual web developer 2005 (don't laugh, I know, I know) with mysql has a database.

I swear, most websites I see only use php, and only government and school sites are the only ones I've ever seen to use asp.

May. 6, 2008 | 10:36 AM Rob responds:

Open source tools are the future. If only dinosaurs use something, then save yourself the extinction and use something else.


May. 6, 2008 | 11:39 AM simple-but-sandy says:

I've been meaning to learn webness for a while now. I tried to learn HTML a while back, but I never seemed to be any good at it.

Oh well... thanks for the info, I may act upon it sometime.


May. 6, 2008 | 3:12 PM dirtshake says:

Great informatin. Thanks.

A question...I want to be a computer programmer somday. Im currently a junior in highschool, 17 years old. My dream job would be to work for the video game industry. I know that is a broad field, just as saying a computer programmer is a broad field.
My question is, what is the best type of school to go to? University or trade school? Know any good ones of the top of your head? Better yet where'd you go, or are going?
Sorry if this question isn't too specific...thanks in advance.

May. 6, 2008 | 7:05 PM Rob responds:

You can learn any skills at any school that offers classes in it; the only thing that will make one school better than another is the people who go there. Be around people who you want to be like - that's the best advice I can give. That, and develop a very clear and <em>specific</em> picture of what it is you want to do. Just being a programmer working on a game won't make you happy. Figure out what will. Incidentally, I didn't go to school for computer stuff at all (I was a physics major), and what I do at Newgrounds has almost nothing to do with game programming.


May. 6, 2008 | 8:02 PM RPGamer says:

Thanks for the tips Rob, I'm really interested in internet programming so I'll take your advice. So why don't you have an admin picture like the rest of the crew, even Psycho Goldfish has his, oh well. So you were studying Physics and not any kind of programming at all, I started college in Physics major too, but later changed to programming, :D


May. 6, 2008 | 9:04 PM Emanhattan says:

yeah. flash also looks hard whan you start to learn it. 5 years ago I heard the word "tween" and I alsmost take a pee on mah panties.

I bet that when people see you working they say shit like "OMG dude that looks so hard" and your all like "uh...its easy, a few html a few rollovahs...."

Am I right or am I right?


May. 6, 2008 | 10:00 PM Anim8or666 says:

Good article, but I personally prefer PHP because it's open-source. It's easier to work with than Ruby (in my opinion). Also, what's with "the average PHP developer is incompetent?" Is Newgrounds not built on PHP? What really bugs me is that all the companies use .ASP, so it's hard to find a job with a large company knowing only PHP.
PS: Your avatar creeps me out.

May. 12, 2008 | 10:48 AM Rob responds:

Ruby is also open source.


May. 6, 2008 | 11:57 PM 792247 says:

This sounds like an interesting project. Thanks for the advice!

Also, I heard drupal is a good, Do you have an opinion on this?

May. 12, 2008 | 10:49 AM Rob responds:

Drupal is good if you want a Drupal site. If you look at Drupal and think, "I'll have to modify that a lot to do the site I want," don't bother; use a framework instead.


May. 7, 2008 | 1:16 AM boundless says:

How important are frameworks? And, uh, what are they? I downloaded cakePHP, but I don't know what to do with it. I always hand code everything in a text editor. I'm more of a web designer than a developer, so would it really benefit me to take your advice?


May. 7, 2008 | 3:42 PM Zendra says:

I used to be a lot in programming as well (used to be a loyal Programming forum regular - now trying to mod it mostly). But I must say this is seriously worthy content that might be extremely helpful in the Programming forum, when users are asking for help about learning developing web applications.

Must been a challenge for you digging in NG's PHP framework on how things work. In the past I've had some talk about NG's framework with the original programmer Ross on how things worked. Somewhat fascinating.

Anyway, good luck with your new job - hope to see you in the Programming forum every now and then!

Cheers!


May. 7, 2008 | 3:59 PM jalkor says:

Rob you rock!


May. 7, 2008 | 8:11 PM Thegluestickman says:

Is it my computer, or do the comment go out of place on certain userpages?
(It does it on this page too)


May. 9, 2008 | 7:44 PM Oddler says:

Good evening , Rob. You totally read my mind. I was coming to your page to ask you a question about Web Development and voila...like magic you written a tiny FAQ on it.

I'm thinking about learning how to construct web pages as I see it as a great skill to have. I'm willing to put in the hard hours and learning how to do it but I've followed your Rule#10 and Googled everything I could and asked people from various sources but I haven't had much luck on getting the answer to my question for a few months now I've been trying on-and-off. I'm wondering if you can really quickly Help me now.

I'm looking to make some great websites for myself, my father and anytime I undertake some new way to make money...I think knowing how to build compelling websites is a great skill although I'm not sure what program I should invest my time in. Whenever I ask Google it always takes me to a 1st Party website where people are trying to peddle their product proclaiming it is the "Very best in the World" . . . that phrase in Legaleze means nothing and anyone can spout it whenever they want but not all are true.

I'm thinking of using Dreamweaver CS3 to build websites...excuse my ignorance if the product is something laughable to use but I'm clueless what product to invest my time with. Any thoughts would be great!


May. 11, 2008 | 7:35 AM milchreis says:

and finally add a decent bling-bling flash frontend ? =)


May. 11, 2008 | 11:45 AM The-Almighty-one says:

I will go ahead and pretend I know what all that means, and smile and nod so I look cool.

*frowns*


May. 11, 2008 | 4:08 PM Azradun says:

#8 - yes, indeed. I heard a story about a presumably "super coder" that wrote everything so superb and cool, running fast and ultra optimized. Too bad his code was not at all commented and unreadable (and I had opinions from a few veteran programmers who worked with the man). I'm not even saying how class names and variable names looked like...

Of course, everyone who had to touch that code after him cursed the guy (he left his company at some point of time). And suddenly it wasn't so super anymore...


May. 11, 2008 | 6:59 PM preffertobedead says:

Dude..i work with ASP.NET and i want to learn more about PHP...i just can't seem to configure properly the symfony.... =( ... omg..i wanna suck your brain !! >(( !


May. 13, 2008 | 1:09 PM FelineGuy says:

To: GuyWithHisComp (Below)
It IS New Grounds, which was then shortened to NewGrounds, then users got lazy and didn't do a capital G.

Moving on I think that you should get a caricature pretty soon, as you really kinda stand out from the rest of NG, in a bad way. You should at least make the background transparent so that you can see the NG beams behind the face.

FG


May. 13, 2008 | 1:10 PM FelineGuy says:

In my previous comment I meant (above).

FG


May. 16, 2008 | 6:35 PM PinballWizard976 says:

Cool. Have you ever used Microsoft Visual Basic 6? That's what I'm using to learn basic coding. It is from the 90s though, so it's kind outdated. See ya.


May. 19, 2008 | 6:58 PM Epoque says:

Personally, I found when I first started learning PHP, it was so, so much better to read or even download tutorials (well, the completed files they provided), get them up and running (even if you don't know what it does) and then go through each file and section.

As for the XHTML strictness, yes perhaps it is a good idea to make websites XHTML Strict. But, some XHTML Docs don't load the same in all browsers. Thus why you have to sometimes sacrifice XHTML for cross-browser compatibility.

PS: in reference to a previous comment about "spelt". "spelt" is the English version of "spelled".


May. 20, 2008 | 5:15 AM Oddler says:

Fine...screw you Rob <_<


May. 20, 2008 | 5:17 PM elbekko says:

"Make a class for everything, even if it only has one method and no data"

How did you ever get hired?


May. 20, 2008 | 8:24 PM DougyTheFreshmaker says:

Good advice and links, except for #7 which is mostly non-sensical flamebait, and the "one method classes" thing.

#1 should be "PHP and Ruby", not "or". Additionally, Python, Perl, C#, and whatever else I might be missing (as they relate to web development). I won't ramble on about it, but knowing everything you can about everything that's applicable is advantageous beyond "marketability".

#7
"Database I/O is Newgrounds' bottleneck, so an education in CS is mostly useless for web development". What? That doesn't make any sense. An education in Computer Science isn't an education in program optimization, as you make it sound. Yes, developer time is indeed generally more important than processing time, in particular with the scale of projects these days. Education on concepts relating to development processes is generally part of any CS curriculum, and I've never heard of a course dedicated to "program optimization" or been in any that seemed to take that tone. Plus, the piece of paper you get at the end is worth quite a bit, even if it isn't required of most web development positions (only because, as you mentioned, most in that area are "incompetent").

As far as the one member-function classes go--maybe, but probably not. This is that "when you have a hammer everything looks like a nail" syndrome. OOP and OOD are a means, not an end. The fad these days is to make "everything a class" and many modern languages are based around that idea, but it just isn't always the best move. Any function that doesn't need to be a member function should be a non-member/free function. Here's one article (of many you can google for) on that topic: http://www.ddj.com/cpp/184401197

Jun. 3, 2008 | 1:27 PM Rob responds:

The link you gave advises using namespaces instead of classes in C++ in situations where namespaces are applicable, which is good advice. PHP does not have namespaces yet, so the only way to create a namespace is to use a class. I guess I should have mentioned that this was a PHP-specific thing. The broader point is "Don't pollute the global namespace." How you manage that will depend on what language you are using. Ruby also supports namespaces; Javascript does not.
Also, I did not say most web developers are incompetent. I said most PHP developers are incompetent.
While you are correct that a CS degree does not focus primarily on optimization, I am not sure what other concepts it teaches that would be applicable to the business of web development. I just haven't noticed any difference between web developers who have gotten a CS degree, and ones who haven't, except that the degree-holders have done things like write their own parsers, compilers, or operating systems, and done precise calculations of algorithmic complexity. None of which is especially useful in web development.


May. 22, 2008 | 7:39 PM jamescote72095 says:

o thats kool


May. 29, 2008 | 12:01 AM thoughtpolice says:

Personally I believe in the "Eat your own dogfood" approach; if you want to be serious about web development, build some site that will benefit you. You're then not only a developer, but a user - I think this gives many people a good perspective on how their project should work and hopefully help them assess their requirements a little better and make better decisions for new things, in the future.

You probably have a lot more experience than I; this is just the approach I've taken and I've found it works when you put your head to it :)


May. 30, 2008 | 3:08 AM Chandelier says:

Woah sweet. Write more of these stuff!


Jun. 10, 2008 | 7:36 PM FamilyGuy05 says:

Are you a old man?


Jun. 11, 2008 | 4:26 PM Corky-D says:

Don't forget the (X)HTML Validator: http://validator.w3.org/


Jun. 16, 2008 | 6:21 AM adman1993 says:

When are you getting a cool ass user pic like everyone else on the staff?


Jun. 19, 2008 | 1:48 AM CAPTAIN-COW says:

Wow I thank you alot, I myself have been attempting to create a very big user-based site. You really have helped me with some of these tips, number 3 (along with the 3rd comment on here) and number 8 have really changed some way i think. I also enjoy tip number 10.


Jun. 20, 2008 | 8:40 AM Cambo says:

FONE SEX


Jun. 25, 2008 | 6:09 PM Dude8791 says:

nice level design fag


Jul. 6, 2008 | 8:31 PM shamanprincess30 says:

Oh, wow. This is a lot of stuff to keep in mind. I don't understand most of it anyways, since I've never made a website before. I don't think I will, either. It's just not the thing I am into.
But I have to ask: is making websites fun? Or at least satifying when you're done? Whenever I do something, I am satisfied for a short period of time, then I always feel like I should add more. But I guess that's just the additude of an artist/fan-fiction and fiction writer. Seriously, those are my major hobbies. Besides singing. But I digress.
Oh, and what's the difference between XHTML and plain old HTML?


Jul. 8, 2008 | 10:44 AM cast says:

I'm thinking about you..


Jul. 15, 2008 | 2:32 PM YoinK says:

wow you sure seem to know your stuff. what's with your level icon? You should have someone make you a better one.


Jul. 15, 2008 | 4:10 PM LonLonRanch says:

This has been an interesting FAQ so far, I'm sure you are a better and more experienced web developer than I but I just can't get my head around a few things. First off I've been coding with PHP for about 2 years now, my code may be a little sloppy but it works fine for me, I actually would really like to learn RubyonRails sometime, I've heard some good things about it. But in the time that I have been developing Php i've never heard of Symfony or CakePHP, they just seem too confusing, also I hate the idea of relying on code that I don't understand fully, I constantly find them limiting and hard to fix or modify to your precise liking. The same with #3 and #5 - why use code that will most likely fill up more lines of text, confuse the heck out of you, and won't always work the way you intended to when you can do it yourself. I just recently was using jQuery for a tab system on my site, they system in the most updated form possible caused safari to crash and didn't work on IE, I had to contstanly fix the code it seemed like. After a month of pain with it I decided to do the exact same thing with my own code and now have virtually the same thing up working perfectly and it took me 2 days.

So perhaps you are right about using 3rd party software but I absolutely can't stand it, maybe I just have had bad luck with it but I plan on doing things myself. I guess I don't see any reasons 'why' to use the frameworks, if you could list a few for me I'd love to hear them :)

Also I noticed you didn't directly mention AJAX (although that may link to some of the frameworks you mentioned) I would consider that to be a 'hot' language for the web developer no?

Thanks, I'd love a response if you have the time.
-Michael Neumann (lonlonranch)


Jul. 21, 2008 | 5:00 PM IceDragon64 says:

I think it is great that you took the time to write this out with all the links and post it here.


Jul. 23, 2008 | 2:27 AM Bryan says:

U r cool


Jul. 26, 2008 | 8:38 PM grimreaper1377 says:

I sent you a PM regarding this. Thanks!


Aug. 1, 2008 | 12:02 AM The-Wade-Birgade says:

okaay


Aug. 4, 2008 | 11:09 AM Earthshine says:

hi rob!


Aug. 4, 2008 | 11:11 AM Earthshine says:

thank you for the advise. maybe once me and my friend get our website (Wolfpactgames) up and running you can be one of our moderators.


Aug. 4, 2008 | 2:18 PM ZiggyZack99 says:

Lol, you has icon!


Aug. 4, 2008 | 4:51 PM Purpin says:

HEY ROB NICE ICON LOL


Aug. 6, 2008 | 1:44 PM reviewer2 says:

Your level icon face thing looks epic.


Aug. 8, 2008 | 12:19 PM Vagina1992 says:

Hi, babe!
I'm Vagina1992.
I want make sex with you.
I LOVE SEX!!!!!


Aug. 15, 2008 | 4:51 AM Alfie says:

A bit of a random question, Which Web browser do you use?


Aug. 15, 2008 | 9:10 AM Featured says:

You finally got a head!


Aug. 15, 2008 | 11:17 PM aldlv says:

cool pic man... =D


Aug. 17, 2008 | 12:24 PM cast says:

Hey cutie, your not as hot anymore, we have to break up!

bye loser


Aug. 17, 2008 | 5:55 PM Korgha says:

Hey i also hear javascript based Ajax is pretty good.

But i'm just some CSS noob


Aug. 18, 2008 | 3:42 PM Fawx says:

Let me be the, I dunno, maybe hundredth or so person to say hello and welcome. I hope to see many good things from you. And thanks for the advice! :)


Aug. 18, 2008 | 9:17 PM ortegaprime says:

hii....my name is ortegaprime hii!!


Aug. 19, 2008 | 11:38 AM sirtom93 says:

I like Perl, it's a good easy to learn/ powerful web/CGI language.


Aug. 19, 2008 | 11:49 AM PolishMatt says:

Good work on the Newgrounds Store, works flawlessly.


Aug. 19, 2008 | 12:41 PM TheD-LucksEdition says:

Your icon is ace.

Well done with the store.


Sep. 3, 2008 | 9:51 AM Dqws says:

very cool. thankes!


Sep. 5, 2008 | 6:44 PM ShadowChao96 says:

wow thx


Sep. 7, 2008 | 5:03 PM ZiggyZack99 says:

Rob.
Listen to me.
You aren't funny.
You.
Aren't.
Funny.

GTFO.


Sep. 8, 2008 | 2:59 PM Achilles2 says:

Thanks for this advice.


Sep. 11, 2008 | 11:14 AM 455H0L3 says:

GL wkk


Sep. 17, 2008 | 5:18 AM risbolla says:

Got any tips on building cabins?


Sep. 26, 2008 | 2:36 PM peacefulsniper says:

ur gay faggot


Sep. 26, 2008 | 3:05 PM Paradox says:

oh cool


Nov. 1, 2008 | 7:57 AM LampFace says:

Ahhh you got your own level icon now, you've probably had it for ages but i've just not checked.


Dec. 24, 2008 | 3:04 AM Eammy says:

What's up with allworkandnoplay? no updates :(


Dec. 28, 2008 | 11:48 PM omegared says:

Spelt is a type of wheat.

I'll have to remember that :)


Jan. 9, 2009 | 5:21 PM LampFace says:

First comment of 2009!


Jan. 12, 2009 | 4:12 PM tonaltmadness1 says:

You fucked up the forums
Congratulations!


May. 19, 2009 | 3:43 PM VigilanteNighthawk says:

As someone who is a professional web developer without a formal CS education, I'd like to add the following:

1) Learn both PHP and Ruby. Also learn any other languages you can. Actually, if you can, learn PHP later. It will be more work in the beginning, but you will avoid having to unlearn a lot of bad habits that php can encourage.

2) Learn Javascript properly. Javascript only looks like other OO languages. There are a lof of differences under the hood, and understanding them makes the difference between having your javascript crash with seemingly strange errors and being able to apply some truly powerful programming techniques.

3) Learn Object Oriented programming. Learn design patterns, and learn SOLID (its an acronym) design methodologies. <a href="http://www.oodesign.com/design-princi ples.html">http://www.oodesign.com/design-princi ples.html</a>

4) Right after you learn how to code, learn security. In fact, learn it before you learn about proper design.

5) Rob is right. PHP attracts a lot of incompetents. I've seen a lot of PHP code that was written by "professionals" that was both completely insecure and an unmaintainable mess. The saddest part is that in some cases, it actually took intelligence and creativity to screw the code up that badly. See tips 3 and 4 to avoid becoming a statistic.

6) On Computer Science, I have to say I'm ambivalent about this. If you want a corporate job, you'll have a very difficult time getting your foot in the door without a CS or related degree (or ASP.net, and there is an open source implementation for Apache called mod_mono).

More importantly, though, while much of newgrounds and what most sites do does not directly use CS skills, I'm going to say that many of those skills are important none the less, and they are going to become increasingly more relevant as time goes on.

First of all, understanding those basic principles will give you a better understanding of the language you are using. For example, if you know about memory management, you'll undestand why PHP can't properly handle circular references (hint: reference counting). You'll also have a better understanding of how common languages constructs are utilized and how to better use them.

Second, you can find a good many tools to do a lot of tasks, but at some point you are going to run into a wall where either a tool won't be available in your language, or it won't fit your project. At this point, you will need skills like the ability to write parsers and the knowledge of how to properly store that data in memory.

Third, as web applications push more work over to the client, algorithmic efficiency, memory usage, and understanding issues like concurrency are going to become increasingly important. In fact, having a good understanding of concurrency is key to properly writing anything but basic CRUD apps. I just had write an application that could manage a playlist of multipart videos that had to be displayed in the order of their parts. Without understanding concurrency issues, I would not have been able to able to write code that would prevent one admin from screwing up the order in the database. (Mysql transactions were not up to the task. Actually the client should have used a Flash Media server to handle the videos, but he wouldn't listen).

Last, and most importantly, there are a lot of data analysis techniques that will likely be the future of web development. A lot of what is being done by larger companies involves statistical analysis and narrow AI techniques. Amazon's product suggestions are one example of this.

On the other hand, you don't need to a college degree to learn these concepts. There are a lot of good, free resources on the internet to learn these concepts. I've been teaching myself a lot of what I've mentioned above from the internet.

7) Learn a version control system. Version control is like an undo function for saved files. You save your projects to a version control system, and if you screw up, you will be able to roll back to a prior saved copy. SVN and GIT are two popular choices.

8) Related to #6. Never stop learning. This is an industry that is constantly changing. Many skills that were critical 10 years ago are worthless now.


May. 20, 2009 | 10:11 PM fjgamer says:

CSS still has trouble aligning properly on all browsers. Tables seem to be better for grid-like design, but they're frowned upon for some reason. Tables are great. I just think the actual styling should be done with CSS.

I just hope web development becomes a little more uniform, more standardized as the years go by. I get sick of worrying about a webpage not working properly in IE or Firefox plug-ins blocking vital content. (People actually complain that the site looks bad when it loads. This is because they have Flashblock installed... or Adblock.) I simply want actual standards that all browsers simply follow and don't deviate from. Maybe some extra features would also be helpful, though. (Better fluid layouts are a must!)

Jump to Entry: [ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1012 ]