Forum Moderators: rogerd

Message Too Old, No Replies

How much web development education is actually necessary?

         

JesseBarksdale

8:31 am on Jan 12, 2009 (gmt 0)

10+ Year Member



I've been working with PHP, MYSQL, and a little Javascript for about 5 months now. I've been doing educational type projects to challenge myself and learn how to go about designing certain web applications. I started with a phonebook...hehe, I know. Then made a basic forum.

Now I'm finishing up a simple PHP, MYSQL based facebook type application. It's very simple, allowing user's to create a profile, edit their profile, find friends, post comments on their friend's walls, upload a profile picture, and send private messages.

I've been looking at a lot of other site's source code lately, and have noticed that a lot of sites use code that is way beyond my comprehension. Gmail has a login form with about 20 hidden values and strange code I don't even begin to fathom.

In a few weeks, I'm beginning development on my first attempt at a commercially viable social networking type site. At first I felt that, while I was by no means a master web developer, I more than grasped the ability to create a simple version of a site like this like this. But with the complexity of code I'm seeing on so many other "real" sites out there, I'm wondering if I'm missing something. Is there some reason everybody is using this crazy complex code, or is it just another way to do it? I just want to know if there's still a bunch more I need to learn... or, is it enough if I can get the site to do what I need it to do, even with my elementary PHP skills.

Rosalind

10:01 am on Jan 12, 2009 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



There is, but it's only really when you look back at your old code after a couple of years that you'll realise what's missing. Most importantly, it's not enough that your applications work. They must also be secure. That sometimes means sacrificing extra features in favour of simplicity.

Learn about common attack types like SQL injection, XSS, and so on. In my view a good grounding in security is the most essential skill in development. The worst thing is to call yourself a developer and then build (and sell) code that leaves websites vulnerable. But once you're confident in this area you can take the rest of it at your own pace, and learn things as you need them.

Don't worry about the complexity of the code you find on other people's sites. There's a lot of spaghetti javascript out there, for reasons best known to the site owners, but that doesn't make it the best solution.

JesseBarksdale

7:31 pm on Jan 12, 2009 (gmt 0)

10+ Year Member



Thanks Rosalind. Yeah, it seemed to me that site security was the most important thing, and that if my site was also functional, that was all that mattered.

I just wasn't sure if a lot of this stuff I'm seeing out there is super-optimized, and a site with 900,000 can only be supported by this sleak, crazy code. And if I tried to run my simple little php site with 900,000 people, it would crumble.

Samizdata

7:59 pm on Jan 12, 2009 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



How much web development education is actually necessary?

I would say the answer to that is "a lifetime".

The field is vast, change is constant, techniques become obsolete, new stuff is invented.

That should be lesson one, but don't be put off - simple can be very effective.

...

maximillianos

2:48 am on Jan 13, 2009 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Agree with the others. Making it "work" is one thing. Building a site that can handle a few hundred thousand visitors a day is another... You get into learning how to optimize servers, learning how to optimize databases... You start to learn memory caching tools to integrate with your application... Tweaking your server... loading balancing... Then you need to think about disaster recovery... backups... restores... and depending on how big you get... Worrying about disk failures and redundancies (RAID) in hardware...

That is not even considering security... if you need to be secure then you have to basically double the complexity of your application since you now need to really build some rock solid code that checks every input and filters potential harmful strings, etc.

I've got a degree in Computer Engineering (12 years ago) and I am still learning things to this day... =)