Data Engineer nên là người xây dựng các công cụ data, chứ làm ETL hoài cũng chán

Duy Luân
13/6/2021 9:31Phản hồi: 45
Data Engineer nên là người xây dựng các công cụ data, chứ làm ETL hoài cũng chán
ETL là mình nói chung thôi, chứ thật ra thì cái mình nói đến là việc mantain tất cả những thể loại data pipeline trên đời này. Những việc đó nó sẽ bị lặp đi lặp lại, làm một thời gian sẽ chán, chưa kể nếu việc xây dựng và thêm, sửa các thành phần trong data pipeline chỉ nằm trong tay các ông data engineer thì nó sẽ tạo thành nút nghẽn cổ chai khiến việc bị chậm lại. Thế nên, theo mình, data engineer ngoài chuyện xây data pipeline thì còn phải xây cả các công cụ để mọi người trong công ty có thể truy cập, sử dụng data dễ dàng hơn.

Làm data pipeline hoài thì sẽ chán


Đương nhiên, có những thứ cứ lặp đi lặp lại mãi thì bạn sẽ không còn cảm thấy hứng thú để làm nó nữa, và với những ông engineer mà mình biết, rất hiếm người sẵn sàng chỉ ngồi một chỗ làm data pipeline vì như vậy bạn khó mà phát triển thêm, khó mà học thêm kiến thức mới. Nếu chỉ ngồi thêm, sửa, xóa data pipline thì bạn sẽ không còn thời gian để làm việc khác, không có thời gian tạo ra những sản phẩm hay ho hơn, giúp ích được cho nhiều người hơn, tiết kiệm được nhiều tiền hơn cho công ty hoặc giúp công ty kiếm thêm được tiền.

Data engineer trở thành nút nghẽn cổ chai


Nhu cầu thêm sửa xóa data pipeline theo mình thấy lại thường đến từ phía người dùng business, hoặc cụ thể hơn là từ các bạn data analyst, business analyst. Cũng đúng thôi, mỗi ngày họ được giao cho các bài toán, các câu hỏi khác nhau để trả lời và khả năng cao là họ sẽ nhận thấy một số bảng dữ liệu chưa được chuẩn bị sẵn, chưa được mang từ hệ thống nguồn lên, và thế là họ đi nhờ mấy anh em data engineer load dữ liệu.

Mọi chuyện sẽ không có gì nghiêm trọng nếu chỉ có 1-2 bạn business analyst trong một công ty chưa sử dụng dữ liệu nhiều. Nhưng khi tổ chức bắt đầu hiệu và vận dụng data nhiều hơn, có thêm nhiều analyst hơn, thì các yêu cầu load dữ liệu sẽ ngày càng nhiều tới một lúc nào đó đội data engineer sẽ trở thành nút nghẽn. Bạn phải giải quyết tuần tự các yêu cầu, bạn phải hẹn người này, dời deadline của người kia. Tất nhiên là để sắp xếp ổn thỏa thì vẫn được thôi, nhưng đáng ra chúng ta không nên để các bạn analyst hoặc các bạn business - những người dùng của chúng ta - chờ lâu như thế.


Thế nên trong quá trình làm việc của mình, để tự giải phóng bản thân khỏi sự chán và sự nghẽn cổ chai như đã nói ở trên, mình sẽ chọn cách làm ra những công cụ, những hệ thống có khả năng tự động hóa quá trình thêm sửa xóa data pipeline.

IMG_2297.JPG

Xây công cụ, xây cơ chế kiểm soát, và mở ra cho mọi người dùng


Tùy theo bộ công nghệ mà công ty đang dùng là gì mà bạn có thể chế thêm các tool tương ứng, ví dụ mình có một công cụ để các bạn analyst vào tự tạo các bảng tổng hợp của họ để truy xuất dữ liệu nhanh, gọn, rẻ hơn. Nó có chức năng hẹn giờ để tự động rút dữ liệu mới vào bảng, có một số khả năng tự phát hiện kiểu dữ liệu của từng field để gợi ý. Công cụ cũng sẽ tự động scan data warehouse để đưa vào chức năng ghi chú, bảng nào, cột nào có ý nghĩa ra sao, nó dùng để làm gì… Tất cả những thứ này có thể dễ dàng truy cập thông qua một giao diện web nội bộ.

