A friend of mine asked me today how to become a web developer. It took me a while, but I made up a checklist. It’s short, but it’s enough for the first steps.
First of all, learn English
Well, if you read this, maybe this was a bad first point…
Choose a language and stick to it!
For the UN*X/Linux line, there is PHP. It’s free, easy to learn, and has many free tools and documentations available. It can be used in a functional or an object-oriented way.
C# is another good way to start, but for the Windows line. It’s fully object oriented, and the web is full of tutorials, how-tos and other resources.
Learn the basics of the system you are working on
To become a good developer, learn at least the basics of the system you are working on. Basic commands can always come in handy. Debugging (yes, you will do tons of bugs for sure) can become much easier if you know the huge set of tools provided by your OS. You should also try to develop in the chosen environment. Chose PHP? Get a Linux desktop! ASP.NET? Get a Windows. Everything will be much easier!
Learn the basics of the web server you are using
PHP can run on Apache (as a module), or any CGI-capable webserver, like lighttpd or nginx (well, it can also run on IIS, but trust me: you don’t want that). ASP.NET is designed for IIS, and although some scripts can be run under a mono-capable server, it should still stay there.
Whichever you choose, learn the basics! How to start and stop the service, basic configuration methods, modules/extensions, and so on. It’s more than sure that you will face some issues while developing, so it can never hurt.
Keep your versions under control
Version control is critical nowadays. It gives you a basic backup solution, can come in handy with debugging, and if you ever want to work in a team, you will badly need it.
Subversion is a bit out of date now, and it’s kind of hard to set up.
Git is no easy. You will have to learn a lot of stuff, but basicly it’s just another version control system. Just choose if you want to stick to merge-then-commit or rebase-then-commit, get a client, and get on the run.
Microsoft’s Team Foundation is another good way if you are working in a team. It provides several other features besides version controlling, and is well integrated into Visual Studio, which is highly recommended for Windows based development.
Choose an environment to work in
There are so many good tools out there. You should choose according to the language and OS on what you are working on. Zend Studio or Netbeans are both good tools for PHP development, while Visual Studio is a best buy for Windows development. Both of these have many ups and downs, but once you get in touch with their deeper parts, you will like them.