How to learn the Web development skills that will keep you working
Posted by Doug on October 24, 2008
There was a great article recently over on NetTuts called “10 Most Sought-after Skills in Web Development”–very helpful information for those of us who are trying to make it as freelance Web developers. But are those skills really within reach for someone who may not necessarily have a programming background? The answer is a qualified “yes,” if:
- you have a working knowledge of HTML and CSS
- you know your way around PHP enough to make simple modifications to a script
- you’re willing to take some time to study and experiment
- you’ve got patience, determination and a desire to learn something new
- you know where to find tutorials, references and examples to learn from
And although you’re more or less on your own for the first four of those bullet points, this article is intended to help you with the last one. This is Part One of a two-part article on where to find the information and resources you need to acquire some of the Web development skills that can make you a better developer and equip you to keep working in challenging economic times.
According to the NetTuts article, the 10 most sought-after Web development skills are:
- Framework knowledge
- Widget development
- Custom CMS themes
- CMS customizations and plugin development
- PSD to XHTML services
- Javascript plugin creation
- Facebook/MySpace applications
- iPhone applications
- Ecommerce integration
- Flash and Actionscript knowledge
Part One of this article will cover the first five, and we’ll take up the last five in Part Two.
Before we dive into the list, here’s one more thing to chew on: most of those of us who do this stuff for a living do it partly because we love the challenge of learning new technologies. But if you’re already a busy Web nerd, it’s going to be difficult to find a lot of time for learning new stuff. I would suggest that you give yourself plenty of time to learn something new, so that it doesn’t become frustrating to you when you have to be busy with other things for a while. Be realistic about how long it takes to learn this stuff. In some cases, your prior knowledge will be such that you can learn some of these skills very quickly, and that’s cool. But don’t set yourself up for failure by expecting to learn something like Django in a week’s time when you’ve got three other project deadlines coming due next week. Be reasonable, take your time, and do it right.
Now let’s take a quick look at each of these technologies and some of the best places to find information, tutorials and other resources. And by the way, all of the resources that are listed here are available on the Web for free. We may also compile a good list of books on these topics at some point, too.
1. Framework knowledge
A framework, in this context, is an application framework–it’s sort of like having the basic structure of your application already built for you, and your job is to flesh it out with functionality. The idea is that you, as the developer, won’t have to spend your time working on the standard stuff that is essentially common to all applications–you can invest your time on the specific functionality of your application. In my early days as an Apple II programmer, if my application needed a menu interface of some sort, I had to write it, pretty much from scratch. Now with Apple’s Cocoa framework, for example, the appearance and operations of things like buttons, toolbars, application “drawers” and such are handled by the Cocoa framework in pretty the same way for any Cocoa application–that work has been done for you. In general, the use of a framework makes application development faster, easier, and more consistent.
Here are some popular frameworks and resources for learning how to use them:
CakePHP
- Cookbook (official docs), video screencasts, and several tutorials
- The Bakery (tons of articles about working with CakePHP)
- Sitepoint article: Your First Bite
- NetTuts: Getting Started with CakePHP
- Wildflower, a CakePHP CMS
CodeIgniter
- CodeIgniter User Guide
- CodeIgniter Video Tutorials
- CodeIgniter Wiki
- sample application and video tutorial
- Introduction to the CodeIgniter Framework
- Building a CMS with CodeIgniter
- Introduction to CodeIgniter (PDF)
Django
- DJango documentation
- The Django Book (a free online book by the creators of Django)
- Django sites with source code
- Instant Django (easy Django development for Windows)
- This Week in Django
- Django tutorial screencasts and videos
Rails
- Rails framework documentation
- Ruby on Rails Tutorial
- Developing Web Applications using Ruby on Rails
Symfony
- Documentation, tutorials, video
- Learn Symfony-a Beginner’s Tutorial
- Symfony Lab
- Symfony Resources Central
- podcast: Introduction to Symfony
2. Widget development
There are all sorts of platforms that are ripe for a huge variety of widgets–Mac OS Dashboard widgets, widgets for Wordpress or other blogging or CMS platforms, Google widgets, Yahoo! widgets, Vista sidebar gadgets and more. You can get a feel for the variety and scope of the widget market by visiting the Widgipedia site, among others. Here are some places you can find information about how to develop widgets for several different environments:
MacOS Dashboard widgets
- Developing Dashboard Widgets
- How to Make your own Dashboard Widget
- Build a Dashboard Widget
- Developing Dashboard Widgets (tutorial)
Wordpress widgets
Google gadgets
- Google Gadget API
- Writing your own Gadgets
- Deploying a Mashup as a Google Gadget
- How to make a Google Gadget in 15 minutes or less
- Google Gadgets Tutorial
Yahoo widgets
Vista sidebar gadgets
- Developing Gadgets for the Windows Sidebar;
- Law’s Sidebar Gadget Development Blog;
- Video on developing sidebar gadgets
And check out this general article on Widget Best Practices.
3. Custom CMS Themes
Okay, so there are already thousands of themes out there, but there will always be a need for more, and for custom theme creation. If you can learn to create and manipulate themes for Wordpress, Drupal, or other blogging and CMS platforms, you’ll stay busy, and you’ll make money. Here is where your CSS skills will really come in handy. Here are some resources:
Wordpress theme creation
- Wordpress Codex: Theme Development
- Tutorial: How to create Your Own Wordpress Theme
- How to Create Wordpress Themes from Scratch
- How to create a Wordpress Template or Theme
- NetTuts: How to Create a Wordpress Theme from Scratch
- How to create a Wordpress Theme: a guide for the design-challenged non-geek
Drupal theme creation
- Take Control of Your Drupal Theme
- Drupal 5 Theme Developer’s Guide
- Drupal 6 Theme Developer’s Guide
- Drupal Theming
- Drupal Developer’s Toolbox
- Drupal Theme Development: Where to Start
- Drupal Theming Tips and Tricks
- Converting a Drupal 5.x Theme to Drupal 6
Joomla theme creation
- Joomla Template Tutorial
- Making a 3-column Joomla Theme
- Tutorial: Creating a Basic Joomla Template
- Creating a Pure CSS Template in Joomla
- Creating a Joomla Template: Quick Tutorial
- How to Create a Basic Template
- Creating a Valid W3C Joomla Template
4. CMS customizations and plugin development
There are many platforms and applications that use plugins as a way to extend functionality and customize. Developers are writing custom plugins for Wordpress, modules for Drupal, JQuery plugins, extensions for Expression Engine, and other platforms.
- Wordpress Codex: Writing a Plugin
- A (JQuery) Plug-in Development Pattern
- Expression Engine documentation
- Expression Engine plugin development
- Developing Movable Type plugins with BIGPAPI
- Developing Movable Type Plugins
- How to Create a Joomla Content Plugin
- Open Source CMS
- CMS Matrix
5. PSD to XHTML services
A quick search will show you that there are a lot of people out there making money doing this, so be prepared to be good and to compete in the marketplace. But a lot of Web designers do site design mock-ups in Photoshop because it is a relatively quick way to show a client how things could look, and it’s relatively easy to tweak the design before you translate it into style sheets. The ability to start with a Photoshop document and turn it into a Web document is not that difficult to learn, and here again, your CSS chops will help you get the gig.
- From PSD to HTML: building a set of Web site designs step by step
- From PSD to CSS/HTML in Easy Steps
- Converting PSD to HTML
- From PSD to HTML Tutorial
- The Best Tutorials on Converting PSD to HTML
Go to Part 2…
In Part Two we identify resources for learning
- Javascript plugin creation
- Facebook/MySpace applications
- iPhone applications
- Ecommerce integration
- Flash and Actionscript knowledge
In the meantime, if you find any other great resources in any of these areas, please add them via comments. And if you want to make sure not to miss the next installment, why not subscribe to Underpants Office?
Thanks for reading this article!You won't miss the next one if you subscribe to the RSS Feed