Lợi ích của việc này đó là mình không còn phải ngồi làm các việc load data thủ công nữa, các bạn analyst cần gì thì có thể tự xử, việc của các bạn không bị kẹt ở mình, không phải chờ lâu, không phải phụ thuộc. Ngoài ra, việc này cũng tăng khả năng quản lý data pipeline, khúc nào bị lỗi thì dễ dàng truy hơn, và có thể xem trực tiếp từ giao diện nhanh gọn lẹ, tức là nó cũng giúp cho chính mình nữa chứ không chỉ cho người dùng của mình.

Tất nhiên, khi bạn mở cho các thành viên khác cùng tham gia xây dựng data pipeline với bạn, bạn sẽ cần một số cơ chế kiểm soát, phân quyền để đảm bảo chi phí không bị quá cao, quyền không bị bỏ lọt, data không bị lạm dụng… cái này thì tùy cơ chế, công cụ của công ty mà sẽ có những cách kiểm soát khác nhau, không có mẫu chung. Nhưng nói chung là phải có, chứ không tới một ngày đẹp trời tiền nó vọt lên gấp đôi thì thốn lắm nha anh em 😁 Việc giám sát ra sao, monitor từng người dùng như thế nào là thứ anh em cần nghĩ tới ngay từ khi bắt đầu xây dựng công cụ để có thể tích hợp tốt mặt kiểm soát vào công cụ của mình, tránh phải sửa quá nhiều sau khi đã hoàn thiện sản phẩm.

quan_ly_cost.jpg

Cần thêm kĩ năng gì cho việc xây dựng công cụ?


Kĩ năng, kiến thức và kinh nghiệm về data thì anh em đã có, nhưng anh em cần chuyển hóa, tích hợp những kiến thức này vào một sản phẩm để người ta dùng. Khi đó anh em sẽ cần biết một chút về UX và về sản phẩm để hiểu người ta sẽ dùng công cụ của anh em ra sao, anh em có thể giải quyết những “nỗi đau” nào trong hoàn cảnh hiện tại của công ty, và liệu nó có đáng công sức đầu tư bỏ ra hay không.

Quảng cáo



Sau đó, nếu anh em không có ai trợ giúp, khả năng cao là anh em sẽ phải tự mình build luôn cả web, app hoặc một cái gì đó mà anh em cho là cần và dễ dàng truy cập. Cũng có thể nó là chỉ là một file YAML để các bạn analyst định nghĩa nếu anh em không có khả năng làm thành giao diện đồ họa. Tuy nhiên, theo mình thì lỡ rồi thì làm tới luôn, nếu có được giao diện đồ họa thì tốt vì như vậy sẽ giảm công, giảm thời gian học cho các bạn analyst khi họ dùng công cụ của anh em.

Mình từng chia sẻ với anh em về những hiểu biết sản phẩm khi làm data engineer, bao gồm cả kiến thức về front end, backend, sản phẩm, người dùng, UX. Ở Việt Nam và ở những công ty không quá to, khả năng cao là anh em sẽ cần tự làm thì mới xong việc chứ không thể chờ người khác giúp mình. Anh em xem kĩ hơn trong bài bên dưới nha.



Hi vọng những chia sẻ nhỏ xíu của mình sẽ giúp được anh em phần nào trong việc mà chúng ta làm thường ngày. Cảm ơn anh em, thấy hay nhớ cho mình xin 5 sao nha 😆
45 bình luận
Chia sẻ

Xu hướng

Anh em không làm development chịu khó nha 😆 Ở Việt Nam mình chưa nghĩ ra platform nào tốt để chia sẻ mấy cái này, mà trong tay mình lại có Tinh tế thì mình dùng luôn 😂😂😂

Có khi mốt làm cái developer blog, một nhánh trên Tinh tế quá
lâm pici
ĐẠI BÀNG
3 năm
@Duy Luân Luân đã thử qua "tableau prep builder" chưa nhỉ?
nó đáp ứng gần đủ các nhu cầu nêu trên 😁
bupbechanh
TÍCH CỰC
3 năm
@Duy Luân Cảm ơn mod Luân,

Mình cũng dân Data, nửa làm DE nửa làm DBA, nên cũng hiểu được 1 phần câu chuyện như là người trong cuộc.

