13 Jan, 2021
Việc làm trong khu vực phát triển web
Tuần trước tôi đã nhận được một email từ một sinh viên hỏi về việc làm trong khu vực phát triển web. Sau đây là câu trả lời của tôi:
Có một số việc làm liên quan tới web tuỳ theo vai trò của bạn, mỗi việc làm đều có các yêu cầu kĩ năng đặc thù.
1) Người biên tập Web: Đây là vị trí mức vào yêu cầu các kĩ năng phát triển web cơ sở như HTML, Cascading Style Sheet (CSS) một số tri thức về đồ hoạ và một số cách biên tập nội dung web với tri thức về cách thiết lập blogs, Wiki v.v. Vị trí này không yêu cầu bằng đại học, phần lớn mọi người có thể kiếm được việc làm này với chứng chỉ từ trường dạy nghề hay chứng tỏ được kĩ năng của mình cho người chủ thuê lao động.
2) Người thiết kế Web: Vị trí đa năng này yêu cầu tri thức nâng cao hơn về khía cạnh thiết kế thay vì kĩ năng cơ sở, nó cũng bao gồm làm việc như một phần của tổ thiết kế cùng với người phát triển web. Người thiết kế phải có tri thức nào đó về ngôn ngữ phát triển, các kĩ năng trong HTML, thiết kế đồ hoạ, Photoshop, Dreamweaver. Vị trí này không yêu cầu bằng đại học, phần lớn mọi người có thể kiếm được việc này với chứng chỉ từ trường dạy nghề hay chứng tỏ kĩ năng của mình cho người chủ thuê lao động. Với việc này, một số công ti có thể đòi hỏi tri thức và kĩ năng trong ngôn ngữ kịch đoạn Web (PHP) vì nó đang trở thành phổ biến với các công ti lớn hơn. PHP về căn bản được dạy ở các đại học nhưng nó dễ cho việc tự học.
3) Người phát triển Web: Đây là mức vị trí phân biệt giữa đào tạo hướng nghiệp và người có bằng bốn năm. Ngay cả một số công ti có thuê người không bằng cấp nhưng phần lớn các bảng việc làm mà tôi thấy đều có yêu cầu bằng tốt nghiệp đại học. Kĩ năng được yêu cầu bao gồm tri thức chuyên gia trong kĩ năng HTML, PHP, CSS với kinh nghiệm đồ hoạ vừa phải, tri thức về quản trị máy phục vụ, kinh nghiệm về cơ sở dữ liệu vừa phải với khả năng quản lí cơ sở dữ liệu và máy phục vụ web cho công ti. Bên cạnh đó phần lớn những người tốt nghiệp từ đại học không có kĩ năng trong lập trình Dot.Net và Java vì các ngôn ngữ này có một số ích lợi hơn so với PHP vì chúng là tốt hơn trong môi trường sản xuất lớn hơn và có hỗ trợ của nhà cung cấp tốt hơn. Theo quan điểm lương, đây thực sự là vị trí toàn thời vì nó trả lương nhiều hơn những vị trí khác. Cả Java và DOT.NET đều có ưu điểm lớn hơn so với các ngôn ngữ phát triển khác bởi vì môi trường chúng được dùng tới, và các ứng dụng chúng có xu hướng được dùng cho. Nhiều người phát triển Web có thể làm việc như người phát triển phần mềm và tham gia vào tổ phát triển ứng dụng của công ti.
Từ quan điểm phát triển phần mềm, điều thành vấn đề là tri thức về các ngôn ngữ và hiểu khuôn khổ phát triển. Không có phân biệt giữa người phát triển phần mềm và người phát triển Web nhưng người phát triển web có kĩ năng phụ trợ như HTML, PHP, CSS v.v có thể giúp cho việc sử dụng lao động bởi vì nó có xu hướng hội tụ vào khía cạnh phát triển web. Tất nhiên, bên ngoài các vai trò phát triển còn có nhiều các cơ hội khác. Người phát triển phần mềm có kinh nghiệm giả định giữ vai trò lãnh đạo kĩ thuật, kiến trúc sư phần mềm, hay thậm chí tiến lên thành người quản lí dự án. Kiến trúc sư phần mềm không yêu cầu tri thức về cơ sở dữ liệu và kiến trúc phần cứng và kĩ năng mô hình hoá phần mềm, điều được dạy chủ yếu trong đại học.
Người phát triển phần mềm, người phát triển Web, người lãnh đạo kĩ thuật, và kiến trúc sư phần mềm có biến thiên lớn về lương tuỳ theo kinh nghiệm. Nhưng bên cạnh các kĩ năng cơ sở được liệt kê ở trên, việc tăng bề rộng của kĩ năng được yêu cầu và trách nhiệm có liên quan tới việc tăng lương. Ngày nay tri thức và kĩ năng xác định ra lương của công nhân và bạn càng biết nhiều, bạn sẽ càng làm được nhiều lương.
—-English version—-
Jobs in web development area
Last week I received an email from a student asking about jobs in web development area. Following is my answer:
There are several web-related jobs depending on your roles, each with a particular skills requirements.
1) Web Editor: This is the entry-level position that requires basic web development skills such as HTML, Cascading Style Sheet (CSS) some knowledge about graphic and some web content editing with knowledge of how to set up blogs, Wiki etc. This position does not require university degree, most people can obtain jobs with certificates from vocation schools or demonstrate skills with hiring employers.
2) Web Designer: This general-purpose position requires more advanced knowledge on the design aspect rather than the basic skills, it also involves working as part of a design team with web developers. Designer should have some knowledge of development languages, skills in HTML, Graphic design, Photoshop, Dreamweaver. This position does not require university degree, most people can obtain jobs with certificates from vocation schools or demonstrate skills with hiring employers. For this job, Some companies may ask for knowledge and skill in Web scripting languages (PHP) since it is becoming more popular with larger companies. PHP is typically taught in universities but it is easy to learn it yourself.
3) Web Developer: This is the position level that distinguish between a vocational training and people with four year degree. Even some companies do hire people without a degree but most job listings that I found do require bachelor degree. Required skills include expertise in HTML, PHP, CSS skills with moderate graphics experience, knowledge of server administration, moderate Database experience with the ability to manage a database and web server for the company. Most people graduated from university in addition, do have skills in Dot.Net and Java programming as these languages have a number of benefits over PHP as they are better in larger production environments and have better vendor support. From the salary point of view, this is really a full time position as it pay much more than others. Both Java and DOT.NET have significant advantages over other development languages because of the environment they are used in, and the applications they tend to be used for. Many Web developers could work as Software developers and participate in company’s application development team.
From a software development view, it is the knowledge of the languages and understand development frameworks that matters. There is no distinction between a software developer and a Web developer but web developer with subsidiary skills such as HTML, PHP, CSS etc could help employability because it tends to focus on the development aspect of the web. Of course, beyond development roles there are many other opportunities. Software developers with experiences could assume technical lead roles, software architect, or even advance into project manager. Software architect does require knowledge of database and hardware architecture and software modeling skills which are taught mostly in university.
Software developer, Web developer, Technical Lead, and software architect vary greatly in terms of salary depend on experiences. But beside the basic skills listed above, the increase in the breadth of the skills required and the responsibilities correlates with an increase in salary. Today knowledge and skills determine the salary of workers and the more you know, the more you will make.