Tại sao nên đọc bài này?

Nội dung của bài viết này sẽ được dịch từ bài gốc ở trên, dĩ nhiên là dưới góc nhìn của mình, có thêm bớt khá nhiều. Tác giả cũng disclaim là đây cũng chỉ là góc nhìn chủ quan của tác giả. Tuy nhiên mình thấy đây là bài viết cực kì hay về ngành mà mình đang làm.

Bác nào giỏi tiếng anh thì nên đọc bài gốc và skip qua bài của mình cũng được nhé. Đọc xong back lại đây comment cũng được .

Gét gô!

Bạn hiếm khi được code thứ gì đó từ đầu

Khác với trường học, nơi mà mọi bài tập của bạn đều chỉ có đề bài mà một màn hình trắng xóa, bạn fill code vào, chạy thử, fix bug, nộp bài. Dù đó có là học giải thuật hay là học một số môn lập trình thực tiễn hơn, hầu hết đều như vậy. Mục đích là thể hiện trình độ cá nhân của bạn.

Nhưng thực tế thì sao? *éo . Dù bạn mới ra trường, đi thực tập, đã đi làm được đôi ba năm hay thậm chí cả chục năm. Thứ ném vào mặt bạn là một project với vài ngàn dòng code (hoặc vài triệu) với vô vàn dấu răng của những dev trước để lại, có những người là thực tập, những người là junior, những người là senior… và bạn. Hiếm khi bạn được start một thứ gì đó từ zero.

Bạn coi tới coi lui đống code, check qua từng file, check lại document. Và bạn tốn cả 1 tuần để hiểu xem mấy ông dev trước làm gì (tất nhiên là vừa làm vừa chửi ) để rồi thêm 10 lines code vào để fix một bug bé tí nào đó.

Cuộc sống hằng ngày của Dev

Đó làm coder là vậy đó, hầu hết thời gian của bạn sẽ là sửa những gì đang chạy, thêm feature vào dựa trên một cục code base có sẵn.

Kiến thức “ngành” (Domain knowledge) quan trọng hơn kĩ năng múa code

Mình thấy rất bất ngờ nếu mình hiều về một thứ gì đó thì việc coding của mình trở nên rất đơn giản. Mọi thứ chạy như thế nào, và tại sao nó lại cần chạy như vậy.

Ví dụ khi code app ngân hàng/fintech thì bạn tốt nhất nên hiểu transaction chạy như thế nào, sổ cái hoạt động ra sao

Khi build một hệ thống PoS (Poin of sale – mấy phần mềm để tính tiền, gọi món ở quán Trà sữa, nhà háng á) thì bạn nên tìm hiểu xem tụi nhà hàng nó hoạt động thế nào, chia ca, tồn kho, rồi còn các bước để quẹt thẻ,…

Và nó đúng với hầu hết các ngành khác như Y tế, Logistic, Xây dựng,..

Nếu mà không có mớ kiến thức ngành đó, bạn sẽ rất dễ bị lạc. Kiểu như bạn sẽ bị struggle vì mình chỉ code theo task thôi mà không hiểu ý nghĩa công việc của mình ở đâu á, chả biết mình code có đúng không, chả biết nó chạy ở đâu, chả biết nó đóng góp gì cho biz đang chạy ngoài kia, và bạn sẽ chả biết… thứ bạn làm có value ở đâu cả.