Vì sao xây dựng data model trở thành một kỹ năng quan trọng nhất nhì cho những người mới bước chân làm data analyst/scientist?
Disclaimer: Nội dung không phải chửi rủa hay phân biệt gì mấy ông data engineer đâu nha, đọc bài mang tinh thần vui vẻ thôi nhé. Đây là nhận xét chung của mình về thị trường Châu Âu, những nơi khác có thể sẽ khác
Qua đợt tech layoff dữ dội vừa rồi (và có thể sẽ tiếp diễn), mình nhận thấy khá rõ những đối tượng dễ tổn thương nhất là những bạn data analyst/scientist vừa bước vào nghề. Qua bài viết này hãy cùng tìm hiểu xem một trong những lý do có thể là sai lầm cản trở bạn đến với ngành data nhé. Bài viết dựa trên minh họa từ nguồn sau “How should analysts spend their time” (nên đọc, mình thấy vô cùng hay và tâm đắc)
Part I - Doing Analysis
Cá nhân mình thấy chúng ta có vẻ đã ảnh hưởng bởi những hệ quả nghiêm trọng trong nhận thức do các trường, trung tâm bán khóa học lẫn truyền thông vì mục đích có lợi cho họ (lùa gà đóng học phí chứ gì nữa 😂). Các bạn sẽ thấy điều rất quen thuộc sau: “Học data rồi sau này ra đi làm data-driven, phân tích báo cáo, dựng dashboard, set KPIs, nhìn data thổi nến blah blah …“ Nghe rất là hoành tráng đúng không? Mình khẳng định là những lời nói trên là đúng, nhưng phần lớn đã được tô vẽ màu hồng, họ không cho bạn 1 cái nhìn hoàn chỉnh tổng thể. Những điều trên kia đúng khi và chỉ khi bạn có Good Data, tức là để ‘Doing analysis‘ (gồm những việc kể trên, và gọi tên giống hình minh họa) được, bạn phải đưa ra assumption rằng bạn đã có Good Data . Một khi đưa ra assumption, thì bạn phải tạo đủ giả thiết để chứng minh assumption của bạn là chính xác. Trong thực tế ai sẽ làm việc này? Có Chúa mới biết 😂, và điều hài hước là chẳng có mấy trường/trung tâm nào để tâm mà dạy bạn mấy cái này, họ hì hục cho bạn học toán, cách ra quyết định và nhiều thứ đao to búa lớn khác nhưng dạy cho người học hiểu Good Data là như thế nào thì chả thấy. Đọc tới đây mấy bạn thử tự trả lời cho mình xem thế nào là ‘Good’ Data?
Nếu không có Good Data, mọi model/phân tích đều vô nghĩa → garbage in, garbage out
Part II - Dealing with data issues
Chính vì không định nghĩa được thế nào là Good data (Lưu ý: mọi người thường nhầm lẫn clean data và good data nhưng 2 cái là 2 vấn đề khác nhau), nên thường data analyst/scientist thường tốn rất nhiều thời gian để xử lí dữ liệu. Nên hẳn các bạn nghe rất quen câu nói từ analyst/scientist : “80% thời gian làm data science là xử lý dữ liệu, 20% mới thử nghiệm model“ . Ủa, alo, vậy mấy thằng Data engineer đâu? làm gì mà giao data trời ơi vậy để bọn tui phải xử lý lại hết trơn, số liệu sai bét nhè. Rồi những conflicts bắt đầu xuất hiện trong data team và phim hay để coi sắp tới.
Để nói thật lòng cho các bạn nghe, data engineer tụi tui chỉ quan tâm đến data pipeline có failed hay không, các thao tác update/insert/transfer dữ liệu có ok không. Ngoài những chuyện đó ra, tụi tui không có động lực(incentive) để đảm bảo data quality cho tốt. Tại sao ư? tại tụi tui có dùng đến data đó đâu mà cần phải có trách nhiệm. Chính các bạn (analyst/scientist) là người sử dụng data, chính các bạn phải có trách nhiệm chớ
Tóm gọn đoạn này: hãy tưởng tượng mấy thằng data engineer là mấy thằng shipper giao hàng, nhiệm vụ và mối quan tâm lớn nhất của shipper chỉ là giao đúng hàng, đủ hàng, đúng thời gian. Còn lại, bên trong món hàng (data) có móp méo hư hao gì thì chúng tôi kệ mịa 😁
Part III - Finding the right data
Roài tới công chuyện của mấy bạn, khi mấy thằng data engineer từ chối, miễn trừ trách nhiệm như thế thì chỉ còn có tự mấy bạn vác mông đi làm thám tử một cách bất đắc dĩ. Mấy bạn bắt đầu tra lại coi những definition scripts tables/views mà bạn hay xài hằng ngày, chẳng mấy chốc mà bạn sẽ choáng ngợp bởi mê hồn trận các thể loại JOIN LEFT JOIN RIGHT tứ lung tung cả lên, chả biết đường nào mà lần lại. Mọi việc sẽ còn kinh dị hơn nếu team của bạn không xây dựng data catalog cho việc observability, nếu trong team có data engineer có tâm thì may mắn còn lối thoát còn không tới đây thì như ngõ cụt, mình xin chúc các bạn may mắn (thật lòng đó 😅)
Part IV - Maintaining dashboards & data models
Giả sử rằng lời chúc may mắn của mình thành sự thật và các bạn đến được bước này đi, các bạn tìm thấy được data source, rồi lại nhìn vào data model của data source đấy, cứ scroll con chuột đều đặn từ từ trong vài phút, đột nhiên bạn dừng lại, mi mắt giựt giựt, đầu óc bắt đầu tiền đình, đập bàn, rồi bạn hét lên trong tuyệt vọng : “Con meeeeeeeeẹ noooooó, tiên sư cái bọn data engineer rẻ rách, tại sao cái table này chỉ có mỗi cột primary key là để NOT NULL, mấy cột còn lại để bọn tao làm metrics/features cho dashboard và ML model lại để ALLOW NULL hết là sao!!!!!!!“
Đấy là trường hợp phổ biến mình thấy, còn nhiều cái phức tạp hơn như physical model mismatched logical model, cả bọn lôi nhau ra đấu tố vui lắm 😈 (Ờ chắc là vui). Tới đây bạn nhận ra vấn đề rồi chứ gì, những data models bạn đang xài hằng ngày có khả năng lỗi thời rất cao do nó được viết từ những thằng data engineer “rẻ rách“ trên kia chả hiểu biết gì về business, trong khi business model thay đổi xoành xoạch và chỉ có analyst mới là thật sự thấy được sự thay đổi này. Thật như mình nói, bài post của anh Chad Sanderson dưới đây sẽ giải thích việc data modelling quan trọng thế nào và việc tuyển thêm data engineers chỉ là 1 trò đùa và sẽ không khiến mọi thứ tốt hơn nếu analyst/scientist không chủ động làm chủ data models của chính team các bạn
Conclusion
Mình xin tóm lại bài viết thành chuỗi sau: Analyst không làm chủ data models → data models lỗi thời hoặc lệch với business model → làm phân tích/báo cáo sai hoặc thiếu hiệu quả do data phản ánh khác thực tế → Đưa ra quyết định kinh doanh sai (thời bình thì còn cơ hội sửa sai, thời khắc nghiệt thì …) → Bay ghế
Hy vọng câu chuyện có thật do mình bịa ra đã thuyết phục bạn (analyst/scientist) rằng data modelling là kỹ năng vô cùng quan trọng trong thời buổi hiện nay, mức độ càng làm chủ data model càng cao thì sau này team hoặc chính bạn càng có nhiều thời gian tập trung vào ‘Doing analysis‘. Ai đọc tới đây vui lòng comment kí tự 💩 để mình xem coi các bạn có quan tâm hay không nhé 😁. Thân mến!
Follow FB page Trung-Duy Nguyen để hóng những bài post xàm xí của mình về Tech và cuộc sống
Nếu ở EU thì các bạn tham gia hội này cho vui: Vietnamese Data Science and Engineering Community in EU
Cám ơn chia sẽ của anh
chời ơi, em vừa đọc vừa lượm thêm kiến thức mà cảm thấy rấc là vào đầu luôn vì giọng văn quá là chill và dễ hiểu. đây tặng anh ạ 💩mong anh sẽ bật thông báo giùm em