Hi Nhat,
Tớ nghĩ đây là dấu hiệu của bad design + không có specification chính xác. Điều này thực ra cũng tương đối phổ biến, vậy nên tớ nghĩ cậu nên bắt tay vào cải thiện phần đó.
Về câu hỏi của cậu, tớ nghĩ front-end không cần hiểu chi tiết về business logic.
Kỹ sư Front-end chỉ cần hiểu cách dùng back-end như thế nào để đạt được kết quả đưa ra màn hình, và cách dùng back-end nên được document cẩn thận trên spec. Back-end cũng cần đưa design cách dùng cho Front-end để FE suggest solution cho vấn đề mà hệ thống đang giải quyết.
Nếu cậu không làm được điều đó, sẽ có rất nhiều khoảnh khắc “WT*” khi 2 bên làm việc với nhau, do cả 2 đều có assumption riêng của mình. Đừng làm việc trên assumption!
Tuy nhiên, dù kỹ sư front-end không cần hiểu rõ về business logic implement ở back-end, nhưng bên front-end nói riêng và FE-BE nói chung phải nắm rõ business flow, và nên hiểu rõ business domain. 2 điều đó sẽ giúp cậu hiểu được lý do đằng sau các chức năng hay các quyết định kỹ thuật.
Nếu không, cậu sẽ gặp các tình huống không thể quyết định được điều gì là tốt cho hệ thống của cậu, không thể đưa ra solution cho bất cứ vấn đề gì (tớ gặp rất nhiều kỹ sư giỏi kỹ thuật, nhưng dở về hiểu biết hệ thống - tất cả các solution của họ đều overkill và không giải quyết được vấn đề, hay nói cách khác là vô dụng). Outcome cho việc đó là cậu chỉ có thể làm việc theo kiểu task-base (người khác đưa ra solution và gán task implement cho cậu) mà không có bất cứ khả năng nào để đóng góp cho solution chung.
Tớ hi vọng chia sẻ của tớ có thể giúp cậu trong tương lai 