Chào mọi người,
Mình là một người học trái ngành, mình bắt đầu học code với freecodecamp và đã làm Frontend được khoảng 4 năm nhưng thực sự là mình không thích làm FE lắm và đã nhiều lần tìm cách để chuyển quan backend cơ bằng việc xin các job fullstack nhưng mà đa phần là quay lại về backend. Hiện tại thì mình đang bế tắc ở việc mình cần những kỹ năng hay kiến thức gì để có thể chuyển qua backend đươc Hiện tại mình có thể dùng nodejs nhưng đa số khóa chỉ dừng đến việc viết API CRUD và cả job cũng đa phần vậy, mình có biết postgres cơ bản, cũng có tìm hiểu về OOP, Functional Programing, DRY, SOLID, Clean Code và tìm cách áp dụng chứ không dám tự nhận là thuần thục. Mình có tham khảo backendroad map trên https://roadmap.sh và mình không rõ là những phần nào là cần vì nói thật là để học hết lượng kiến thức đó mà ko join project thực tế nào thì độ khả thi hơi thấp
. Có anh em nào có kinh nghiệm có thể giải đáp giúp mình với.
Làm sao để chuyển từ làm frontend qua backend
đọc tới đọc lui không biết bạn muốn giúp gì?
lăn lộn 4 năm rồi mà còn hỏi những câu như này, không biết có phải là rảnh quá đi spam hay không
- khi đã có 4 năm kinh nghiệm, muốn move từ role này sang role kia thì cứ báo lead hay pm bảo là muốn move sang vị trí backend, không lẽ người ta ép phải làm frontend hoặc đuổi à
- khi đã có 4 năm kinh nghiệm, ít nhiều gì cũng hiểu biết những kiến thức chung chung kiểu kiến trúc, move sang vị trí khác không có gì khó
- roadmap ghi rất rõ ràng, mức độ recommend/important của mấy cái keywork
- ngành này chỉ có học và thực hành, kinh nghiệm mà xin được thì chắc không có ai là junior nữa đâu
Thanks bác có lẽ hôm nay hơi stress :)) cần bình tâm nghĩ lại vấn đề này
road map thì chọn 1 ngôn ngữ ví dụ như nodejs, php hoặc java thôi chứ roadmap backend chung chung thế học hết sao được.
Đọc chủ đề này mình lại thấy buồn cười và cứ phải nhai đi nhai lại cái câu: bạn (học) lái ô-tô chứ không phải bạn học lái Toyota, Kia, Vinfast,… blah blah.
Mình không hiểu sao một lập trình viên với “kinh nghiệm 4 năm” mà lại mơ hồ thế này!? Thế thì anh ta lâu nay đâu phải là lập trình (lái ô tô) mà là anh ta chỉ là lái Vios, đưa cho xe khác thì ngồi ghế khách ngồi?
Lập trình là gì? Là… nói một ngôn ngữ để yêu cầu máy tính làm một/ nhóm việc nào đó. Cứ thế mà người biết nói cứ thế nói thôi, một khi thành thạo một ngôn ngữ rồi thì chuyển sang một ngôn ngữ khác đâu phải là vấn đề gì quá to tát trừ khi quá bảo thủ không muốn thử dùng ngôn ngữ nào khác ngoài cái đang dùng.
Túm lại, vấn đề ở đây là khả năng tự học và/ hoặc tiếng Anh (đọc hiểu) còn thấp, lấn cấn, chứ không phải vấn đề front-end, back-end gì ráo trọi. Cần thành thật với bản thân như thế chứ đừng tự lừa dối để rồi không rõ mình đang đặt vấn đề chệch hướng, kéo người khác cũng trả lời bậy bạ theo.
Rất cám ơn mọi người đã bỏ thời gian vào bình luận Có lẽ hôm qua hơi stress công việc nên đã hỏi câu hỏi hơi mông lung. Và mình nghĩ là nên bắt đầu làm thay vì băn khoăn
Đừng quá lo lắng. Theo kinh nghiệm quan sát của mình thì FE dev chuyển sang BE không quá khó khăn nếu theo đường BE NodeJS. Học theo định hướng NodeJS -> Thuật toán, design pattern -> Database (RDBMS) -> Các công nghệ xung quanh xử lý BE như Message Queue, CRON job, Cloud Computing, NoSQL DB. Sau này bạn có chuyển sang làm các công nghệ khác như Java (Spring), C# (ASP dotNET) vẫn không vấn đề, chỉ cần học ngôn ngữ và biết cách đọc docs, tìm tài liệu là được
Trong roadmap.sh, các ô màu vàng (là các topic) ở vị trí càng gần root thì càng cơ bản/ứng dụng rộng rãi, càng xa root thì topic đó càng advance/ít ứng dụng hơn. Ở mỗi topic, cậu có thể học các sub-topic personal recommend của tác giả (tick tím), hoặc học một alternative recommend (tick xanh) thay thế - không cần học hết tất cả các sub-topic xanh trừ khi cậu cần trong thực tế.
Cậu có thể theo con đường được mô tả trong roadmap.sh (tớ đánh giá nó tương đối tốt và rất gần với con đường thật để trở thành master backend).
Hope it helps!