Chia sẻ định hướng làm nghề website


“Muốn tiến thân vào nghề này thì phải học gì trước?”, hay là “Nên bắt đầu từ đâu?” bài viết này sẽ chia sẻ và giải đáp thắc mắc đã nêu trong việc định hướng và xác định giai đoạn bắt đầu để những bạn có quan tâm thì có thể hiểu hơn về nghề này. Dù bạn có muốn sử dụng WordPress hay các CMS nào khác thì việc hiểu được vai trò của mình, sở hữu được các kỹ năng trong bài này cũng sẽ giúp ích cho bạn sử dụng các CMS đó tốt hơn vì CMS cũng chỉ là một sản phẩm của lập trình web để bạn làm website nhanh hơn. Dưới đây là chia sẻ của anh Thạch Phạm về nghề này.

Xác định hướng đi nhất định

Sở dĩ mình sử dụng từ “làm website” thay vì “thiết kế website” cốt yếu là để tránh cho các bạn sự nhầm lẫn của một nhánh trong nghề. Như bạn thấy đó, một website để chạy được thì cần phải thiết kế và lập trình các chức năng bên trong.

Một đội ngũ làm website thường sẽ có nhiều bộ phận mang từng chuyên môn khác nhau như bộ phận thiết kế, bộ phận front-end development, bộ phận back-end development, bộ phận testing, và có khi mỗi module nó có thể chia ra nhiều bộ phận khác nhau nếu dự án website đó lớn.

Nếu các bạn định học làm website để phục vụ cá nhân thì không nói chứ nếu bạn đã xác định là mình sẽ làm website để kiếm sống thì phải xác định được hướng đi của mình.

Ông bà ta có câu “một nghề cho chín, còn hơn chín nghề” chẳng bao giờ sai, bạn khó mà có thể trở thành một master với toàn bộ các kỹ năng làm website nên tốt hơn hết bạn phải xác định được bạn muốn gì, thích làm gì và có khả năng học cái gì.

1. Hướng thiết kế (Web Designer)

Hướng này nghĩa là bạn chuyển đổi từ một ý tưởng (qua phác thảo hoặc chỉ vài dòng chữ) lên một bản thiết kế xem trước giao diện của website bằng hình ảnh, bạn có thể thiết kế bằng Photoshop hay một ứng dụng nào đó mà bạn chuyên.

Một Web Designer thì kỹ năng đầu tiên tất nhiên sẽ là mắt thẩm mỹ thật tốt, có khả năng sáng tạo tột độ để có những bản thiết kế bá đạo nhất. Một người chuyên thiết kế logo/hình ảnh cũng có thể thiết kế giao diện website nhưng tốt hơn hết bạn theo đuổi một nhánh duy nhất này vì một designer thông thường sẽ có những hạn chế về sự hiểu biết của một giao diện website.

Tóm lại, nếu bạn thích nhánh này thì hãy đầu tư thời gian học cách sử dụng thành thạo các công cụ thiết kế phổ biến của Adobe, các khái niệm cơ bản và nâng cao về thiết kế, khả năng phối màu tốt, am hiểu trải nghiệm người dùng (UX) trên một giao diện website và quan trọng nhất là phải hiểu giao diện của một website để có thể thiết kế làm sao mà người khác có thể chuyển bản thiết kế của bạn thành một giao diện website được.

Do mình cũng không phải là một web designer nên chia sẻ cũng hạn chế nên các bạn có thể tham khảo ý kiến của các web designer chuyên nghiệp khác.

Mình chưa bao giờ học Web Design ở Việt Nam nên không biết ở Việt Nam có khóa học nào chuyên về cái này không. Nếu có bạn có thể giúp mình bổ sung nha.

2. Hướng lập trình

2.a) Front-End Development

Các lập trình viên front-end sẽ có nhiệm vụ chuyển bản thiết kế (thường là PSD, AI) sang một giao diện website tĩnh, cũng có khi bạn làm trực tiếp trên một website động nếu bạn hiểu cấu trúc của website đó nhưng thường là bạn sẽ phát triển bước đầu tiên là ở website tĩnh, còn sau này nếu có cập nhật, thay đổi thì sẽ làm trên website động.

Nghĩa là một bản thiết kế website bằng hình ảnh, bạn sẽ tiến hành cắt, chuyển ý tưởng thành một giao diện website với HTML, CSS, Javascript, jQuery,…v..v..tùy theo yêu cầu của bạn thiết kế.

Với hướng này, bạn sẽ làm việc với các ngôn ngữ kịch bản (Javascript/jQuery) và ngôn ngữ thiết kế website như HTML, CSS. Nghĩa là với các ngôn ngữ này, bạn phải thật sự vững vàng và có thể đưa bất cứ một ý tưởng nào lên website vì front-end thì thường là chỉ quanh quẩn với CSS, HTML, Javascript nhưng không phải vì thế mà nó nhàm chán.