How to learn the Web development skills that will keep you working–Part 2 | Underpants Office said,
[...] you missed the first part of this two-part article, go read it now–it contains a wealth of links that you don’t want to miss! –Doug) Photo: [...]
ilovephotoblogs said,
Great resource. There are many new skills I would like to learn/develop to create a web presence which is unique from the crowd. I do have a far bit of programming experience, but need to focus my energies to become more adept with PHP, AJAX, and CSS. Thanks again for a well written post and helpful links.
Doug said,
@ilovephotoblogs: Thanks very much–glad it was helpful. I need to spend more time learning new skills, too–so much to learn, and so little time, it seems…
Pete White said,
Learning Drupal was the best thing I ever did.
Doug said,
@Pete:
Drupal is very cool, indeed. Haven’t spent enough time figuring out version 6 yet, but I installed it locally and like some of the user interface enhancements very much. I manage a Drupal site now that is still on 5.3, so I need to get moving…
Jon said,
Some very good pointers on the top skills to have… but to say that all you require is that “you know your way around PHP enough to make simple modifications to a script” is at the very least over-optimistic and at worst just plain wrong.
There’s a big difference between changing the counter on a site from saying “visitors” to “visitors since this site opened”… and being able to modify and work with one of the fantastically complex frameworks around. Programming knowledge, perhaps not. Architechture (and I don’t mean being able to spot some fine Georgian pillars from 800 yards), design and good style are the important parts.
Anyone can throw a few bits of PHP together and get something that works quite nicely… I’ve done it myself, I’ve watched 12 year olds do it. A little PHP (or any other language) won’t get anyone a long term job… there are far too many 15 year olds who can call themself proficient in PHP/ASP for that. It’ll be decimated by script kiddies within hours of launch, but anyone can do it…
Which, at length, is where my point lies… a knowledge of the underlying systems is the important aspect. Whether you know PHP or not doesn’t matter, it can be learned in under 2 months (again, I’ve just watched 200 students learn java in 2 months… half with nothing more than a GCSE in ICT). Programming can be learned quickly, by anyone. Good design: that gets, and keeps you, a job.
Jesus, I didn’t ‘arf ramble there. I hope you get my point anyway, if you cut out the repetition and blab
Doug said,
@Jon:
Good point, and I don’t disagree that there’s much more to this stuff than just tweaking a script or two. What I meant to suggest (and perhaps I didn’t do it well) was that the “price of admission,” so to speak, is not high, and that there are enough resources available on the Web that a reasonably intelligent person with some aptitude, some drive and some direction can figure out the nuts and bolts of this stuff in time. But I also agree that an eye for (and skills for) great design are often the key piece. In my experience, it’s a rare person who has both great technical skill and great design sense. Thanks for your comment!
Free CSS Templates said,
Great article. I have most of the skills. The only one that I don’t have and really need to get into is widget development. Just never had the time for it.
howto web develop said,
My Top 1 list of how to be a web developer:
1. Develop on the web.
Add A Comment