Newgrounds.com — Everything, By Everyone.

Checking login status…

USERNAME:

PASSWORD:

Logging in…

Logged in as:
.
Logging out…
Inbox My Account Log Out

Rob

News Main
Rob

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

I am the new developer for newgrounds.

Contact Info

Newgrounds Stats

Sign-Up Date:
3/15/08

Level: 1
Aura: Neutral

Rank: Civilian
Blams: 0
Saves: 0
Rank #: 208,656

Whistle Status: Normal

Exp. Points: 10 / 20
Exp. Rank #: 1,251,627
Voting Pow.: 1.50 votes

BBS Posts: 5 (0.08 per day)
Flash Reviews: 0
Music Reviews: 0
Trophies: 0
Stickers: 0

Entry #2

Newer Older

Jump to Entry: [ 1 | 2 ]


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 and 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/05/08 12:09 PM Log in to comment! | Share this!

The People Have Spoken

32 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 ibhenowflee 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.

Newer Older

Jump to Entry: [ 1 | 2 ]