Trong bài trước đó, mình đã cung cấp cho bạn Lộ trình hoàn chỉnh để trở thành Front-End Developer năm 2020. Và giữ đúng lời hứa, bài tiếp theo đây sẽ là về vị trí Back-End với những lời khuyên, gợi ý hữu ích nhất, giúp các bạn có một con đường rõ ràng, thuận lợi nhất để tiến đến vị trí Back-End Dev đầy thử thách.*Lưu ý: Trước khi bắt đầu, lộ trình này đòi hỏi bạn phải có những hiểu biết tối thiểu và cách sử dụng HTML/CSS cơ bản.
Mục lục
Có vô số những lựa chọn khi bạn muốn học một ngôn ngữ lập trình. Các loại ngôn ngữ được chia ra để bạn dễ dàng quyết định hơn. Với những người mới bắt đầu, bạn nên chọn ngôn ngữ Scripting bởi tính phổ biến của chúng sẽ giúp bạn có thể học hỏi và tiến bộ nhanh hơn. Nếu bạn có kiến thức về Front-End thì Node.js sẽ là một lựa chọn không tồi.
Nếu bạn đang làm về Back-end rồi và đã biết 1 số ngôn ngữ Scripting, bạn không nên chọn học thêm 1 ngôn ngữ cùng nhóm nữa mà nên học thêm 1 ngôn ngữ thuộc nhóm Functional hoặc Multiparadigm để mở rộng hiểu biết và giúp bạn có cái nhìn rộng hơn. Ví dụ, nếu đã biết về PHP hay Node.js, đừng học Python hay Ruby nữa mà hãy học Erlang, Golang…
Một số dự án nhỏ mà bạn có thể dùng để luyện tập:
Khi bạn đã hiểu những kiến thức cơ bản của một ngôn ngữ và có thể tạo ra 1 số ứng dụng, hãy tìm hiểu cách sử dụng PM cho ngôn ngữ đó. PM giúp bạn sử dụng các thư viện bên ngoài trong các ứng dụng và phân phối thư viện của bạn để người khác có thể sử dụng.
Nếu bạn chọn PHP, bạn cần học thêm về Composer, Node.Js có NPM hoặc Yarrn, Python có Pip còn Ruby thì là RubyGems. Học cách sử dụng PM là yêu cầu tối quan trọng trong đối với vị trí Back-End Developer.
Đảm bảo rằng bạn đã học và nắm chắc các kiến thức về bảo mật. Hướng dẫn OWASP là một trong những tài liệu bạn nên đọc thật kĩ để hiểu rõ các vấn đề bảo mật khác nhau và tránh mắc phải khi sử dụng ngôn ngữ lập trình mà bạn đã chọn.
Sau khi đã có những kiến thức cơ bản từ 2 bước trên, bạn cần tích cực tập luyện, bám thật sát theo những tiêu chuẩn đã đề ra. Nếu học PHP, bạn cần chạy trên Packagist; hoặc Npm registry nếu bạn chọn Node.Js…
Bạn có thể tìm kiếm 1 số project trên Gitbub và mở một số yêu cầu trong dự án, ví dụ như:
Có rất nhiều kiểu test khách nhau tùy thuộc vào mục đích của người dùng. Tuy nhiên, bạn nên học cách viết Unit test và Interdration test trong ứng dụng của mình, cũng như hiểu về các thuật ngữ test khác nhau như mocks, stubs…
Đối với phần này, bạn có thể luyện tập bằng cách viết unit test cho các task đã làm trước đó, đồng thời tìm hiểu và tính toán phạm vi cover cho các test đã viết.
Để luyện tập, bạn có thể tạo ra 1 số ứng dụng blog đơn giản như:
Phụ thuộc vào ngôn ngữ và dự án mà bạn chọn, bạn có thể cần hoặc không cần đến framework. Mỗi ngôn ngữ có những lựa chọn khác nhau, nên bạn cần xem xét ngôn ngữ của mình để chọn framework cho phù hợp.
Đối với PHP, bạn nên chọn Laravel hoặc Symfony, còn với micro-framework thì nên chọn Lumen hoặc Slim. Nếu bạn học Node.js, Express.js là một trong những lựa chọn tốt nhất.
Để luyện tập, bạn có thể chuyển đổi các chức năng/ứng dụng đã làm ở trên và sử dụng các framework đã học. Luôn chắc rằng có test.
Đây là 1 bước rất dài mà với mỗi nội dung, bạn hoàn toàn có thể tách ra thành 1 phần quan trọng để học và nghiên cứu. Nhưng để trình bày cho đẹp, mình sẽ gom lại thành 1 bước và trình bày dưới đây.
Một khi bạn đã bắt đầu học hỏi và khám phá, bạn chắc chắn sẽ bắt gặp những điều hoàn toàn mới lạ chẳng hề có trong Lộ trình này. Nhưng đừng lo, hãy luôn giữ một tinh thần cởi mở và luôn khao khát học hỏi những điều mới mẻ.
Và hãy nhớ rằng, chìa khóa của sự thành công chính là luyện tập không ngừng. Có thể hành trình đó sẽ càng ngày càng đáng sợ, bạn sẽ cảm thấy mình chẳng thể nắm bắt được điều gì, nhưng cũng đừng hoảng sợ, điều đó là bình thường và ai đi theo con đường này rồi cũng sẽ trải qua. Kiên trì học hỏi và rèn luyện, rồi bạn sẽ thấy tốt hơn.
Cảm ơn các bạn thật nhiều vì đã kéo đến tận đây. Back-End Developer quả là một hành trình rất dài và chông gai. Có quá nhiều thứ phải học, và kiến thức thì luôn thay đổi mỗi ngày.
Hi vọng bài viết này sẽ cung cấp cho các bạn được một chút định hướng cho lộ trình tương lai của mình, để con đường chinh phục Back-End của bạn sẽ nhẹ nhàng đi đôi chút. Và đừng quên rằng, Practice Makes Perfect! Luôn giữ vững quyết tâm và luyện tập không ngừng nhé!
Nếu có thắc mắc hay góp ý gì, đừng ngại comment. Cảm ơn các bạn vì đã đọc!
Tác giả: Minh Tuấn