14 Jun, 2021
Kĩ năng phát triển Web
Một sinh viên viết cho tôi: “Em là sinh viên năm thứ tư trong khoa học máy tính. Vì em chỉ còn vài tháng trước khi tốt nghiệp, em cần kĩ năng đặc biệt nào mà có thể cho em cơ hội tốt hơn để kiếm được việc làm khác với những người tốt nghiệp khoa học máy tính khác. Em muốn làm việc như người phát triển Web hay người thiết kế Web và sẵn lòng học những điều mới. Xin thầy lời khuyên.”
Đáp: Tôi thích thái độ tích cực về tìm việc làm và sẵn lòng học điều mới của bạn. Ngày nay, phần lớn các dự án phát triển web đều dùng cách tiếp cận phát triển agile, nếu bạn có kinh nghiệm trong agile như Scrum, lập trình cực đoan hay Crystal thì nó quả có cho bạn lợi thế nào đó. Theo vài báo cáo công nghiệp, số việc làm phát triển agile được quảng cáo đã đông hơn số các ứng cử viên có đủ tư cách theo tỉ lệ 5:1. Bằng chứng hiển nhiên là nhiều đại học vẫn không dạy agile trong đào tạo của họ trong khi một số công ti phần mềm quan tâm tới những người tốt nghiệp có kinh nghiệm làm việc trong tổ agile và có tri thức về qui trình đó. Nếu trường của bạn có dự án capstone, đây là cơ hội cho bạn thực hành agile vì nhu cầu về qui trình phát triển này là mạnh và cung cấp là yếu. Nếu bạn không biết về agile, đây là cơ hội của bạn để học. Tôi đã viết nhiều bài báo về agile trong blog của tôi, bạn có thể xem lại chúng. Tôi muốn khuyên là bạn học Scrum, vì nó là phương pháp phổ biến nhất trong cách tiếp cận agile. Từ điều tôi nói, quãng 70% việc làm yêu cầu kinh nghiệm Scrum.
Mặc dầu phần lớn các công ti đều ưa thích người có vài năm kinh nghiệm phát triển agile (phần lớn việc làm được đăng đều yêu cầu tối thiểu 2 năm) nhưng với thiếu hụt kĩ năng Agile, dự án capstone sáu tháng dùng cách tiếp cận agile như Scrum sẽ cho bạn ưu thế hơn những người tốt nghiệp khác mà không có tri thức về agile. Vì việc thuê ai đó là người phát triển agile có kinh nghiệm thường đắt, một số công ti sẵn lòng thuê ai đó với tri thức agile và ít năm kinh nghiệm hơn là phải đào tạo ai đó. (Phần lớn các công ti không cung cấp đào tạo thêm nữa vì mọi người thường bỏ đi sau đào tạo). Ngày nay lương trung bình cho người phát triển agile ở Mĩ là $110,781 và vẫn còn tăng lên do thiếu hụt gần đây.
Có ngôn ngữ phát triển web mới có tên là HTML 5. Nó là phát triển mới nhất từ Liên đoàn web thế giới Worldwide Web Consortium mà bạn nên biết. Định nghĩa cuối cùng về HTML 5 là sẵn có trực tuyến nhưng phiên bản cuối cùng sẽ sẵn có vào sang năm (2014). Theo Worldwide Web Consortium, HTML5 sẽ thay thế HTML 4 để là chuẩn cho mọi phát triển web trong tương lai (hiện thời HTML5 là khuyến cáo ứng cử viên từ liên đoàn) nhưng những người phát triển từ Microsoft, Google, và Facebook đã dùng HTML 5 và API của nó từ vài tháng nay. Tôi chắc nó sẽ được chấp nhận và những người khác sẽ theo. Nếu bạn học HTML 5, bạn sẽ có ưu thế lớn so với những người khác. Khi nó trở thành chuẩn quốc tế chính thức, mọi công ti sẽ cần người có kĩ năng này. Tôi tin HTML 5 sẽ là ngôn ngữ của mọi phát triển trên Internet (Internet của mọi điều) nó được thiết kế để chắc rằng mọi thứ trên web sẽ được tích hợp đầy đủ.
Bằng việc có tri thức về qui trình phát triển agile cũng như ngôn ngữ phát triển web HTML 5, bạn dứt khoát có ưu thế lớn so với người khác và có thể xây dựng nghề nghiệp vững chắc trong công nghiệp phần mềm trong tương lai.
—-English version—-
Web development skills
A student wrote to me: “I am a fourth-year student in computer science. As I only have few months before graduation. What special skills do I need that can give me better chance of getting good job than other computer science graduates. I would like to work as Web developer or Web designer and willing to learn new things. Please advice.
Answer: I like your active attitude on finding job and willing to learn new thing. Today, most web development projects are using agile development approach, if you have experience in agile such as Scrum, Extreme Programming or Crystal than it does give you some advantages. According to several industries’ reports, the number of agile development jobs posted outnumbers the number of qualified candidates by a ratio of 5:1. It is clear evidence that many universities are still not teaching agile in their training while software companies are interested in graduates with experience working on agile teams and have knowledge of that process. If your school has a capstone project, this is a chance for you to practice agile as the demand for this development process is strong and the supply is weak. If you do not know about agile, this is your chance to learn. I have written several articles about agile in my blog, you can review them. I would recommend that you learn Scrum, since it is the most popular method among agile approach. From what I saw, about 70% of job posted require Scrum experience.
Although most companies prefer people that have few years of agile development experience (Most job posted require minimum of 2 years) but with the shortage of Agile skills, a six months capstone project using agile approach such as Scrum would give you an advantage over other graduates without agile knowledge. Since hiring an experienced agile developer is expensive, some companies are willing to hire someone with agile knowledge and fewer years of experience rather than have to train someone. (Most companies do not provide training anymore as people often left after the training). Today the average salary for agile developer in the U.S is $110,781 and still increasing due to the recent shortage.
There is a new web development language called HTML 5. It is the latest development from the Worldwide Web Consortium that you should know. The final definition of HTML 5 is available on line but the final version will be available next year (2014). According to the Worldwide Web Consortium, HTML5 will replace HTML 4 to be the standard for all web development in the future (Currently HTML5 is a Candidate recommendation from the consortium) but developers from Microsoft, Google, and Facebook already using HTML 5 and its API for several months now. I am sure it will be accepted and others will follow. If you learn HTML 5, you will have significant advantages over others. When it become the official international standard, every company will need people with this skill. I believe HTML 5 will be the language of all developments on the Internet (The Internet of Things) it is designed to make sure that everything in the web would be fully integrated.
By having knowledge of the agile development process as well as the HTML 5 web development language, you will definitely have significant advantage over others and can build a strong career in software industry in the future.