00:00
00:00
Rob
I am the new developer for newgrounds.

Age 44, Male

Web Developer

Philadelphia

Joined on 3/15/08

Level:
7
Exp Points:
440 / 550
Exp Rank:
> 100,000
Vote Power:
4.88 votes
Rank:
Civilian
Global Rank:
> 100,000
Blams:
0
Saves:
2
B/P Bonus:
0%
Whistle:
Normal
Medals:
172
Gear:
6

Advice for the Novice Web Developer

Posted by Rob - May 5th, 2008


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.


Comments

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

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.

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

wow this is really helpful thanks rob

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

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

Do you really look that old?

can you elaborate on #9 please

Only if you elaborate on your question.

That's a lot of words.

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?

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.

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

It's delicious.

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.

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

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.

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.

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

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?

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.

Ruby is also open source.

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?

Rob you rock!

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

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!

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

More Results