7 ms·
Web development requires small slices of dozens of skills. You need to be able to design web-pages (CSS, HTML, a personal design aesthetic). You need to be able
by willarson 19y ago
Web development requires small slices of dozens of skills. You need to be able to design web-pages (CSS, HTML, a personal design aesthetic). You need to be able to interface between your pages and your server (web frameworks ease the pain of this: Django (Python), Ruby On Rails (Ruby), Seaside (Squeak), Lift (Scala), and others in Scheme, Common Lisp, Java, etc). You (will probably) need to be able to add interactivity to your projects: javascript/ajax or Flash (or, theoretically, Silverlight). You will need to interact with databases to create persistent data (PostgreSQL, MySQL, SQLite), or at least learn how to use an ORM (object-relational mapping, used to create a simpler interface to interact with databases without using Structured Query Language).
If you are seriously devoted to developing a web applications, I would consider trying Django. It is a full development stack (it will help you with templates for your html, views to populate the templates, an ORM to control your database, etc), and I found it more intuitive than Ruby-on-Rails.
However, given the wide number of skills involved in web programming, I would strongly consider focusing on one aspect and becoming proficient at that. Specializing means you can more quickly become an asset (to a team), but will also develop skills you would need to develop anyway to develop quality web applications.
Although many web applications seem stupidly simple, there is still a huge amount of time and effort being spent invisibly: testing for cross-browser compliance, designing and building a system that scales horizontally, designing your website to appeal to customers, setting up your production hosting, cleaning and escaping all incoming data to prevent various security exploits, creating a caching framework to avoid hitting your database if possible (slow), designing your overall system to perform quickly, and the list never ends: there is always something else.
This is the joy of web programming, and also the reason that it is hard to do well. Don't be discouraged, just realize that it isn't simple, and get to work. :)