Các bước chuẩn bị, hoàn thiện, trau dồi kỹ năng để trở thành Backend Developer. Kinh nghiệm thực tế được chia sẻ trên một diễn đàn công nghệ.
TOPCV xin phép được chia sẻ nguyên văn bài viết tới với các bạn độc giả. Mong rằng với những bạn trẻ đam mê công nghệ, đây sẽ là những kinh nghiệm hữu ích.
Trở thành Developer là mục tiêu của nhiều người. Thu nhập cao, môi trường hiện đại là điều nhiều bạn trẻ hướng tới. Lựa chọn hướng đi là Deverloper, bạn có thể sẽ trở thành người phát triển web.
>>> Xem thêm 150+ vị trí lập trình viên đang tuyển dụng
Phát triển web ngày nay đã hoàn toàn khác biệt so với những năm về trước. Có rất nhiều thứ khác nhau có thể dễ dàng cản trở bất kỳ ai tham gia vào quá trình phát triển web. Đó là một trong những lý do khiến chúng tôi quyết định vẽ ra một bức tranh tổng quan. Cụ thể hơn là về lộ trình để trở thành một lập trình viên backend. Để những ai đã và đang mong muốn trở thành lập trình viên backend có được định hướng phát triển sau này.
Trước khi bắt đầu, các bạn phải kiến thức nhất định về HTML/CSS. Mặc dù trong lộ trình không đề cập đến nhưng mình khuyên các bạn nên ít nhất là hiểu và viết được HTML/CSS cơ bản.
BƯỚC 1: HỌC MỘT NGÔN NGỮ LẬP TRÌNH
Ngày nay có rất nhiều ngôn ngữ để developer lựa chọn. Đối với người mới bắt đầu, mình khuyên các bạn nên chọn một ngôn ngữ kịch bản (scripting languages) để học. Lý do bởi vì chúng được sử dụng khá nhiều cũng như dễ học. Nếu bạn có hiểu biết về frontend. Bạn nên lựa chọn Node.js để dễ làm quen cũng như khá nhiều lựa chọn công việc sau này.
Nếu bạn đã và đang là một lập trình backend và đã hiểu một vài ngôn ngữ kịch bản. Mình khuyên các bạn chọn một ngôn ngữ khác ngoài ngôn ngữ kịch bản như ngôn ngữ “Functional” hoặc “Multiparadigm”. Ví dụ: Nếu bạn đã và đang sử dụng PHP hoặc Node.js. Đừng học thêm Python hay Ruby mà hãy thử Erlang hoặc Golang. Điều đó chắc chắn sẽ giúp bạn mở mang cũng như phát triển kiến thức của bản thân.
BƯỚC 2: THỰC HÀNH NHỮNG THỨ BẠN HỌC
Không có cách nào tốt để học bằng cách thực hành. Thứ nhất bạn chọn ngôn ngữ và hiểu được các khái niệm cơ bản, và mang chúng ra sử dụng. Cố gắng tạo càng nhiều ứng dụng nhỏ càng tốt.
BƯỚC 3: TÌM HIỂU VỀ PACKAGE MANAGER
Khi bạn đã hiểu cơ bản về ngôn ngữ cũng như tạo được một số ứng dụng cơ bản. Chúng ta bắt đầu học về package manager cho ngôn ngữ bạn lựa chọn. Package manager giúp bạn mở rộng ứng dụng bằng các thư viện bên ngoài.
Nếu bạn chọn PHP bạn nên học về Composer, Node.js là NPM hoặc Yarn, Python là Pip và Ruby sử dụng Gems. Bất kể bạn lựa chọn là gì, hãy tiếp tục tìm hiểu và học cách sử dụng chúng.
BƯỚC 4: TIÊU CHUẨN VÀ CÁCH THỰC HÀNH TỐT NHẤT
Mỗi ngôn ngữ có một tiêu chuẩn và các thực hành riêng để làm mọi thứ. Nghiên cứu về những tiêu chuẩn theo ngôn ngữ bạn chọn. Ví dụ PHP có tiêu chuẩn PHP-FIG và PSRs, Node.js cũng có nhiều quy tắc cộng đồng và tương tự với các ngôn ngữ khác.
BƯỚC 5: BẢO MẬT
Muốn trở thành Backend developer bạn phải đảm bảo rằng mình đã đọc về các phương pháp tối ưu nhất để đảm bảo an toàn cho ứng dụng của bạn. Đọc các hướng dẫn của Open Web Application Security Project (OWASP) để hiểu về những vấn đề bảo mật khác nhau. Và làm thế nào để tránh chúng với ngôn ngữ bạn chọn.
BƯỚC 6: THỰC HÀNH
Bây giờ khi bạn đã có những hiểu biết nhất định về ngôn ngữ. Các tiêu chuẩn và cách thực hành các tiêu chuẩn. Bảo mật và cách sử dụng package manger. Bây giờ hãy phát triển thêm bằng cách tự tao một package và công khai cho người khác sử dụng.
Ví dụ: Nếu bạn sử dụng PHP bạn nên phát hành Packagist. Nếu bạn sử dụng Node.js bạn có thể phát hành trên Npm …
Nếu bạn đã hoàn thành những điều trên. Hãy tìm kiếm một số projects trên Github, mở một số pull requests trong các projects đó:
§ Refactor và implement lại code là một trong những cách tốt nhất để bạn học.
§ Xem xét những sự cố có thể xảy ra và giải quyết chúng.
§ Bổ sung thêm bất kỳ tính năng nào có thể.
BƯỚC 7: HỌC VỀ KIỂM THỬ
Có rất nhiều loại kiểm thử để bạn có thể test lại ứng dụng của mình. Hiểu về những loại kiểm thử này và mục đích của chúng. Nhưng trước tiên, hãy học để biết sử dụng Unit Tests và Integration tests cho ứng dụng của bạn. Đồng thời hiểu về các thuật ngữ trong kiểm thử như: mocks, stubs…
BƯỚC 8: THỰC HÀNH KIỂM THỬ
Thực hành về kiểm thử bằng cách viết unint test cho các ứng dụng mà bạn đã hoàn thiện lúc trước. Đặc biệt là những gì bạn làm ở bước 6.
Đồng thời tính toán và tìm hiểu mức độ phù hợp cho các test mà bạn đã viết.
BƯỚC 9: HỌC VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ
Đối với developer nói chung, hệ quản trị dữ liệu luôn quan trọng. Học cách xử lý dữ liệu của bạn trong cơ sở dữ liệu. Trước khi lựa chọn một CSDL và học chúng bạn nên tìm hiểu về các thuật ngữ cơ bản trong CSDL như: khóa, chỉ mục, chuẩn hóa CSDL…
Có nhiều lựa chọn để bắt đầu. Tuy nhiên khi bạn đã quen thuộc với một CSDL thì những loại còn lại sẽ không khó để làm quen. Những CSDL bạn nên học là MySQL, MariaDB và PostgreSQL. Hãy bắt đầu bằng MySQL.
BƯỚC 10: THỰC HÀNH
Đây là thời điểm bạn mang tất cả những gì backend developer học ra sử dụng.
Tạo một ứng dụng đơn giản bằng cách sử dụng những thứ bạn đã học. Lựa chọn một ý tưởng bất kỳ, có thể tạo một blog đơn giản và triển khai các tính năng như sau:
§ Tài khoản người dùng – Đăng ký và đăng nhập
§ Người dùng đã đăng nhập có thể tạo bài đăng.
§ Người dùng có thể xem toàn bộ bài đăng mà người dùng đó tạo.
§ Đồng thời người dùng có thể xóa bài đăng của họ.
§ Đảm bảo rằng người dùng chỉ có thể nhìn thấy bài đăng của mình và không thể nhìn thấy bài đăng của người khác.
§ Viêt unit/integration test cho ứng dụng.
§ Bạn có thể áp dụng chỉ mục cho truy vấn. Đảm bảo rằng chỉ mục đó được sử dụng.
BƯỚC 11: HỌC MỘT FRAMEWORK
Tùy thuộc vào dự án cũng như ngôn ngữ mà developer lựa chọn. Bạn có thể cần hoặc không cần sử dụng framework. Mỗi ngôn ngữ có nhiều lựa chọn khác nhau. Vì vậy hãy cân nhắc và lựa chọn một framework thích hợp cho dự án của bạn.
Nếu bạn sử dụng PHP, mình khuyên bạn nên bắt đầu với Laravel hoặc Symfony và với các micro-framework như Lumen hoặc Slim. Nếu bạn lựa chọn Node.js, có nhiều lựa chọn khác nhau nhưng tiêu biểu là Express.js.
BƯỚC 12: THỰC HÀNH TIẾP
Đối với bước này, chuyển đổi ứng dụng bạn tạo trong bước 10 bằng cách sử dụng framework bạn chọn.
…(Còn tiếp)…