[P1: Front-end] Mình đã trở thành Web developer như thế nào?

1misachuyencoder

Phần 1: FRONT-END

Chuyện mình từ một sinh viên “cùi bắp” trở thành một web developer (vẫn cùi bắp nhưng đỡ hơn) như thế nào, hi vọng giúp ích phần nào cho các anh em đang loay hoay học lập trình web mà chưa biết mình cần phải làm gì.

Bắt đầu từ HTML, CSS

Đầu tiên, bắt đầu từ những thứ cơ bản nhất: HTML, CSS. Đây là điều sơ khai mà bất kỳ web dev nào đều phải học và các dev thường dễ bỏ quên nhất. Tưởng dễ à, nhưng không đâu.

Việc set position, display, hay responsive (thiết kế phù hợp với nhiều kích cỡ màn hình) đủ khiến mình vò đầu bứt tai vài ngày đấy. Điều khó nhằn nhất khi làm việc với HTML/CSS đó là rất khó để debug như các ngôn ngữ lập trình. Tất cả có thể làm là set + xem thử mò từng bước một.

Bạn nào có kinh nghiệm gì về debug HTML+CSS thì cùng comment chia sẻ nha!

Hồi đấy mình học cơ bản trên Freecodecamp, đây là một trong những khóa học free tốt nhất về web, dạy rất chi tiết và cực chắc những kiến thức cơ bản, học xong nếu hoàn thành project thì còn có cả Certificate (giấy chứng nhận) nữa. Ngoài ra thì có các khóa của W3School, Khan Academy hay các khóa trên Udemy nữa. Chất lượng cũng ổn, tùy theo các bạn thấy mình hợp với phong cách dạy của trang nào.

Điều quan trọng nữa là bạn phải cực kỳ chú trọng vào phần đặt tên class/id và bố cục file nhé. Đây là yếu tố sống còn khi sau này đi làm doanh nghiệp đấy.

Tiếp theo là javascript

Phần này thì thú vị hơn rồi đấy. Khi này chúng ta sẽ được học cách làm cho các phần tử trong trang web hành xử như thể nào, ẩn hiện, hiệu ứng, xử lý với sự kiện các thứ. Mình vẫn bám theo khóa freecodecamp, học những điều cơ bản xong sau đấy học thêm các thư viện, framework như Jquery, Bootstrap, AngularJS, ReachJS, VueJS,… mình liệt kê ví dụ thế chứ bạn nên học 1-2 cái thôi cho tập trung, cá nhân mình chỉ học đi sâu mỗi VueJS thôi, còn tùy theo nhu cầu của các bạn mà tự lựa chọn cho mình.

Đừng nhảy vào học các thư viện, framework ngay, tuy rằng việc làm việc với chúng sẽ khiến cho mình nhàn hơn rất nhiều, cảm thấy mình nguy hiểm và “pro” hơn nhưng nó sẽ biến mình code máy móc và không hiểu được bản chất vấn đề. Khi gặp lỗi hay vấn đề khó thì sẽ loay hoay không biết giải quyết như nào.

Ngoài ra thói quen import nhiều thư viện vào sẽ khiến trang web trở nên nặng nề hơn rất nhiều. Mình gặp rất nhiều trường hợp import cả 1 thư viện vào chỉ để sử dụng vài hàm của nó, trong khi hoàn toàn có thể xử lý nhẹ nhàng bằng một vài hàm JS tự viết.

Ngoài ra nếu muốn tìm hiểu sâu hơn, các bạn có thể tìm đọc bộ sách You don’t know JS – đây là bộ sách rất nổi tiếng, viết cực kỳ chi tiết và cặn kẽ, tuy nhiên cách viết rất chuyên sâu nên không dành cho người mới nha.

Ngoài ra bí kíp cực kỳ quan trọng đó là thực hành, thực hành thật nhiều, vẽ nhiều màn hình với nhiều yêu cầu phức tạp sẽ khiến tay nghề mình lên rất nhanh. Mình cực kỳ ghét vẽ giao diện, đến bây giờ vẫn thế, thành ra mình chọn những bài thực hành mà mình cảm thấy hứng thú với nó, chứ ngồi vẽ form đăng nhập hay danh sách thì dễ chán.

Ngoài ra thì các bạn có thể làm bất kỳ thứ gì mình thích: blog cá nhân, web tỏ tình tặng crush, web bán hàng để tự bán mấy thứ linh tinh,… miễn là mình thích nó thì mới có động lực để làm và không nhanh chán.

Hôm trước cũng mới nhìn thấy mấy trang có các challenge (thử thách) về front-end cũng hay hay, có cả lời giải của nhiều dev khác ở phía dưới, anh em có thể vào luyện mấy bài này cũng được. https://codier.io/

Trên đây là con đường mà cá nhân mình đã đi, mỗi người có một sở thích khác nhau nên có thể nó sẽ hữu ích với bạn này, không hữu ích với bạn kia. Nếu các bạn thấy lộ trình này hợp và có ích thì hãy comment động viên mình cái nha ^^

#codercodon #chuyencoder