Nếu bạn hỏi một ai đó là một front-end developer chuyên nghiệp thì sẽ nghe họ nói với CSS (đặc biệt là CSS3) thì bạn học nắm cơ bản thì chỉ mất 1 tháng nhưng bạn sẽ phải học suốt quãng thời gian làm việc. Học ở đây là học các thủ thuật dùng CSS khéo léo, cách fix các lỗi giao diện liên quan tới CSS hay đơn giản là phát triển kỹ năng mình tốt hơn.

Bên cạnh đó, các front-end developer thường là phải nắm luôn các ứng dụng chuyên dành cho họ như Git, NodeJS, YeoMan, RequireJS, Jasmine, Modernizr và đặc biệt là Scrum trong môi trường làm việc theo nhóm (teamwork).

Chốt lại, bạn cần đầu tư thời gian học thật kỹ:

  • - CSS
  • - HTML
  • - Javascript
  • - jQuery

Kể cả các CMS thông dụng để hiểu cấu trúc giao diện:

  • - WordPress
  • - Magento
  • - Joomla
  • - Drupal

Đồng thời khi bạn đã vững rồi, hãy học các công cụ/thư viện như:

  • - Git
  • - NodeJS
  • - YeoMan,
  • - Modernizr

2.b) Back-end Development

Trong khi Front-end developer có nhiệm vụ làm việc với giao diện của website thì các Back-end developer sẽ phải mò mẫm bên trong cái lõi của website để phát triển các tính năng bên trong, tức là bạn sẽ làm việc với các ngôn ngữ server-scripting nhiều hơn để truyền tải dữ liệu theo mong muốn ra giao diện website.

Tùy theo ngôn ngữ lập trình của website mà bạn sẽ phải học nó một cách thành thạo. Nếu có học, hãy học các ngôn ngữ lập trình website phổ biến nhất như PHP, Javascript, .NET, C# và hiện nay người ta cũng học qua ngôn ngữ Ruby với framework Ruby on Rails, Java để làm website.

Ngoài ra, bạn cũng phải học thêm cách bảo mật ứng dụng của mình vì khi website bị hack, sếp của bạn sẽ đè đầu 2 ông SysAdmin và Back-end Developer ra mà chửi. 

Tóm lại, bạn nên học nhất là:

  • PHP (bao gồm học các framework, sẽ có lợi cho bạn sau này)
  • Javascript
  • Linux
  • Cách dùng các IDE như NetBeans, PHPStorm.
  • Git
  • HTML/CSS ở mức tạm được
  • Nếu bạn làm việc với CMS nào đó, bạn phải cần học cách lập trình trên CMS đó như WordPress chẳng hạn.

Các kỹ năng chung

Khi làm website nói chung, dù bất cứ ở vị trí nào mà bạn cũng sẽ cần phải trang bị các kỹ năng chung để tiện lợi cho việc phát triển kỹ năng, tìm kiếm thông tin trong suốt thời gian bạn gắn bó.

1. Tiếng Anh – ít nhất là đọc tốt

Phải nói là rất.101000 nhiều bạn ở Việt Nam lười học tiếng Anh mà lại muốn làm chuyện lớn, vươn xa. Mình tự nhận là người nói tiếng Anh dở vì mình vốn rất ngu tiếng Anh nhưng nếu bạn làm website nói chung, thì quan trọng nhất là kỹ năng đọc/hiểu và nghe các tài liệu phục vụ cho việc này.

Bạn thấy đó, các tài nguyên học làm website bằng tiếng Việt đã vừa ít mà lại rất khó hiểu nếu phải dịch toàn bộ ra tiếng Việt. Nên mình khuyên thật lòng là nếu bạn có vấn đề về tiếng Anh thì học các kỹ năng làm web cơ bản bằng tiếng Việt, sau đó dành thời gian luyện đọc tài liệu tiếng Anh về các kỹ năng đó và học các vấn đề nâng cao hơn.

Lấy đơn giản ví dụ bạn tìm kiếm tài liệu học, bạn cứ tìm 2 từ khóa dưới đây sẽ thấy những gì bạn tìm được hoàn toàn khác:

  • Tài nguyên học lập trình website
  • web development learning resources

Đấy, ví dụ trên đã nói lên tất cả rồi. Nếu bạn muốn hiểu những kết quả tuyệt vời đó, hãy học tiếng Anh.

Mẹo tập đọc tiếng Anh

Dĩ nhiên trước khi đọc, bạn cũng cần nắm qua các kiến thức về ngữ pháp căn bản, cái này bạn tìm kiếm trên Google có rất nhiều.