Với 1 tổ chức nhỏ, thì 1 cá nhân DE có thể ôm hết được, nhưng khi hệ thống phình to , nhu cầu BA, BI lớn , đòi hỏi nhiều data cũng như phát sinh đủ loại reports, đồng thời hệ thống Data chưa chuẩn hóa, cứ thay đổi xoành xoạch theo apps thì DE rất cực để chạy theo yêu cầu.
@lâm pici Mình thử rồi, mà data lớn quá, xài cái đó chậm, không ngon. Cái đó để prep đơn giản vui vui cho analyst xài thì ok
@bupbechanh Nên việc drift control (theo dõi thay đổi từ datasource) cucng quan trọng 😁 bên mình có cơ chế handle mà lâu lâu cũng lủng phải đi fix 😆
vtatntpt
ĐẠI BÀNG
3 năm
@Duy Luân Tinhte là một diễn đàn công nghệ thì không lý gì không có mục cho Dev chém gió 😁
@vtatntpt hợp lý ha, hay làm cái mục Dev trò chuyện, Dev thân mật, DEv tâm sự nhỉ 😆
@vtatntpt https://tinhte.vn/forums/chuyen-nghe-tech.763/ vô nào anh em 😆
bupbechanh
TÍCH CỰC
3 năm
@vtatntpt Nên có thêm mục DE,DBA,Data cùng chém gió thêm ngoài mảng DEV ra.
Em cũng định viết bài về dev ở tinhte nhưng cứ sợ nó không hợp. Giờ thấy bác làm thì mình cũng làm thôi nhỉ
Cười vô mặt
@Đào Anh Thành Chiến thôi 😁 để mai mở luôn mục mới cho vui
@Đào Anh Thành https://tinhte.vn/forums/chuyen-nghe-tech.763/ vô nào anh em 😆
Làm thêm một chuyên mục cho người có kinh nghiệm về coding thảo luận. Bên cạnh đó cũng nên có một chuyên mục dành cho người mới bắt đầu, đơn cử như những bạn còn ngồi ghế nhà trường hay các bạn làm làm ngành nghề khác muốn tìm hiểu về coding.
sherlockaled
ĐẠI BÀNG
3 năm
Vậy thì @Duy Luân là data analyst hay data scientist hay web developer?
@sherlockaled Data engineer trên đầu bài đấy
sherlockaled
ĐẠI BÀNG
3 năm
chỉ ghi là "data engineer nên blah blah blah" chứ đâu có ghi "tui là data engineer", không có explicit thì đâu thể assume bậy bạ vậy được.
@sherlockaled mình là cái gì cũng được, cần cái gì thì làm cái đó
cũng khá hữu ích nên vote cho 5 sao
xây dựng các công cụ data --> nói gọn lại là xây dựng data platform.
đọc thì hàn lâm tôi chỉ hỏi ông một câu thôi , cái nút ấn vào forum tinhte trong tinhte.vn đâu, ông xây cái to cái cao gì ko biết , ô chỉ cho tôi xem, hứng thì ô cho ra, ko hứng ô lại ném nó đi thay cái " tải app tinhte" vào,tôi nhịn ông hơi lâu cái vụ nút ấn này rồi dó ô mập ạ
Giận
SharedScreenshot.jpg
nhqdat
TÍCH CỰC
3 năm
@Duy Luân À thì cứ rẻ nhánh theo các level con thôi, thay vì chỉ có 1 level như hiện tại.
Ví dụ comment gốc là level 0, thì reply sẽ là level 1.
Nếu ai reply thêm vào comment gốc thì sẽ vào level 1. Ai reply vào cái reply ở level 1 thì trở thành level 2.
Nếu sợ rẽ nhánh quá sâu thì giới hạn tới level 3 hoặc 4 thôi, ví dụ giới hạn tới level 4 thì người reply cho reply ở level 4 cũng nằm ở level 4 luôn (giống như cách đang thực hiện ở hiện tại).
Làm như vậy thì nội dung theo dõi sẽ dễ hơn vì thông tin nó liên tục theo từng nội dung chủ đề.
@nhqdat Giống kiểu reddit hả 😁 cái đó nhìn rối vãi. Đợt trước từng thử nghiệm, anh em phản đối nhiều nên mình đã bỏ. Facebook hồi trước cũng test kiểu đó mà giờ nó bỏ luôn rồi.

