Sau 1 series dài giành cho các bạn intermediate ([kiến trúc hệ thống trên Laravel](https://viblo.asia/trthanhbk/posts/Qbq5Qr0XKD8)), giờ mình sẽ chém gió cùng các bạn beginner / fresher 1 chút nhé. Đây là cách nhìn và suy nghĩ của mình, có thể đúng, có thể sai nên các bạn cứ vào comment nhiệt tình nhá :). Bạn là 1 fresher, bạn còn lớ nga lớ ngớ trong việc lập trình, vậy bạn phải học cái gì cho lên tay nghề. Design Pattern ư, never. Code Structure ư, càng không. Interface, bạn sẽ chỉ thấy phiền toái thôi. Bạn đã từng đọc series của mình, nhưng bạn là fresher, mình cũng khuyên bạn đừng làm theo làm gì cả. Khi bạn chưa hiểu rõ “tại sao” mà bạn làm theo thì bạn sẽ chỉ thấy phiền toái thôi. Vậy bạn cần học cái gì. # 1. Tất nhiên là phải học ngôn ngữ và framework bạn định theo. Nhớ là chỉ học 1 ngôn ngữ / 1 framework thôi nhé, học gì cũng được nhưng bạn phải xác định sau 6 tháng – 1 năm phải sống chết với nó. Đừng có mà nhảy ngôn ngữ, framework linh tinh, chỉ làm hại bạn mà thôi. Vậy bạn học ngôn ngữ lập trình, framework như thế nào. Trước hết bạn cần thu thập thông tin cái mà bạn chọn cần phải học những công nghệ liên quan nào –> Ví dụ bạn học Laravel làm web thì bạn cần phải biết những gì. Tất nhiên là những cái basic nhất để làm được 1 website rồi (Html, js, css, jquery, php, laravel) Thứ 2 bạn cần phải thu thập thông tin tiến trình bạn cần học như thế nào? Cái này bạn phải hỏi mấy anh senior ở công ty ấy. Bạn không có kinh nghiệm, bạn đừng vớ lấy cái gì cũng học, chỉ tổ tốn thời gian thôi. Nhớ, quan trọng lắm đấy, **phải hỏi nhé**. Và cuối cùng, tóm lấy ông senior nào giỏi giỏi mà xin làm đệ, rồi theo chân mấy ông ấy. Cái này cũng quan trọng này, khi bạn chưa biết gì, bạn phải đi theo những người vững hơn mình để học lấy kiến thức. Nhớ mục tiêu hiện tại của mình là nâng cao kỹ năng, chứ không phải benefit. Nếu công ty có benefit tốt mà có mỗi trường tốt cho bạn nâng cao kỹ năng thì tuyệt vời rồi. Nhưng nếu phải lựa chọn giữa benefit và môi trường đào tạo tốt thì mình đoán các bạn cũng biết lời khuyên của mình rồi đấy ^^. Quá trình học sẽ diễn ra từ 2 tuần tới 1 tháng –> đây là giành cho những bạn fresher chưa biết gì nhé. Trong thời gian training này, bạn sẽ cần quan tâm tới 3 kỹ năng khác: * Kỹ năng search solution trên google * Kỹ năng hỏi / giao tiếp * Kỹ năng sử dụng editor / ide. Nhớ trình tự luôn phải là: tự ngâm cứu -> tự tìm câu trả lời -> nếu không tìm ra trong 1 khoảng thời gian nào đó thì phải hỏi -> rồi tự tay gõ lại toàn bộ code và chạy (tuyệt đối không copy-paste ở thời điểm này ). # 2. Ok, có được kiến thức basic rồi, giờ vào làm nào. Khi bắt tay vào làm project (của công ty, hoặc project training của bạn) thì ưu tiên hàng đầu ở thời điểm này không phải làm tối ưu mà là sự ổn định. Mình vẫn khuyên các bạn fresher mới vào cần nắm được 2 vấn đề: * DRY: don’t repeat yourself –> tức là có cái gì giống nhau thì vứt vào 1 chỗ, cái gì không giống nhau thì phải tách ra –> cái này phải nằm lòng như là câu thần chú: DRY, DRY, DRY … * Test: case đúng chạy là đương nhiên, nhưng các bạn cần có khái niệm phải test những case sai ==> Để thực hiện và thu thập thêm kinh nghiệm về 2 vấn đề trên thì các bạn lại phải hỏi sư phụ của bạn ở thời điểm này: Em vứt các hàm chung vào thế này được chưa? Em test các case như thế này rồi, còn có thể có case nào gây lỗi không? … Các bạn viết code lộn nhộn -> ok, không sao, sẽ chỉnh dần, nhưng nếu áp dụng được DRY thì sẽ ko lộn nhộn lắm đâu Các bạn không làm được interface, design pattern, code structure –> nói thật, làm sao các bạn có thể làm được, phải có kinh nghiệm đau thương rồi mới rút ra bài học được. Cuối cùng các bạn có được cái gì? Điều basic nhất để làm hệ thống ổn định ^^. Và từ cái nền này, nếu bạn nắm vững thì chỉ cần 3 tháng, 6 tháng là các bạn có thể bắt tay vào học những cái advance hơn được rồi :). # 3. Kết luận Chém gió tí cho vui. Nhưng mình nghĩ 1 điều cực quan trọng là trong thời điểm ban đầu, các bạn phải đi theo 1 sư phụ tốt, một môi trường hỗ trợ training cho bạn tốt thì các bạn mới tiến bộ nhanh được. Mà về môi trường thì công ty mình đảm bảo về cái khoản môi trường. Mà bên mình vẫn đang tuyển cả junior lẫn senior nhé. Các bạn quan tâm thì có thể xem ở link sau: [https://www.facebook.com/portalbeanzvn](https://www.facebook.com/portalbeanzvn) Sorry vì đã bắt các bạn đọc 1 bài quảng cáo. Xin cảm ơn cả nhà nhiều ^^.