Sau đó, bạn hãy cài extension Ddict vào Google Chrome và bây giờ bạn hãy vào các website học làm website bằng tiếng Anh như Mozilla Web Developer, W3School chẳng hạn rồi đọc. Chữ nào không hiểu thì bôi đen, nó sẽ tự dịch sang ngôn ngữ bạn cần dịch kèm theo phát âm luôn. Cứ làm như thế đến khi nào bạn đọc mà không cần dùng Ddict thì thôi nha. Đừng nản, chăm chỉ thì bạn cần 1 – 2 tháng thôi là hiểu hết các từ vựng chuyên ngành.

Còn ở trên máy tính, bạn có thể dùng các phần mềm như Lingoes để dịch các chữ trong các tài liệu PDF để đối phó với các ebook.

 2. Học Linux

Cái này vốn là cái bắt buộc cho các SysAdmin nhưng nếu bạn là Back-end Developer hay Front-end Developer thì cũng nên trang bị một chút kỹ năng sử dụng các lệnh Linux vì hiện nay các công cụ phục vụ cho lập trình viên có hỗ trợ phần viết lệnh Linux để thao tác nhanh hơn. Lấy ví dụ nha, bạn cần tìm một chữ nào đó trong đống code và đổi sang giá trị khác, lúc đó các lệnh Linux là thứ mà bạn có thể trông cậy vào nhiều nhất.

Hơn nữa, các web server được làm trên Linux hiện nay cũng phổ biến hơn so với Windows nên nếu là bạn là lập trình viên thì sẽ cần ít nhất là biết cách thiết lập, cài đặt web server để phục vụ trong thời gian làm việc. Đơn cử như Vagrant là công cụ mà hiện nay rất nhiều lập trình viên website sử dụng để test hoặc deployment dự án.

3. Kỹ năng tìm kiếm

Bạn cũng không thể hở một xíu là đi hỏi người khác chỉ vì đơn giản là không ai rảnh để trả lời cho bạn nên tốt nhất là học cách giải quyết vấn đề bằng cách tìm kiếm thông tin trên Google, tìm từ từ nó cũng sẽ ra thôi.

Để tìm tốt thì dĩ nhiên bạn cũng nên biết xíu tiếng Anh để sử dụng các từ vựng tiếng Anh trong đó mà tìm thì kết quả sẽ trả về đa dạng hơn.

4. Kỹ năng tự học

Học ở trường, là một chuyện mà tự học lại là chuyện khác. Tự học là cách tốt nhất để bạn có thể nhớ lâu và giải quyết vấn đề nhanh chóng, nó cũng có lợi nếu sau này bạn muốn học thêm cái gi đó vì môi trường IT là luôn biến đổi, chẳng hạn bây giờ PHP là ngôn ngữ phổ biến để học, biết đâu được vài năm sau bạn phải học một ngôn ngữ khác khi PHP hết thời? Hoặc là bạn làm trong công ty, công ty đó yêu cầu bạn học thêm một cái gì đó để làm việc trong môi trường công ty, nên lúc đó bạn cũng không có thời gian hoặc cũng không thể trông cậy vào ai dạy cho mình được ngoài việc tự tìm các bài học trên mạng rồi tự học.

Nói tóm lại, tự học sẽ giúp bạn dễ thăng tiến hơn.

Học ở đâu?

Những gì mà bạn cần học mình đã có nói rõ ở từng vị trí bên trên rồi, nên bây giờ bạn có thể tìm tài liệu và học ở các website sau đây nếu bạn thích khả năng tự học và mình cũng khuyến khích như vậy:

  • QHOnline.Edu.Vn – Học PHP bằng tiếng Việt
  • Zend.vn – Học PHP bằng tiếng Việt
  • TutsPlus – Học mọi thứ về IT bằng tiếng Anh
  • Learnable – Học các kiến thức chuyên về web/mobile
  • TeamTreeHouse – Học phát triển website chuyên nghiệp
  • Udemy – Thư viện khóa học online đồ sộ, chất lượng
  • Lynda – Cũng là một thư viện các khóa học online đồ sộ

Lời kết

Kết thúc bài này, mình chỉ muốn nói là có thể mình viết chưa được đầy đủ vì sự giới hạn kiến thức của mình nhưng mình tin là nó có thể giúp được một số bạn đang hoặc sẽ có kế hoạch học làm website sẽ biết rõ hơn mình sẽ học những gì, tránh việc học quá nhiều dẫn tới cái gì cũng biết được chút chút thì khó mà làm được việc về sau vì mình cũng đã từng như thế và cái giá phải trả của mình là đã tiêu tốn rất nhiều thời gian để sửa lại.

Theo thachpham.com

Japan IT Works



Việc làm theo chuyên ngành

Việc làm theo ngành

Việc làm theo tỉnh thành