Mình biết nhiều anh em muốn đốt cháy giai đoạn, học lướt CSS, rồi nhảy sang Bootstrap đến Javascript… Nhưng tin mình đi, anh em sẽ phải trả lại món nợ kĩ thuật này nhanh thôi.

Một số bạn còn đang học, chưa làm dự án thực tế thì mình sẽ giải thích ngắn gọn công việc Front-End ở công đa số công ty như sau.

Front-End thì làm những gì

Là người lập trình Front-End, bạn sẽ đảm nhiệm khâu giao diện người dùng sao cho phù hợp yêu cầu khách hàng nhất có thể. Đôi lúc công việc của bạn sẽ rơi vào các trường hợp như dưới đây.

    • Bạn gia nhập một team và team bạn không có designer, chỉ toàn là dev và tester. Lúc nhận dự án về, chính các dev Front-End là người tự phát thảo giao diện và tự code. Lúc này bạn phải có sự hiểu biết về UI/UX và cách sử dụng các phần mềm design web như Adobe XD, Sketch, Fegma, Photoshop…
    • Bạn nhận design từ designer và code lại bằng HTMLCSSJavascript. Đây là trường hợp phổ biến nhất.
    • Bạn nhận nguyên một template mà ai đó đã code sẵn bằng HTMLCSS, (hoặc có một chút JS). Nhiệm vụ của bạn là code lại, chuyển nó sang SPA (Single Page Application). Lúc này 90% thời bạn sẽ chỉ code với Javascript
Website đẹp

Để thiết kế một website đẹp bạn phải hiểu UI/UX

Như bạn thấy đó, lập trình Front-End không chỉ dừng lại ở việc bạn chỉ code CSS, hay Javascript mà đôi khi còn phải đảm nhận thiết kế design sản phẩm nữa (có thể không xuất sắc như một designer nhưng phải ở mức chấp nhận được).

CSS dễ mà, học kĩ làm gì, có Bootstrap lo rồi

Đây có thể là câu mình nghe và nhìn thấy nhiều nhất. Đúng là CSS khá dễ học, nhưng bạn sẽ khó thuần thục và master nó. Chưa hết, một số anh em chưa học xong CSS, chưa vững Responsive thì lại nhảy sang dùng Bootstrap như một cứu cánh cuộc đời bạn. Và nhận ra rằng dùng Bootstrap cũng chỉ giúp bạn ở một mức nào đó, có những design bạn không thể áp dụng CSS của Bootstrap được mà phải tự code. Thế là phải học lại CSS. Thật là mất thời gian!

Bootstrap

CSS nó không khó học, làm ơn hãy học cho thật chắc rồi học các CSS Framework khác như Bootstrap. Nếu bạn học vững CSS rồi, bạn sẽ thấy Bootstrap không phải là gì đó quá thần thánh, nó cũng chỉ là tập hợp các style phổ biến và chính bạn cũng có thể tự tạo cho mình một CSS Framework riêng cho mình.

Chưa hết, nếu không vững CSS bạn sẽ không biết custom lại style của Bootstrap hoặc không thể phát huy hết tiềm năng tối đa của Bootstrap mang lại. Nếu dự án cho phép dùng Bootstrap thì ổn nhưng nếu khách hàng không cho dùng thì bạn lại bế tắc và cảm thấy trống trỗng, khó chịu.

Mình không hề chê Bootstrap, Bootstrap là một framework tuyệt vời đối với mình và website hiện tại mình vẫn dùng bộ Grid và Utils CSS của Bootstrap. Nhưng hãy hiểu những gì bạn đang dùng vì như vậy thì nếu có chuyển sang các Framework khác như Bulma, Foundation hay các Atomic CSS như Tailwind thì bạn vẫn tự tin học một cách nhanh chóng.

Một chút bức xúc

Mình đã gặp nhiều người đã 1-2 năm kinh nghiệm Front-End, họ chủ yếu code Javascript Framework (Angular, React, Vue) là chính, vì ít thao tác CSS nên đôi lúc đụng đến responsive họ làm rất ẩu và bẩn. Chỉ cần gặp layout lạ lạ một chút thì code cực kì lâu. Trong khi nếu họ học vững kiến thức CSS nền tảng, họ sẽ làm điều này dễ dàng hơn rất nhiều.

Stress developer

Thật stress khi đọc một source code CSS như đống rơm

Một source code Javascript bẩn còn dễ nhìn hơn source code CSS bẩn. Vì nếu bạn code CSS lung tung, không có quy tắc, thì càng code, càng sửa sẽ càng làm cho CSS phình to và bẩn hơn mà thôi. Đến một lúc nào đó bạn sẽ không thể thêm chức năng vào được nữa vì source code CSS của bạn đã quá lộn xộn, lúc này chỉ còn cách đập đi, code lại CSS từ đầu mà thôi.

Tóm lại

Hãy học cho vững CSS nhé anh em. Nền móng vững thì mới xây được những tòa nhà cao. Hẹn gặp lại anh em ở bài kinh nghiệm học Front-End cực hiệu quả cho người mới.