Để mình suy nghĩ kiểu khác cho gọn hơn
nhqdat
TÍCH CỰC
3 năm
Không biết reddit làm thế nào, chứ mình không đọc nổi cái trang đấy, rối và lung tung lên hết.
Mặc định chỉ hiển thị comment gốc và cái reply của comment gốc thôi. Ai muốn xem thêm thì nhấn vào reply đó để xem tiếp. Khi xem chi tiết nhánh reply khác thì các nhánh reply khác đang xem sẽ tự gom lại (không hiển thị hết ra nữa)
Quan trọng là thiết kế giao diện cho dễ thao tác, dễ nhìn thôi. Ngoài ra khống chế chỉ cho phép rẽ nhánh đến level mấy cũng quan trọng để tránh trôi quá xa chủ đề gốc.
Nếu cần thì ngay cái level 0 làm cho 1 cái nút view all reply thì nó xòe hết các level con ra luôn, đọc một lần cho dễ.
cấu trúc cây reply forum.png
@nhqdat Reddit nó làm như này nè 😆 để mình nghĩ thêm
hay và hữu ích ạ
Anonymox
TÍCH CỰC
3 năm
nhân tiện sửa cái reaction bản web đi @Duy Luân, cứ đưa chuột vào chưa kịp chọn nó lại biến mất, chập chờn lắm
@Anonymox Thử lại phát bạn, mới deploy bản mới lên
Anonymox
TÍCH CỰC
3 năm
@Duy Luân đỡ hơn, vài giây sau mới biến mất, nhưng vẫn nên giữ lại cái panel khi chuột chưa di ra khỏi đó. Chỉ nên tắt nó sau khoảng 1-2s gì đấy sau khi di khỏi cái panel đấy
@Anonymox thử lại phát nữa bạn 😁
Data Engineer bên công ty mình chỉ biết xài Excel, xuất ra Excel rồi ngồi gom trên đó, nhiều cái chỉ viết vài câu SQL script là xong mà bạn nhất định k chịu
@user1612690273639 Vậy là dở rồi 😁 Đã có điều kiện dùng SQL mà không dùng. Đuổi đi bạn 😆
@Duy Luân K bạn ơi, do task liên quan tới phần dữ liệu bên mình nên mình phải liên quan vào thôi, chứ db đã connect vào BigQuery rồi mà giờ còn phải ngồi xuất excel từng bảng nữa, tốn thời gian team mình, chứ nếu k ảnh hưởng tới mình thì mạnh ai nấy làm thôi, đuổi hay k là việc của sếp, nhưng mình k thích làm những việc mà k có meaningful, cảm thấy tốn time vô nghĩa
@user1612690273639 À tưởng bạn làm sếp mấy bạn đó 😁

Data lên tới BQ mà còn ngồi xuất file. Tệ vậy
bupbechanh
TÍCH CỰC
3 năm
Đã từng làm ở môi trường giống vậy, DA,BI toàn phải xuất Excel để làm. Mất 1-2 ngày mới xong 1 cái report chạy trên Excel.

Lúc đó buộc phải build 1 hệ thống ETL và Report Automation. 15s- vài phút là có kết quả . Thì kiẻu xuất excel đó sẽ hết đất sống.

Cơ bản mình có dám đối mặt với thử thách, thay đổi tư duy cũng như cách làm việc, và có sự hợp tác từ các sếp thì dễ dàng thay đổi thôi à.

Còn việc mình thay đổi logic, cách lấy dữ liệu sẽ ảnh hưởng tới 1 cá nhân nào đó, thì cũng phải chấp nhận để họ thay đổi, ai ko thay đổi, thích trì trệ buộc phải đào thải thôi.
bupbechanh
TÍCH CỰC
3 năm
@user1612690273639 Đôi khi có những người tư duy kiểu làm thật nhiều , dù biết có thể tốn ít thời gian hơn nhưng vẫn thích làm cáhc đó, để kéo dài thời gian làm việc, đỡ bị giao thêm việc mới, theo kiểu "việc nhẹ, lương cao, ngại thay đổi" ấy mà.

Cái đó thì sếp trên sẽ thấy để chỉnh, còn sếp mà ko thấy ko chỉnh được thì do "tầm nhìn" của sếp giới hạn ở mức độ nào đó, bạn muốn sống chung với lũ hoặc tự tìm con đường riêng để hoàn thành công việc theo ý mình, đỡ phụ thuộc ai.

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019