- CSS
- HTML
- Javascript
- jQuery
- WordPress
- Magento
- Joomla
- Drupal
- Git
- NodeJS
- YeoMan,
- Modernizr
- 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.
Chia sẻ định hướng nghề làm website
Cuối năm rồi, mình cũng hơi bận bịu với các kế hoạch mới và cập nhật lại Thaiaiti.com nên cũng không có viết bài nhiều ở những thời điểm cuối năm này. Nhưng trong thâm tâm, mình vẫn muốn chia sẻ với các bạn một chủ đề mà mình đã muốn chia sẻ từ lâu nhưng vẫn chưa làm được do chưa có thời gian viết, đó là về chuyện định hướng nghề nghiệp của những người đam mê lĩnh vực làm website.
Thaiaiti Web không có nói rằng mình là chuyên gia về lĩnh vực làm website hay có am hiểu vượt trội, nhưng mình tin chắc rằng những câu hỏi dạng như “Em muốn tiến thân vào nghề này thì phải học gì trước?”, hay là kiểu “Nên bắt đầu từ đâu?” thì Thaiaiti Web có thể trả lời cho các bạn được.
Do vậy, bài này Thaiaiti Web sẽ xin chia sẻ những gì Thaiaiti Web biết được 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ĩ nhiên là, nếu bạn không có ý định dấn thân vào nghề làm website chuyên nghiệp hoặc chỉ muốn làm để phục vụ công ty, doanh nghiệp hay bản thân mình thì không cần đọc qua.
Dù bạn có muốn sử dụng Theme 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.
Xác định hướng đi nhất định
Sở dĩ Thaiaiti Web 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.
Thaiaiti Web 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.
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 (team work).
Chốt lại, bạn cần đầu tư thời gian học thật kỹ:
và kể cả các CMS thông dụng để hiểu cấu trúc giao diện:
Đồng thời khi bạn đã vững rồi, hãy học các công cụ/thư viện như:
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à:
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 Thaiaiti Web 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.
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 Deveoper, 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 nghà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.
Lời kết
Kết thúc bài này, Thaiaiti Web 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.
0 nhận xét:
Đăng nhận xét