Đóng góp ý kiến và báo lỗi phiên bản mới tại đây

[Youth Confessions] Chia Sẻ Của Một Lập Trình Viên Về Nghề Làm Web

Trước khi chia sẻ, mình muốn kể cho các bạn nghe về cái quãng thời gian mình mới bập bẹ bước vô việc làm website vì biết đâu nó có ích cho bạn.

Thời điểm đó là khoảng năm 2004 – 2005, tức là khoảng 10 năm về trước. Lúc đó mình biết đến website qua những lần ra tiệm net bắn Half-Life, mình thấy ở mấy trang báo Tuổi Trẻ có những mẫu quảng cáo về khu vui chơi Đầm Sen và kèm địa chỉ website là damsenpark.com.vn. Mình truy cập vào thì thấy nhạc, hình ảnh rất bắt mắt mà với bản tính tò mò về những đồ điện tử của mình thì chợt lóe ra một câu hỏi trong đầu là “Tại sao người ta có thể viết chữ lên đây rồi cho mọi người vào internet đọc?”.

Và mình thử vào Google gõ các tìm kiếm kiểu “cách làm web” thì nó trả về khá ít kết quả có thể hiểu được, ngoại trừ qua các lần tìm đó mình có biết đến website hỗ trợ làm web đó là easyvn.com mà đến bây giờ nó vẫn còn đang hoạt động. Và mình bắt đầu từ đó, mình tập cách đăng ký và sử dụng các chức năng vô cùng đơn giản trong đó để làm một website chỉ đơn giản là ghi “Ngọc Thạch – Lớp 6/1 trường THCS Nguyễn Trãi” và mang lên lớp khoe là chính.

Thật sự mà nói cái thời đó, việc làm được website nghe có vẻ hơi xa vời chứ không phải phổ biến và dễ như bây giờ. Riêng với EasyVN, mình đã phải mất gần 2 năm vì vừa khó khăn trong việc phải ra tiệm net, vừa bắt đầu tự tìm hiểu về các thẻ HTML và nói thật là mình biết HTML phải 3, 4 năm mới đọc các chữ đầu tiên tại W3School. Nhưng phải nói, EasyVN đã giúp mình rất nhiều trong những ngày đầu tập làm web khi mà chẳng có một tài liệu hướng dẫn gì.

1 năm sau đó, mình có dịp được tiến lên một bước làm website mới đó là làm website bằng PHP & MySQL với mã nguồn Xtremedia đình đám một thời của Việt Nam để làm website nghe nhạc mà mình tìm hiểu chủ yếu là từ diễn đàn freecodevn.com (bây giờ là freecode.vn nhưng mà hình như đóng cửa lâu rồi) và qua mò mẫm Xtremedia từ việc mod lại các module, sửa lại giao diện mà mình mới hiểu hơn về ngôn ngữ web động như PHP và nó chính là bàn đạp để mình tìm hiểu về mã nguồn vBulletin, phpBB, IBP sau này. Nhưng quãng thời gian này, mình không có tiền mua host và tên miền, lúc đó mình hay dùng tên miền miễn phí dot.tk có hỗ trợ DNS và host miễn phí thì mình hay chờ chực các event ở các forum như vietvbb, hoiquantinhoc để xin host miễn phí.

Và bắt đầu từ năm 2008, mình đến với WordPress và từ lúc đó mình cũng có thể tự mua host và domain để làm website kỹ hơn cho đến tận bây giờ. Nhưng từ năm 2008 tới nay mới là quãng thời gian mình đầu tư cho việc học làm web nghiêm túc, mình bắt đầu học căn bản và nâng cao PHP, Javascript, jQuery, CSS, HTML5 và hiện tại vẫn đang cày PHP cùng với Python (chủ yếu là phục vụ trên server).
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ì.

- Bạn nên học cái gì?

Sau đây mình sẻ đưa ra hai hướng khi bạn đã “dấn thân” vào nghề làm website này để bạn có thể tự xác định cho mình hướng đi cũng như những việc phải làm với hướng đi đó.

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.

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ỹ:
 CSS
 HTML
 Javascript
 jQuery
và 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.

Ngoài ra, bạn cần phải trau dồi cho bản thân những kĩ năng chung để phối hợp các kiến thức chuyên ngành để tiện lợi cho việc phát triển bản thân như học tiếng Anh, học Linux, học thêm các kĩ năng mềm,…

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.

************************************************
Các bạn có thắc mắc có thể comment bên dưới, Youth sẽ tổng hợp và trả lời trong thời gian sớm nhất.

Cùng chờ đón bài "CHIA SẺ CỦA CỰU SINH VIÊN NGÂN HÀNG VỀ KINH NGHIÊM PHỎNG VẤN" lúc 9:30 ngày mai trên Youth Confessions nhé!!
---------------------------------------------------------
Giới trẻ Việt Nam thiếu định hướng nghề nghiệp, các anh chị hãy cùng YBOX giúp các bé một tay vì một thế hệ trẻ không lãng phí bao năm đại học bằng những chia sẻ rất thật của mình tại đây nhé: http://bit.ly/YboxShare2017 🍁


(*) Đăng kí làm CTV cho dự án Youth Confessions để có cơ hội đóng góp cho cộng đồng và tích lũy them những kiến thức định hướng cho nghề nghiệp tại đây: http://bit.ly/YouthCfs-Ybox



Đọc và chia sẻ nhiều hơn tại: https://www.facebook.com/YboxConfession/posts/550587885334185


----------------------------

Hợp Tác Cùng YBOX.VN Truyền Thông Miễn Phí - Trả Phí Theo Yêu Cầu tại http://bit.ly/YBOX-Partnership

319 lượt xem