Tiêu đề bài viên đã nói lên mục đích của bài viết này. Lập trình viên web đang là một nghề được nhiều người lựa chọn, công việc tưởng chừng có vể dễ dàng, song nó lại bao gồm cần chuẩn bị nhiều thứ lổm ngổm ở trong đó. Nhưng làm lập trình viên phần mềm dù là desktop hay web thì rút cuộc cũng chỉ xoay quanh mấy việc là:
- Nhập dữ liệu
- Xử lý dữ liệu
- Lưu trữ dữ liệu
- Và hiển thị dữ liệu
Như vậy công việc xoay quanh cũng chỉ là làm việc với dữ liệu và tìm cách lưu trữ nó, hiển thị nó.
Công việc lập trình web cũng vậy, nhưng có nhiều định hướng cho người mới bắt đầu lựa chọn con đường này. Có thể chọn cho mình một chuyên môn mà phù hợp với khả năng của mình: Coder, Graphics Designer, System Designer. Sau đó là lựa chọn một ngôn ngữ đang thịnh hành bây giờ để bắt tay vào nghiên cứu: .NET, Java, PHP, Python, Perl… Như vậy sau khi xác định được xong các mục tiêu thì giờ chỉ còn là công việc bắt đầu nghiên cứu và thực hiện một dự án nho nhỏ để thực hành những cái mình đã học được.
Để làm một website cái đầu tiên cần có một ý tưởng tốt, một ý tưởng mà sẽ đem lại cho bạn lượng truy cập khổng lồ, đem lại các hợp đồng quảng cáo dài hạn và những dịch vụ gia tăng ở trên đó. Có thể tôi hơi nói lạc đề ở đây, vì đã là nghề lập trình viên thì chắc cũng gắn bó với công việc đi làm thuê ở các công ty để tích lũy cho mình kinh nghiệm thực tế, rồi sau đó ra ngoài thực hiện các hoài bão của riêng mình. Vậy ta hãy trở lại với vấn đề những điều khởi điểm khi bắt tay làm một lập trình viên web tốt. Tôi lấy ví dụ với một lập trình viên PHP.
I. Kiến thức cơ bản
- HTML, DHTML, XHTML
- Javascript
- CSS
- Một chút khiếu thẩm mỹ về màu mè, photoshop, Firework, illustrator, flash…
- Một số am hiểu về Database, thiết kế và phân tích.
II. Chọn một ngôn ngữ web thịnh
- Ví dụ của tôi là tôi chọn PHP (đơn giản dễ hiểu nhanh chóng, và bị chê là ko bảo mật)
- Chọn một hệ quản trị CSDL đi kèm, ví dụ MySQL.
III. Các kiến thức về Framework
- Bạn cần nắm bắt sơ qua một số kiến thức về các Framework hỗ trợ PHP, ví dụ như Zend studio, Adodb, Pear…
- Một mô hình chuẩn kiến trúc thiết kế phần mềm, ví dụ như MVC – Model view controller
- Một ít về UML để đọc các thiết kế hệ thống.
IV. Tìm kiếm các công cụ hỗ trợ lập trình
- HTML thì dễ dùng nhất là Dreamwaever, Front page. Khi bạn làm ngon rồi thì dùng notepad ++ hoặc các tools highlight code khác đễ dễ xem code là ổn.
- CSS thì có RapidCSS và một số phần mềm khác tương đối ổn cho việc thiết kế CSS
- Với PHP tôi chọn Eclipse cùng một số gói Plugin, một tools mạnh mẽ cho việc lập trình PHP mà lại hoàn toàn free.
- Sử dụng bộ Wamp hoặc Xampp để Deploy một hệ thống webserver cùng Database hỗ trợ php5 nhanh chóng và dễ config. Không cần phải cài mấy thứ bùng nhùng như Apache, PHP và MySQL.
- Chọn một tools quản trị Database MySQL như phpmyadmin (giao diện web) hay MySQL Front (desktop) hoặc SQLyog.
- Một Tools cho việc thiết kế hệ thống như Start uml, cho thiết kế database như MySQL Workbench. Các phần mềm này hoàn toàn miễn phí.
V. Tìm kiếm Opensource
- Sau khi bạn đã khá thành thục thì cũng là lúc nên tìm cho mình một Opensource hay để phát triển, các công ty đều có chiến lược phát triển một dòng sản phẩm nào đó từ một OpenSource, vì lý do chúng có những thiết kế tốt, khả năng mở rộng cao, mềm dẻo và cộng đồng phát triển lớn, như: Joomla, drupal, WordPress, Nuke PHP hay Zend Cart…
OK giờ hãy thực hành một dự án nho nhỏ với một trang tin tức, bán hàng nhỏ để bạn luyện dần các kỹ năng làm việc. Với người lập trình web trên PHP thì công việc sẽ khá nhanh vì PHP là một ngôn ngữ dễ đọc và dễ làm. Nhưng nó đỏi hỏi bạn phải code nhiều và có những thiết kế tốt. Các ngôn ngữ khác như .NET hoặc Java thì độ khó chắc chắn là hơn PHP rồi, nhưng bù lại là sự hỗ trợ từ công cụ và các tài liệu phong phú trên mạng. Với PHP bạn cũng hoàn toàn được hỗ trỡ từ cộng đồng đông đảo, một trang khá hay bạn nên biết đó là trang www.phpclasses.org/.

Mọi người có thể vào đây để tìm hiểu thêm về kinh nghiệm của người đi trước http://groups.google.com/group/phpvietnam