Nhiều bạn khi mới bắt đầu tìm hiểu và muốn học lập trình web sẽ thường đặt ra câu hỏi: Làm web là gì? Web frontend và Backend là như thế nào mà lại tách biệt như thế? Sau này học xong sẽ làm gì? Và rồi chưa biết bản thân phù hợp với mảng nào, nên lựa chọn như thế nào để đúng với năng lực bản thân. Thì bạn cùng xem bài viết này nhé:
Vậy tại sao cần phân biệt giữa Frontend hay Backend, bởi vì lựa chọn khác nhau thì sẽ tới việc những thứ CẦN HỌC nó sẽ khác nhau, do đó chúng ta sẽ quyết định sẽ cần học và bổ sung kiến thức nào để có thể đi làm được. Để trả lời cho câu hỏi ta cần chọn học gì thì phải hiểu rõ về nó đã nhé! Gẹt gô!
Front End Developer là ai?
Front End Developer là người tập trung phát triển phía Client Side, nói một cách đơn giản dễ hiểu là tập trung vào mảng phát triển xây dựng giao diện và trải nghiệm cho người dùng. Để dễ hình dung thì ta vào trang facebook thần thánh, nếu ta là Front End Developer cho trang này thì ta là người xác định: logo đặt ở đâu, màu chủ đạo là màu gì, font chữ to hay nhỏ, ảnh này để kích cỡ thế nào, trái tim bay lên ra sao, nút Like đặt ở đâu….Tức là, người phụ trách phát triển HIỂN THỊ và TRẢI NGHIỆM người dùng cho ứng dụng web. Bạn chính là người quyết định CÁI NHÌN ĐẦU TIÊN của người dùng về trang web. Web đẹp hay xấu, tinh tế hay thô lỗ là do bạn. Vì thế bạn cần có khả năng look & feel và trình thiết kế tuyệt đỉnh.
Kỹ năng Front End
Các ngôn ngữ để phát triển Front End bao gồm 3 ngôn ngữ chủ đạo đó là: HTML, CSS và Javascript. Tuy nhiên, để code nhanh gọn lẹ thì ta có thể sử dụng thêm các framework hay thư viện khác như:
Tuy nhiên, đó chỉ là vài cái ngôn ngữ ví dụ. Nhưng thực tế mà nói, để THIẾT KẾ được một website đẹp thì DEV cần nhiều hơn thế. DEV cần biết sử dụng font chữ cho chuẩn (typography), đưa ra bố cục hợp lý, tạo ra các trải nghiệm tinh tế và có lý thuyết cơ bản về PHỐI MẦU. Nói chung, để tạo ra 1 website đẹp không hề đơn giản, và cần nhiều kinh nghiệm cũng như trải nghiệm. Anyway, thì bạn nên bắt đầu từ HTML, CSS, Javascript, sau đó học thêm những cái liệt kê như Jquery, Bootstrap và mở rộng tầm nhìn với những từ khoá typography hay color rule.
Front End Developer là một nghề rất kiếm ra tiền, nhưng với điều kiện bạn phải làm tốt. Tốt tới đâu thì tiền về tới đó. Nếu bạn thực sự chỉ đam mê và chỉ thích thú với việc tạo ra các website đẹp, thì bạn hãy chăm chút cho nghề nghiệp của mình nhé và có thể học thêm cả photoshop nữa.
Back End Developer là ai?
Nếu Front End Developer có quyền lực kiến tạo nên vẻ đẹp của các trang web, thì Back End developer là người xử lý mọi logic nghiệp vụ phức tạp ở ẩn ở phía sau, giúp cho hệ thống hoạt động trơn tru. Dữ liệu của người dùng, thuật toán phân tích … đều nằm ở back-end. Lấy ví dụ: trên trang face, khi bạn post 1 status, để status ấy được lưu trữ thì cần backend, để status ấy hiển thị cho bạn bè của bạn xem thì cũng cần backend, để status ấy lưu những react (love, phẫn nộ, woo…haha) cũng cần backend …
Back End Developer là người quyết định cách thức website được vận hành. Người vô cùng quan trọng.
Kỹ năng Back End
Để trở thành Back end developer thì bạn cần biết ngôn ngữ phía Server cũng như biết thao tác với cơ sở dữ liệu:
Kiến thức phần back-end rất nhiều và phức tạp, do đó một back-end developer chỉ nên tập trung vào 2-3 ngôn ngữ chính, đừng ráng ôm hết kẻo “tấu hỏa nhập ma”. Code phần back-end thường rất nhiều và “khủng”, do đó cần có cấu trúc tốt, dễ cải tiến và mở rộng (bằng cách áp dụng SOLID). Back-end developer có thể trau dồi kiến thức để leo lên vị trí System Analyst hoặc Software Architecture.
Full Stack Developer là ai?
Full Stack là làm đủ cả Front End lẫn Back End Lập trình viên vừa có tư duy logic lại có óc thẩm mĩ tinh tế. Vừa code server giỏi lại biết linh hoạt biến hoá với css.
Các lập trình viên full stack làm việc giống như các lập trình viên back-end ở phía máy chủ của lập trình web, nhưng họ có thể cũng thành thạo các ngôn ngữ front-end để điều khiển nội dung trông như thế nào ở phía giao diện của trang web. Họ là những người đa năng.
Lập trình viên full stack là những người đa năng.
Kỹ năng Full Stack
Để trở thành 1 lập trình viên full stack thì bạn cần có những skill sau:
Bất kể là sử dụng công cụ xác định nào, tùy thuộc vào dự án và khách hàng, các lập trình viên full stack nên có kiến thức ở mọi cấp độ về cách web hoạt động: cài đặt và cấu hình các máy chủ Linux, viết các API server-side, nhảy vào phần JavaScript client-side của một ứng dụng, và cũng cần có “con mắt thẩm mỹ” với CSS.
Sử dụng những công cụ này, các lập trình viên full stack cần có khả năng ngay lập tức xác định trách nhiệm của client-side hay server-side, và trình bày rõ ràng về mặt ưu nhược điểm của các giải pháp khác nhau.
Phát triển web có rất nhiều mặt khác nhau. Nhưng không quan trọng về kiểu phát triển nào mà bạn đang theo đuổi, các kỹ năng mềm như chú ý đến chi tiết, khả năng học hỏi nhanh chóng, khả năng giải quyết vấn đề một cách hiệu quả, và khả năng giao tiếp sẽ luôn giúp bổ trợ rất nhiều cho những kỹ năng cứng nêu trên.
Thật hạnh phúc khi chưa bao giờ có thời điểm nào tốt hơn để theo đuổi nghề phát triển web như lúc này. Số lượng việc làm của các lập trình viên web được dự đoán sẽ tăng 20% trong giai đoạn 10 năm từ 2012-2022, nhanh hơn tỉ lệ trung bình của tất cả các ngành nghề khác.