Khái quát về BE Developer:
Lập trình viên Backend hay Backend Developer là người đảm nhiệm các hoạt động phía sau hậu trường của một trang web. Công việc của Backend Developer là chịu trách nhiệm xây dựng mã và ngôn ngữ chạy phía sau hậu trường trên trang chủ web. Các mã mà Backend Developer tạo ra sẽ hỗ trợ giao tiếp giữa cơ sở dữ liệu và trình duyệt thông qua các hoạt động như lưu trữ dữ liệu, đọc dữ liệu, cập nhật hay xóa dữ liệu ra khỏi cơ sở dữ liệu.
Một trang web hoạt động tốt và hiệu quả cần có sự kết hợp chặt chẽ giữa Backend Developer và Frontend Developer. Backend Developer có vai trò tạo ra logic để ứng dụng các hoạt động của web ra bên ngoài. Quá trình này sẽ được thực hiện thông qua ngôn ngữ kịch bản từ phía máy chủ như là Ruby hoặc PHP.
Ngoài ra, Backend Developer còn chịu trách nhiệm tối ưu hóa tốc độ và hiệu quả của các ứng dụng.
Framework hay sử dụng:
- NestJs
- PHP: Laravel
- Java: Spring boot
- Golang: Gin
- Python: Flask
Note:
- Để có thể trở thành Senior cần đọc và nắm rõ hết docs của các framework trên.
- Ngoài ra có thể xem thêm qua các video trên youtube.
Công cụ thường sử dụng:
- IDE:
- Các công cụ hỗ trợ:
- Công cụ tin học cơ bản:
- Word
- Excel
- Diagram:
Các quy trình làm việc trong dự án:
- Phân tích hệ thống
- Hiểu rõ database
- Hiểu rõ tính năng
- Hiểu rõ luồng hoạt động của các tính năng
- Hiểu rõ luồng hoạt động của dữ liệu
Ví dụ về quy trình làm việc của BE trong dự án:
Hệ thống LMS quản lý học tập:
- Phân tích hệ thống cần những tính năng gì:
- Tính năng quản lý học sinh.
- Tính năng quản lý sinh viên.
- Tính năng quản lý khóa học.
- Tính năng quản lý kết quả thi.
- Hệ thống tích hợp Stripe.
- Hệ thống sử dụng Postgres.
- Hệ thống sử dụng Redis.
- Hiểu rõ database:
- Bảng học sinh là gì?
- Bảng sinh viên là gì?
- Hiểu rõ tính năng:
- Tính năng quản lý khóa học cần những tính năng phụ trợ là tính năng upload file, tính năng quản lý bài học, tính năng phân quyền, tính năng quản lý giáo viên, tính năng quản lý học sinh.
- Hiểu rõ luồng hoạt động của các tính năng:
- Tính năng quản lý khóa học sẽ đi từ trạng thái Pending, khi giảng viên tạo khóa học. Sau khi upload đầy đủ tài liệu và setup bài học đầy đủ, trạng thái chuyển sang Prepare. Sau khi mở khóa học trạng thái chuyển sang Registering. Trong trạng thái Registering thì học sinh được đăng ký môn học. Đến ngày đóng, kết thúc đăng ký, trạng thái chuyển sang xxx.
- Hiểu rõ luồng dữ liệu:
- Tính năng quản lý khóa học sẽ được lưu trong bảng course. Khi upload và setup đầy đủ thông tin, sẽ lưu thông tin vào course_detail. Thông tin trong bảng course và course_detail sẽ lưu redis ở key {course:ID}. Khi học sinh đăng ký thì lưu bảng course_student_register.