Categories
Dev's Corner

Data Analyst – con đường nhẹ nhàng nhất để bước vào ngành Data và … cũng dễ thất nghiệp

Chỉ cần “lỡ tay” google về việc học Data/AI, 10 phút sau Facebook của bạn sẽ dày đặc quảng cáo các khoá học với những câu từ hoa mỹ nhất: Ngành hot nhất, tốp thu nhập cao nhất, cơ hội việc làm rất nhiều, lương nghìn đô, nghề trending,…. Nghe mà sướng trợn mắt 🤣

Nhưng bạn nào trái ngành học Data Analytics ra đi xin việc sẽ biết cái khổ khi tìm đỏ mắt không ai tuyển, có offer thì lương chưa được 10 triệu. Lúc đó bạn sẽ trở về mặt đất ngay lập tức.

Data Analytics là một ngành thú vị, nhưng hiện nay, người mới học rất khó xin việc làm và nó không có màu hồng như các trung tâm hay kể. Vì mọi người đổ xô đi học data nên vài nơi bất chấp sự thật về thị trường việc làm để bán khoá học. Họ dùng các bài báo ở Mỹ, phương tây, lấy mức lương và các số liệu thống kê ở chỗ khác về đánh lận người học.

Mình cũng là một người tự học chuyển ngành sang Data, nên muốn chia sẻ một chút với các bạn đang muốn dấn thân. Hy vọng cung cấp một góc nhìn khác để các bạn cân nhắc chính xác hơn.

Lưu ý:

  • Công ty của mình đang làm là công ty của Mỹ, có chi nhánh ở Việt Nam, và mình cũng từng đi nộp loanh quanh khu vực ĐNA nên mình sẽ nói ở thị trường Mỹ và Việt Nam thôi.
  • Bài viết này không có ý khuyên bạn đừng học Data Analytics, mình chỉ muốn cảnh bảo một tương lai không phải màu hồng như các trung tâm hay vẽ ra thôi
  • Nếu bạn thấy bạn thực sự muốn làm và đam mềm ngành này => CHIẾN

Khi các bạn chuyển ngành, luôn có những yêu cầu về chuyên môn và kỹ thuật, gọi chung là entry barrier (rào cản vào nghề).

Trong khi các vị trí Data Engineer, Data Scientist có những rào cản rất lớn về kỹ thuật và học thuật, thì Data Analyst lại dễ bước chân vào hơn, vì nó là sự giao thoa giữa công nghệ và một chuyên ngành nào đó (tài chính, retail, marketing, operation, SCM, ….)

Một vị trí Data Analyst cần các yếu tố cơ bản:

  • Kỹ năng phân tích dữ liệu (bao gồm tư duy và kỹ năng công nghệ)
  • Chuyên môn ở mảng mà bạn đang phân tích
  • Kỹ năng giao tiếp

Việc chuyển qua làm Data Analyst dễ vì 2 trong số 3 yếu tố đó không thuộc ngành kỹ thuật mà thuộc về chuyên môn khác. Chính bản thân mình cũng chọn con đường này vì nó nhẹ nhàng, đỡ sốc hơn.

Nhưng đừng hiểu nhầm. Data Analyst có entry barrier thấp hơn các vị trí khác, không có nghĩa là nó dễ hơn các vị trí đó.

Vì tính chất giao thoa giữa chuyên môn và kỹ thuật, bạn sẽ không thể có việc nếu không rành chuyên môn mà công ty đang cần phân tích. Và bạn sẽ phải cạnh tranh với những người có chuyên môn mạnh.

Một xu hướng bây giờ là các công ty đang tìm cách phân phối chức năng Analytics về từng phòng ban cụ thể.

Phòng data (hoặc IT) vẫn sẽ có Data Analyst nhưng chỉ cần số lượng rất ít, chuyên setup data model, chuyên phân tích các vấn đề về bản chất của data thu thập được, sau đó các phòng ban khác sẽ tuyển người biết làm chuyên môn để query vào dạng ad-hoc. Ví dụ:

  • Phòng marketing sẽ tuyển thêm Marketing Analyst, vừa biết marketing, vừa mạnh các kỹ năng về data.
  • Phòng tài chính sẽ tuyển Financial Analyst ,….
  • Hoặc cũng có các công ty lập nên các Analytics Department, sau đó tuyển Marketing Analyst, Financial Analyst, cho vào chung một bộ phận, và giảm bớt tuyển Data Analyst thuần tuý.

Công ty mình cũng nhận nhiều project thiết kế và tạo Data Model để các phòng ban khác query vào rồi kéo thả trong PowerBI. Có nhiều doanh nghiệp họ outsourcing luôn phần Data Analytics ra ngoài như vậy, đôi khi sẽ rẻ vừa hiệu quả hơn là xây dựng đội ngũ nội bộ.

Với xu hướng này, việc làm Data Analyst thuần kỹ thuật sẽ ngày càng ít đi.

Bạn – những người mới – sẽ chịu sự cạnh tranh khốc liệt từ các senior ở các ngành khác nhảy qua. Họ chỉ cần bổ sung thêm skill về Data, kết hợp các yếu tố có sẵn như chuyên môn tốt, leadership, communication skills,…

Họ không có cái mác Intern hay Fresher. Cạnh tranh với nhóm này thì hụt hơi!

Các bạn có thể đọc thấy ngành Data đang rất HOT và nhiều cơ hội việc làm. Nhưng có thứ những quảng cáo khoá học không bao giờ nói với bạn. …

  • Nhiều ở mảng nào? Ngành data có rất nhiều vị trí: Data Analyst, Data Engineer, Data Scientist, Data Analytics Engineer, Database Administrator, AI Engineer…
  • Nhiều ở đâu? Ở Mỹ hay ở Việt Nam? Hay ở Châu Âu
  • Nhiều lúc nào? Cách đây 5 năm? 10 năm? Hay khi nào?

Hiện tại ở Việt Nam, thị trường việc làm ngành data cũng khá sôi động. Nhưng trong khi thị trường Mỹ luôn có chỗ cho intern, chương trình hợp tác để nuôi dưỡng tài năng, thị trường Việt Nam lại chỉ muốn tuyển người làm được việc ngay.

Vì thế thị trường việc làm Data ở Việt Nam bị lệch hẳn sang hướng từ Associate level trở lên. Hiếm khi nào tuyển fresher, intern, vì không nhiều doanh nghiệp có đủ nguồn lực tài chính, thời gian để training và chờ nhóm này phát triển.

Đó là về level, còn về vị trí, trong 3 vị trí chính Data Analyst / Data Engineer / Data Scientist thì thực tế tuyển dụng Data Analyst là hiếm nhất.

Doanh nghiệp chủ yếu tuyển Data Engineer (DE) vì nhóm này có thể tạo tác động trực tiếp lên hệ thống một cách tức thì. Chỉ cần có một bạn DE setup và migrate được hệ thống data cũ chậm chạp của công ty lên Cloud hoặc số hoá nó thành các hệ thống On-premise là thấy công ty khác hẳn liền. (Lưu ý là Data Engineer cũng hiếm khi tuyển fresher và intern nhé). Cái nào có tác dụng liền thì tất nhiên sẽ được ưu tiên.

Data Scientist thì mình chỉ thấy tuyển từ Middle hoặc từ 1 năm kinh nghiệm trở lên, và cũng là làm cho các dự án nước ngoài chứ không phải Việt Nam.

Các công ty về AI tại Việt Nam thì toàn tuyển người top thôi, hoặc bạn phải theo các chương trình residency (ươm mầm tài năng) từ rất lâu trước chứ không phải cứ học vài khoá học là xong. Mà AI đang cao trào nên các vị trí cho Data Scientist mở cũng nhiều lắm.

Kinh tế suy thoái khiến cho các công ty cắt giảm ngân sách của team data lại vì không phải team nào cũng đem lại hiệu quả ngay. Vì thế họ sẽ có xu hướng tuyển người biết nhiều thứ.

Data Analyst mà biết thêm chút Machine learning thì càng hiệu quả để làm việc với Data Scientist. Data Analyst mà thêm kiến thức Data Engineer thì chúng ta sẽ có role Data Analytics Engineer, làm được nhiều thứ hơn, cần thì ETL luôn, biết xài Spark Airflow này nọ, giảm tải cho team, giảm gánh nặng tài chính cho công ty nữa.

Từ các ý trên, ai còn nghĩ ngành Data này học xong có việc luôn thì nên cẩn thận coi lại background của mình đã.

Chính trong PowerBI đã có AI thể tự generate DAX function để vẽ chart chỉ bằng cách nhập yêu cầu theo ngôn ngữ tự nhiên, các module dự đoán, và khả năng gắn với các predictive model,…. Có sẵn hết. Gắn là chạy. Có thể các công nghệ này chưa chín tới, nhưng bạn sẽ thấy mọi thứ thay đổi nhanh thôi.

PowerBI giờ đã trang bị AI
PowerBI giờ đã trang bị AI

Mình cũng dùng ChatGPT rất nhiều, vì nó thực sự giảm rất nhiều khối lượng công việc. Tất nhiên là dùng phải cẩn thận, mình phải hiểu rõ kết quả, mình chỉ nhờ nó làm bớt việc tay chân thôi. Sự tiện dụng của ChatGPT trong lập trình là không thể chối cãi.

ChatGPT có thể xử lý những cấu SQL phức tạp
ChatGPT có thể xử lý những cấu SQL phức tạp

Trong Tinh Tế có anh Thầy Giáo Sang có thể solo viết nguyên cái web app để ảnh dạy học nhờ ChatGPT.

Chat GPT không thay thế được một Data Analyst, nhưng nó cho công ty một lý do để không tuyển thêm người mới, mà nâng cấp team của họ lên với công cụ tốt hơn. Chuyện entry level data analyst thiếu việc vì AI theo mình là không thể tránh khỏi.

Các bạn nhìn vào giáo trình Data Analyst của vài trung tâm thấy dạy Python là chính. Lên các hội nhóm thấy vài anh chị lâu năm “gatekeeping” cái ngành này. Kiểu data analyst thì phải thế này thế kia, tech stack phải cỡ này, data phải cỡ trăm triệu dòng,… blah blah

Mình không nghĩ vậy. Tuỳ thị trường và công ty mà họ sẽ có những khái niệm rất khác nhau về một Data Analyst.

  • Có công ty thì cần bạn giỏi SQL là đủ, data infrastructure có đội Data Engineer lo rồi. Clean data này họ cũng có DE lo luôn ròi.
  • Có công ty thì đòi bạn phải giỏi cả Python.
  • Có chỗ Data xấu quá mà không có DE thì tuyển DA rành pandas, chỗ có DE thì tuyển DA mạnh về phân tích.
  • Có công ty đòi bạn phải master PowerBI, có công ty lại cần người giỏi Excel + VBA,…

Muôn hình vạn trạng. Mỗi quốc gia, mỗi ngành mỗi khác.

Miễn là bạn phân tích được dữ liệu, dù chỉ 1000 dòng thôi, nhưng tìm ra được các thông tin quan trọng và tạo sự tác động tích cực cho công ty, bạn chính là data analyst.

Tuỳ năng lực và độ phức tạp mà mức lương sẽ khác nhau. Nhưng phân tích dữ liệu thì không nhất thiết phải phức tạp.

Mình khẳng định luôn là được nhưng chuyện lương nghìn USD nó không hoàn toàn thuộc phạm trù bạn giỏi kỹ năng Data cỡ nào (vì như đã nói ở trên, Data Analyst không chỉ biết mỗi data). Vấn đề còn nằm ở chỗ bạn có biết tiếng anh hay không và công ty của bạn làm thế nào.

Đôi khi bạn không giỏi kỹ thuật lắm, nhưng bạn giao tiếp tốt, bạn rành chuyên môn, bạn có kỹ năng về leadership, làm việc với client được. Thì những giá trị đó sẽ bù lại. Quan trọng là các kỹ năng của bạn có thể kiếm tiền về cho công ty cỡ nào.

Các trung tâm hay nói học ra lương nghìn đô, nhưng công ty VN sẵn sàng bỏ ra nghìn USD cho một vị trí entry, cho một người mới là rất khó.

Còn nếu chỗ bạn apply một công ty Mỹ hay một công ty làm outsourcing các dự án tính bằng tiền đô thì chi ra $1,000 lại rất đơn giản với họ vì số tiền đó chả bao nhiêu so với quy mô dự án. Nhưng mà những kèo này thì … không nhiều.

Một thực trạng chung của ngành IT mà mình quan sát được: Không tiếng anh = lương thấp dù nhiều năm kinh nghiệm. Úp to chứ lúc deal thấp hơn nữa. Nhiều công ty lợi dụng việc bạn ko biết tiếng anh để ép giá.

Chắc chắn là được, nhưng còn tuỳ người. Bạn hoàn toàn có thể tự học kỹ năng data nhưng chuyên môn thì mình không chắc. Tuỳ xuất phát điểm và chuyên môn làm việc trước đó mà mỗi người mỗi khác. Rồi cách học nữa. Có người chỉ học mỗi 1 khoá data analyst, có người sẽ học thêm các thứ râu ria,….

Từ lý thuyết học ra làm việc thực tế nó rất khác các bạn ạ.

Ví dụ như các bạn học trên Datacamp cẳng hạn. Họ dạy SQL cũng gọi là ổn. Nhưng nếu bạn học theo track DA của họ thì lại thiếu mất phần setup một cái database SQL hay dùng các database client hay các tính năng như Store Procedure, các kỹ thuật Partition, Indexing,…. Thành ra các bạn bị giới hạn ở chỗ chỉ biết query, trong khi thực tế đi làm thì phải tương tác với database ở mức cao hơn vậy.

Nên các bạn cần chuẩn bị thêm các “giá trị khác” của bản thân để bù lại trong thời gian đầu.

Chất lượng trung tâm thế nào thì mình không không nói được vì mình chưa bao giờ học ở đó. Nhưng rất khó để 1 khoá học có thể đáp ứng được nhu cầu, vì thị trường bây giờ đòi hỏi rất đa dạng như đã kể ở trên.

Mình có coi giáo trình của một trung tâm rất lớn thấy họ dạy rất sát thực tế việc làm DA ở Việt Nam, nhưng coi phản hồi học viên thấy quá trình dạy không ổn lắm. Có trong tâm khác cũng nổi tiếng thì dạy toàn Python với Machine Learning.

Nói chung cái này thì tuỳ mỗi người thôi. Có người cầm tay chỉ việc thì lúc nào cũng nhanh. Nhưng phải lựa các chỗ uy tín. Với mình thấy các khoá học giờ đắt quá.

Không có gì sai khi chọn học một ngành nghề vì tiền cả. Là người Châu Á, chúng ta quá quen với kiểu muốn con cái học bác sỹ, kỹ sư để mong con cái có thu nhập tốt, công danh sáng lạng. Nhưng lương IT ở Việt Nam không cao như nước ngoài hay trên internet hay nói đâu các bạn.

Mình thấy ở Việt Nam có nhiều cách kiếm tiền khoẻ hơn đi làm IT.

Trước đây mình có công ty riêng, biz riêng. Và mình thấy với cùng mức độ nỗ lực thì kinh doanh đem lại cho mình nhiều tiền hơn. Tuy nhiên vì mình có mục tiêu rất cụ thể, không phải vì tiền, nên mình chấp nhận và có thể bền bỉ học tiếp.

Có một câu chuyện khá hay mình đọc được trên Reddit, đó là người giàu có ở thung lũng Silicon không phải là mấy anh lập trình, mà là bà bán mì Ramen góc đường, net worth hàng chục triệu USD. Các anh dev luôn vui vẻ chi tiền khủng ở đây để bù lại những áp lực công việc của họ.

  • Nếu vấn đề của bạn là muốn kiếm tiền thì mình tin là có nhiều con đường khác nhanh hơn và dễ hơn, đỡ nhức đầu hơn. Không nhất thiết phải đâm đầu vào đây nếu bạn không thích nó.
  • Nếu bạn muốn theo đuổi vì cảm thấy nó hợp, sống với con số, biểu đồ nó làm bạn thoải mái, bạn muốn tạo giá trị bằng con đường này…. Thì mình ủng hộ bạn hết cỡ.

Khi các trung tâm nói là hỗ trợ việc làm, tức là họ đang lấp liếm. Thực ra họ chỉ hỗ trợ các bạn TÌM VIỆC cho đến khi có việc thì thôi. Còn bao lâu có việc thì họ không nói và mức độ hỗ trợ tới đâu cũng vô cùng mơ hồ.

Mình nằm vùng trong hàng chục group tuyển dụng việc data, mình kết nối với nhiều HR trên Linkedln và theo dõi việc làm Linkedin rất nhiều. Nhưng chả có chỗ nào cho thấy cái sự “HOT” “ nhu cầu cao” như các khoá học nói cả. Toàn bán khoá học với cả lừa đảo nhập liệu thôi.

Mình tin là những người dạy học ở các trung tâm đều là các anh chị có chuyên môn cao và biết thực tế thị trường, những quảng cáo kia là do team marketing dựa trên “truyền thông ở một vũ trụ song song nào đó” viết nên. Nên nếu các trung tâm có đọc được bài này thì hy vọng mọi người điều chỉnh lại cho đúng hơn

Data analytics là một kỹ năng quan trọng và ai cũng cần. Không theo chuyên nghiệp về data cũng nên học để nâng cấp skillset, tư duy,…

Nhưng chốt lại là không có chuyện cứ học data analyst ra là sẽ có việc, offer nghìn đô liền nhé anh em. Phải có các yếu tố khác nữa.

Từ: Gia Trường (Tinhte.vn)

Categories
Dev's Corner

Data Engineer là gì? Mọi thứ bạn cần biết về kỹ sư dữ liệu

Chúng ta rất dễ bỏ qua lượng dữ liệu được tạo ra hàng ngày – từ điện thoại thông minh, cuộc gọi Zoom cho đến máy rửa bát có kết nối Wi-Fi.

Người ta ước tính rằng thế giới sẽ tạo và lưu trữ 200 Zettabyte dữ liệu vào năm 2025. Mặc dù việc lưu trữ lượng dữ liệu này là một thách thức, nhưng việc rút lấy giá trị từ đó còn phức tạp hơn.

Từ năm 2020 đến năm 2022, tổng khối lượng dữ liệu doanh nghiệp sẽ tăng từ 1 lên 2,02 petabyte (PB). Tăng trung bình hàng năm 42,2% trong hai năm.

Có thể bạn đã quen với thuật ngữ “Dữ liệu lớn” (big data) – và quy mô của thị trường này đang tiếp tục tăng lên.

Thị trường phân tích big data dự kiến ​​đạt 103 tỷ đô vào năm 2023, với chất lượng dữ liệu kém khiến nền kinh tế Mỹ thiệt hại lên tới 3,1 nghìn tỷ đô la mỗi năm.

Các công ty trong danh sách Fortune 1000 có thể kiếm thêm thu nhập ròng hơn 65 triệu đô, chỉ bằng cách tăng khả năng truy cập dữ liệu của họ lên 10%.

Điều này nghĩa là điều quan trọng trong kinh doanh là các công ty có thể thu được giá trị từ dữ liệu của họ nhằm cung cấp thông tin tốt hơn cho các quyết định kinh doanh, bảo vệ doanh nghiệp và khách hàng cũng như phát triển doanh nghiệp.

Để làm được điều này, doanh nghiệp phải tuyển những người có bộ kỹ năng cụ thể phù hợp với chiến lược và quản trị dữ liệu, chẳng hạn như data engineer, data scientistML engineer.

Bài viết này sẽ trình bày tất cả những điều cơ bản về data engineer bao gồm các vai trò, chức năng và trách nhiệm chung.

Bạn cũng sẽ hiểu rõ hơn về tầm quan trọng của data engineer và tìm hiểu cách bắt đầu thu được nhiều giá trị hơn từ dữ liệu của mình.


Dừng lại chút nào, nếu bạn đang #open_to_work, thử nghía qua các công việc đang tuyển trên Gamba nhé. Vào LINK NÀY để xem các job Data hoặc scan QR Code ở bên dưới nhé.

Xem và ứng tuyển các 'data' job
Xem và ứng tuyển các ‘data’ job

Data Engineering là gì?

Khi nói đến việc tăng thêm giá trị cho dữ liệu, có nhiều điều bạn phải tính đến – cả bên trong và bên ngoài công ty.

Công ty của bạn có thể tạo dữ liệu từ các hệ thống hoặc sản phẩm nội bộ, tích hợp với các ứng dụng và nhà cung cấp bên thứ ba, đồng thời phải cung cấp dữ liệu ở định dạng cụ thể cho những người dùng (nội bộ và bên ngoài) và các trường hợp sử dụng khác nhau.

Dữ liệu được tạo và thu thập từ doanh nghiệp của bạn có thể có các yêu cầu tuân thủ như SOC2 hoặc Thông tin nhận dạng cá nhân (PII) mà bạn bắt buộc phải bảo vệ về mặt pháp lý.

Trong trường hợp này, bảo mật trở thành ưu tiên hàng đầu đối với dữ liệu, điều này dẫn đến những thách thức kỹ thuật đối với dữ liệu đang chuyển và ở trạng thái nghỉ. 

Dữ liệu của bạn không chỉ phải an toàn mà còn phải có sẵn cho người dùng cuối, tuân thủ các yêu cầu kinh doanh và có tính toàn vẹn (tính chính xác và nhất quán).

Nếu dữ liệu được bảo mật nhưng không sử dụng được, nó không thể tăng thêm giá trị cho công ty. Có nhiều khía cạnh đối với một chiến lược quản trị dữ liệu đòi hỏi các kỹ năng chuyên biệt.

Đây là lúc data engineer (kỹ sư dữ liệu) phát huy tác dụng.

Vai trò của Data Engineer

Một kỹ sư dữ liệu giống như một con dao đa năng Thụy Sĩ trong không gian dữ liệu. Data Engineer có nhiều vai trò và trách nhiệm, thường phản ánh một hoặc nhiều phần quan trọng của data engineering, đã đề cập bên trên.

Vai trò của một kỹ sư dữ liệu sẽ thay đổi tùy thuộc vào nhu cầu cụ thể của tổ chức của bạn.

Vai trò của một kỹ sư dữ liệu là lưu trữ, trích xuất, chuyển đổi, tải, tổng hợp và xác thực dữ liệu. Điều này bao gồm:

  • Xây dựng quy trình dữ liệu (data pipeline và lưu trữ dữ liệu hiệu quả cho các công cụ cần truy vấn dữ liệu.
  • Phân tích dữ liệu, đảm bảo dữ liệu tuân thủ các quy tắc và quy định quản trị dữ liệu.
  • Hiểu ưu và nhược điểm của các phương án lưu trữ và truy vấn dữ liệu.

Ví dụ: một doanh nghiệp có thể đang sử dụng Amazon Web Services (AWS) làm nhà cung cấp dịch vụ đám mây và bạn muốn lưu trữ và truy vấn dữ liệu từ các hệ thống khác nhau.

Phương án tốt nhất sẽ khác nhau tùy thuộc vào việc dữ liệu của bạn có cấu trúc hay không có cấu trúc (hoặc thậm chí bán cấu trúc), chuẩn hóa hay không chuẩn hóa và liệu bạn cần dữ liệu ở định dạng dữ liệu hàng hay cột.

Dữ liệu của bạn có quan trọng / dựa trên giá trị không? Có các mối quan hệ phức tạp giữa các dữ liệu không? Dữ liệu có cần được xử lý hoặc kết hợp với các tập dữ liệu khác không?

Tất cả những quyết định này ảnh hưởng đến cách một data engineer nhập, xử lý, quản lý và lưu trữ dữ liệu.

Data Team gồm những ai? Ảnh: phData
Data Team gồm những ai? Ảnh: phData

Cách data engineer gia tăng giá trị

Thay vì mô tả trừu tượng, đây là kịch bản: CEO muốn biết doanh nghiệp của bạn có thể tiết kiệm được bao nhiêu tiền bằng cách mua hàng loạt nguyên vật liệu và phân phối chúng đến các địa điểm khác nhau.

Bạn cần có khả năng xác định cách tính phí lại bất kỳ vật liệu không sử dụng nào cho các đơn vị kinh doanh khác nhau.

Điều này có thể cần bạn tổng hợp dữ liệu từ hệ thống ERP, hệ thống chuỗi cung ứng, các nhà cung cấp bên thứ ba và dữ liệu xung quanh cấu trúc doanh nghiệp nội bộ.

Trước đây, một số công ty có thể đã cố gắng tạo báo cáo này trong Excel, nhờ nhiều nhà phân tích kinh doanh và kỹ sư đóng góp vào việc khai thác và thao tác dữ liệu.

Kỹ sư dữ liệu cho phép một tổ chức thu thập dữ liệu một cách hiệu suất và hiệu quả từ nhiều nguồn khác nhau, nói chung là lưu dữ liệu đó vào một hồ dữ liệu (data lake) hoặc thành một số chủ đề Kafka.

Khi dữ liệu đã được thu thập từ mỗi hệ thống, data engineer có thể xác định cách kết hợp tối ưu các bộ dữ liệu.

Với điều đó, các kỹ sư dữ liệu có thể xây dựng các quy trình dữ liệu cho phép dữ liệu chảy ra khỏi hệ thống nguồn.

Kết quả của quy trình dữ liệu này sau đó được lưu ở một vị trí riêng biệt – thường ở định dạng mà các công cụ thông minh kinh doanh khác nhau có thể truy vấn.

Các kỹ sư dữ liệu cũng chịu trách nhiệm đảm bảo rằng các quy trình dữ liệu này có đầu vào và đầu ra chính xác. Điều này thường liên quan đến việc đối chiếu dữ liệu hoặc các quy trình dữ liệu bổ sung để xác nhận đối với các hệ thống nguồn.

Các kỹ sư dữ liệu cũng phải đảm bảo rằng các quy trình dữ liệu lưu chuyển liên tục và thông tin luôn được cập nhật, sử dụng các công cụ giám sát và thực hành SRE (Site Reliability Engineering – kỹ thuật quản lý độ tin cậy) khác nhau.

Nói một cách dễ hiểu, data engineer gia tăng giá trị khi họ tự động hóa và tối ưu hóa các hệ thống phức tạp, biến dữ liệu thành một tài sản kinh doanh có thể truy cập và sử dụng được.

ELT và ETL

Quy trình dữ liệu có nhiều loại khác nhau và vai trò của data engineer là biết nên sử dụng chiến lược nào và tại sao.

Hai chiến lược phổ biến nhất xoay quanh các khái niệm trích xuất, tải và chuyển đổi (ELT) dữ liệu. Trước tiên, dữ liệu luôn phải được trích xuất theo cách nào đó từ một nguồn dữ liệu, nhưng những gì sẽ xảy ra tiếp theo không đơn giản như vậy.

ELT thường thấy trong các kiến ​​trúc hồ dữ liệu hoặc hệ thống cần dữ liệu trích xuất thô từ nhiều nguồn. Điều này cho phép các quy trình và hệ thống khác nhau xử lý dữ liệu từ cùng trích xuất.

Nếu bạn kết hợp dữ liệu từ nhiều hệ thống và nguồn khác nhau, sẽ có lợi khi đồng định vị dữ liệu đó và lưu trữ ở một nơi trước khi thực hiện chuyển đổi sang dữ liệu.

MẸO CHUYÊN NGHIỆP: Nói chung, luồng công việc loại ELT chính là một quy trình ELT-L, nơi dữ liệu đã chuyển đổi sau đó được tải vào một vị trí khác để tiêu thụ như Snowflake, AWS Redshift hoặc Hadoop.

Ngược lại, quy trình ETL (trích xuất, chuyển đổi, tải) đặt việc tính toán nặng khi chuyển đổi trước khi tải kết quả vào tệp hệ thống, cơ sở dữ liệu hoặc kho dữ liệu.

Kiểu cách này thường không hiệu quả so với quy trình ELT, vì dữ liệu cho mỗi lô hoặc luồng thường được yêu cầu từ các hệ thống phụ thuộc hoặc liên quan.

Điều này nghĩa là trên mỗi lần thực thi, bạn sẽ phải truy vấn lại dữ liệu từ các hệ thống cần thiết, thêm tải cho các hệ thống đó và thêm thời gian chờ dữ liệu có sẵn.

Tuy nhiên, trong trường hợp các chuyển đổi đơn giản được áp dụng cho một nguồn dữ liệu duy nhất, ETL có thể thích hợp hơn vì nó làm giảm độ phức tạp của hệ thống, nhưng có khả năng phải trả giá bằng khả năng trao quyền dữ liệu (data enablement)

Khuyến nghị chung là sử dụng các quy trình ELT khi có thể để tăng hiệu suất, tính khả dụng và khả năng trao quyền của dữ liệu.

Hiệu suất

Việc có dữ liệu chính xác và sẵn có cho data engineer không đơn giản. Dữ liệu cũng phải hiệu quả.

Khi xử lý gigabyte, terabyte hoặc thậm chí petabyte dữ liệu, các quy trình và kiểm tra phải được thực hiện để đảm bảo dữ liệu đáp ứng các thỏa thuận mức dịch vụ (SLA) và gia tăng giá trị cho doanh nghiệp nhanh nhất có thể.

Điều quan trọng nữa là xác định ý nghĩa của hiệu suất đối với dữ liệu của bạn.

Các data engineer cần tính đến tần suất họ nhận được dữ liệu mới, thời gian chạy quá trình chuyển đổi và mất bao lâu để cập nhật điểm đến đích của dữ liệu.

Các đơn vị kinh doanh thường muốn thông tin cập nhật càng sớm càng tốt, đồng thời có những điểm dừng và chuyển động trong hành trình của dữ liệu mà các data engineer phải tính đến.

Ví dụ:

Hãy tưởng tượng nếu công ty của bạn là một hãng hàng không và bạn muốn cung cấp giá cho khách hàng dựa trên đầu vào từ nhiều hệ thống khác nhau để đưa ra mức giá cho khách hàng.

Nếu giá của bạn quá cao, khách hàng sẽ đặt vé với các hãng hàng không khác. Nếu giá của bạn quá thấp, tỷ suất lợi nhuận của bạn sẽ bị ảnh hưởng.

Đột nhiên, kênh đào Suez bị tắc nghẽn và các tàu vận tải vận chuyển dầu không thể đi ra khỏi Ả-rập Xê-út, làm gián đoạn chuỗi cung ứng toàn cầu và khiến giá dầu và khí đốt tăng cao.

Máy bay thương mại sử dụng rất nhiều nhiên liệu, lên tới gần 20 tỷ gallon mỗi năm. Điều này sẽ ảnh hưởng đáng kể đến chi phí vận hành doanh nghiệp của bạn và phải được phản ánh nhanh nhất có thể trong việc định giá của bạn.

Để điều này xảy ra, các kỹ sư dữ liệu phải thiết kế và triển khai các quy trình dữ liệu hiệu quả và hoạt động tốt.

Tích hợp liên tục và phân phối liên tục

Code không bao giờ là một giải pháp kiểu “lên và quên”. Các yêu cầu về quản trị dữ liệu, công cụ, thực hành tốt nhất, quy trình bảo mật và các yêu cầu kinh doanh luôn nhanh chóng thay đổi và thích ứng; môi trường sản xuất của bạn cũng phải như vậy.

Điều này có nghĩa là việc triển khai cần phải được tự động hóa và có thể xác minh được.

Các kiểu triển khai phần mềm cũ hơn thường dẫn đến việc chạy bản dựng, sao chép và dán kết quả vào máy chủ sản xuất của bạn và thực hiện “smoke test” thủ công để xem ứng dụng có hoạt động như mong đợi hay không.

Việc này không thể mở rộng và gây rủi ro cho doanh nghiệp của bạn.

Nếu bạn đang thử nghiệm trực tiếp trên môi trường sản xuất, bất kỳ lỗi hoặc vấn đề nào mà bạn có thể đã bỏ qua trong quá trình kiểm thử (hoặc bất kỳ ảnh hưởng nào của môi trường cụ thể lên mã của bạn), sẽ dẫn đến trải nghiệm khách hàng kém vì những lỗi hoặc lỗi này sẽ xảy ra với người dùng cuối.

Thực tiễn tốt nhất để đẩy code lên là thiết lập các quy trình tự động để xác minh code hoạt động như mong đợi trong các tình huống khác nhau.

Điều này thường được thực hiện với các bài kiểm thử đơn vị và kiểm thử tích hợp.

Các kiểm thử đơn vị xác minh rằng các đoạn mã riêng lẻ sẽ tạo ra các đầu ra mong đợi một cách độc lập với mã khác sử dụng đoạn mã đó.

Những điều này là để xác minh logic phức tạp trong từng đoạn mã, cũng như cung cấp bằng chứng rằng mã thực thi đúng như mong đợi.

Một cấp độ khác từ đó là kiểm tra tích hợp. Việc này đảm bảo rằng các đoạn mã hoạt động cùng nhau và tạo ra (các) đầu ra mong đợi cho một tập hợp các đầu vào nhất định.

Đây thường là lớp kiểm tra quan trọng hơn, vì nó đảm bảo rằng các hệ thống tích hợp với nhau như mong đợi.

Bằng cách kết hợp các bài kiểm thử đơn vị và kiểm thử tích hợp với các chiến lược triển khai hiện đại như triển khai xanh lam-xanh lá (blue – green deployment), xác suất tác động đến khách hàng và doanh nghiệp của bạn bằng mã mới sẽ giảm đáng kể.

Mọi thứ đều được xác thực dựa trên các bài kiểm thử đã thiết lập trước khi các thay đổi được đưa vào môi trường.

Phục hồi sau thảm họa

Nhiều doanh nghiệp tập trung vào việc cung cấp càng nhiều giá trị cho khách hàng càng nhanh càng tốt, nhưng điều quan trọng là đảm bảo rằng bạn có kế hoạch trong trường hợp hệ thống gặp sự cố.

Trong khi nhiều công ty phụ thuộc rất nhiều vào các nhà cung cấp đám mây để giảm thiểu thời gian ngừng hoạt động và đảm bảo SLA, thất bại chắc chắn sẽ xảy ra.

Điều này có nghĩa là các hệ thống phải được thiết kế để chịu được lỗi hệ thống nghiêm trọng.

Khôi phục sau thảm họa trong data engineering thường rơi vào chỉ số:

  • Mục tiêu thời gian khôi phục (RTO)
  • Mục tiêu điểm phục hồi (RPO)

Trong trường hợp xảy ra tình huống khôi phục thảm họa, các doanh nghiệp cần phải có các tiêu chuẩn để hiểu tác động đến khách hàng của họ và hệ thống của họ sẽ không hoạt động trong bao lâu.

Các kỹ sư dữ liệu chịu trách nhiệm đưa các quy trình vào đúng vị trí để đảm bảo rằng các quy trình dữ liệu, cơ sở dữ liệu và kho dữ liệu đáp ứng các chỉ số này.

Ví dụ:

Hãy tưởng tượng nếu công ty của bạn là một hãng hàng không và bạn cần cung cấp cho khách hàng khả năng đặt vé máy bay, nhưng đột nhiên, trung tâm dữ liệu của bạn phát nổ.

Doanh nghiệp của bạn đã thiết lập quy trình đồng bộ hóa dữ liệu để sao chép dữ liệu sang một trung tâm dữ liệu khác, nhưng quy trình đó đã bị gián đoạn và xảy ra mất mát dữ liệu.

Bạn cần thiết lập lại cơ sở dữ liệu chính trong bộ ứng dụng của mình từ cơ sở dữ liệu được sao chép.

RPO thể hiện lượng dữ liệu bị mất trong khoảng thời gian đó và RTO thể hiện thời gian khách hàng không thể đặt chuyến bay.

Các kỹ sư dữ liệu thường xuyên phải đánh giá, thiết kế và triển khai các hệ thống để giảm thiểu tác động đến khách hàng trong trường hợp hỏng hóc.

Data Governance là gì?

Một chiến lược quản trị dữ liệu (data governance) là điều cần thiết cho sự thành công của tổ chức và dữ liệu của nó.

Đây là một chủ đề rất phức tạp mà chúng tôi đã đề cập ở những nơi khác, nhưng ở cấp độ cao, quản trị dữ liệu được cấu trúc như sau:

Data Governance là gì? Ảnh: phData
Data Governance là gì? Ảnh: phData

Để dữ liệu của bạn cung cấp giá trị cho doanh nghiệp đồng thời giảm thiểu rủi ro và chi phí, bạn sẽ cần xác định và thực thi câu trả lời cho khá nhiều câu hỏi:

  • Ai có quyền truy cập vào dữ liệu của tôi?
  • Làm cách nào để kiểm tra và cung cấp quyền truy cập?
  • Dữ liệu được lưu trữ vật lý như thế nào trong một hệ thống và trên các hệ thống?
  • Công ty của tôi tuân theo các tiêu chuẩn và thông lệ mã hóa dữ liệu nào?
  • Làm cách nào để xác thực dữ liệu trong các báo cáo khác nhau đến từ đâu?
  • Làm cách nào để xác thực tính đúng đắn của một báo cáo mà tôi đang đưa ra quyết định kinh doanh quan trọng?
  • Làm cách nào để người dùng tìm thấy dữ liệu trong hệ thống của tôi?

Đây là những câu hỏi rất phức tạp thường có câu trả lời phức tạp và đòi hỏi kiến ​​thức từ các lĩnh vực kinh doanh và công nghệ khác nhau:

  • Doanh nghiệp của bạn cần xác định cách dữ liệu làm tăng giá trị cho tổ chức.
  • Nhân viên bảo mật của bạn cần xác định các tiêu chí để mã hóa và quản lý truy cập.
  • Các kỹ sư dữ liệu của bạn cần có khả năng liên kết dữ liệu với nhau và làm chủ các kho dữ liệu cho người dùng cuối.
  • Tất cả điều này cần được quản lý và thực thi bởi các thành viên đa chức năng trong tổ chức.

Data Governance khác với Data Engineering như thế nào?

Quản trị dữ liệu tập trung hơn vào quản trị dữ liệu và kỹ thuật dữ liệu tập trung vào thực thi dữ liệu.

Mặc dù kỹ sư dữ liệu là một phần của chiến lược quản trị dữ liệu tổng thể, nhưng quản trị dữ liệu bao gồm nhiều thứ hơn là thu thập và quản lý dữ liệu.

Khó mà nói một tổ chức có một thực tiễn quản trị dữ liệu hiệu quả nếu không có các kỹ sư dữ liệu thực hiện nó.

Ví dụ: hãy xem một số câu hỏi của chúng tôi ở trên, lưu ý các kỹ sư dữ liệu và cách họ hoàn thành từng nhiệm vụ.

Ai có quyền truy cập vào dữ liệu?

Trong thực tiễn quản trị dữ liệu, các quy tắc và quy định xác định ai nên có quyền truy cập vào các phần thông tin cụ thể trong tổ chức.

Nếu là công ty vận chuyển, bạn có thể cần tách biệt dữ liệu mà nhà cung cấp và khách hàng có thể xem tại bất kỳ thời điểm nào hoặc đảm bảo rằng các nhà cung cấp khác nhau không thể xem thông tin về các nhà cung cấp khác.

Điều này yêu cầu các ràng buộc về phân loại, gắn thẻ và truy cập dữ liệu.

Nếu bạn đang thu thập dữ liệu từ các hệ thống khác nhau, kỹ sư dữ liệu chịu trách nhiệm áp dụng các quy tắc phân loại và gắn thẻ khi thu thập.

Điều này có thể bao gồm việc thêm các điểm dữ liệu bổ sung vào dữ liệu đã thu thập hoặc lưu trữ dữ liệu riêng biệt trên đĩa. 

Sau đó, khi dữ liệu được tổng hợp hoặc chuyển đổi, kết quả cuối cùng phải bao gồm cùng thông tin này. Khi thiết lập các ràng buộc truy cập đối với dữ liệu, kỹ sư dữ liệu cũng phải thực thi các chính sách được yêu cầu.

Làm cách nào điều chỉnh và cung cấp quyền truy cập?

Để được coi là tuân thủ nhiều quy định bắt buộc của doanh nghiệp, bạn phải có khả năng theo dõi ai có quyền truy cập vào dữ liệu của bạn và những thay đổi đối với quyền truy cập đó.

Điều này cũng bao gồm việc thông báo cho người dùng dữ liệu về những thay đổi đối với dữ liệu.

Nếu bạn là người tiêu dùng của một tập hợp dữ liệu và nó thay đổi mà bạn không biết, hệ thống có thể bị hỏng. Điều này có nghĩa là việc có thể theo dõi ai và ai nên sử dụng dữ liệu là rất quan trọng.

Mặc dù các thực tiễn quản trị dữ liệu xác định những quy tắc đó nên là gì, nhưng trách nhiệm của các kỹ sư dữ liệu là đưa những quy tắc đó vào đúng vị trí.

Điều này có nghĩa là thiết lập các quy tắc IAM trong AWS hoặc Microsoft Azure để đảm bảo rằng một số vai trò nhất định chỉ có thể đọc dữ liệu từ các nguồn và hệ thống khác nhau.

Sau đó, nhóm bảo mật có trách nhiệm xác thực rằng người dùng chỉ có quyền truy cập vào các vai trò thích hợp.

Làm thế nào dữ liệu được lưu trữ vật lý trong một hệ thống và trên toàn hệ thống?

Kỹ sư dữ liệu chịu trách nhiệm lưu trữ dữ liệu được thu thập và chuyển đổi ở nhiều vị trí khác nhau tùy thuộc vào yêu cầu của doanh nghiệp.

Mỗi bộ công cụ và vị trí sẽ có các cách khác nhau để dữ liệu được lưu trữ và truy cập, và kỹ sư dữ liệu phải tính đến các giới hạn, lợi ích và trường hợp sử dụng cho từng vị trí và tập hợp dữ liệu.

Ví dụ:

Giả sử doanh nghiệp của bạn đang nhập một triệu bản ghi mỗi ngày cho một nguồn dữ liệu cụ thể.

Nếu bạn đang lưu trữ tệp này trên đĩa, bạn không thể chỉ thêm vào một tệp đơn lẻ, (Nó giống như mò kim đáy bể!)

Nếu bạn đang cố gắng tạo báo cáo hoặc cung cấp cho người dùng cuối một phần thông tin cụ thể, bạn sẽ không bao giờ có thể tìm thấy nó.

Các kỹ sư dữ liệu sẽ:

  • Biết rằng dữ liệu này cần được phân vùng trên các tệp và thư mục khác nhau trong hệ thống tệp của bạn để tách dữ liệu.
  • Đánh giá dữ liệu và cách dữ liệu được tải và sử dụng để xác định cách thích hợp để chia nhỏ dữ liệu.
  • Xác định cách cập nhật các phần dữ liệu cụ thể khi các thay đổi được áp dụng cho nguồn dữ liệu.

Quản trị dữ liệu và các quy tắc xung quanh nó có thể xác định quyền truy cập dữ liệu vào các phân vùng đó và có thể yêu cầu các chỉ số hiệu suất của dữ liệu đó.

Tuy nhiên, các thành viên của nhóm quản trị dữ liệu sẽ không có bộ kỹ năng để thiết lập các vai trò truy cập đó hoặc lấy các chỉ số đó.

Data Science là gì?

Nếu bạn đang cố gắng tìm kiếm giá trị từ các tập dữ liệu khác nhau, bạn sẽ bắt đầu từ đâu?

Ví dụ: nếu bạn có dữ liệu về khách hàng và đơn hàng của họ, bạn có thể cố gắng tìm ra những mặt hàng bổ sung nào bạn có thể bán cho họ dựa trên các đơn hàng khác. Nếu bạn có thể biết tương quan giữa khách hàng và việc mua hàng của họ, bạn có thể bán thêm cho các đơn hàng trong tương lai.

Điều này có thể đơn giản nếu bạn có một nhóm khách hàng và đơn hàng nhỏ.

Bạn có thể thuê các nhà phân tích kinh doanh (business analyst) là chuyên gia trong công ty của bạn và đã làm việc với khách hàng trong nhiều năm để có thể suy ra những gì khách hàng muốn.

Nhưng…

  • Điều gì sẽ xảy ra nếu bạn có hàng triệu khách hàng và hàng triệu giao dịch?
  • Điều gì sẽ xảy ra nếu bạn có các nhà cung cấp bên ngoài cung cấp cho bạn thông tin bổ sung về khách hàng của bạn?
  • Điều gì sẽ xảy ra nếu dữ liệu của bạn không có cấu trúc và không thể dễ dàng kết hợp với các tập dữ liệu khác?
  • Làm thế nào để bạn biết rằng các phần thông tin cụ thể thực sự có mối tương quan và đưa ra quyết định dựa trên dữ liệu chứ không phải cảm tính?

Đây là lúc khoa học dữ liệu (data science) đi vào bức tranh.

Các nhà khoa học dữ liệu được giao nhiệm vụ sử dụng các phương pháp, quy trình, thuật toán và hệ thống khoa học để trích xuất những hiểu biết kinh doanh có giá trị từ dữ liệu có cấu trúc và phi cấu trúc.

Mô hình hóa dữ liệu là gì?

Để hiểu kết quả công việc của nhà khoa học dữ liệu trông như thế nào, chúng ta phải hiểu mô hình dữ liệu là gì.

Mô hình hóa dữ liệu là quá trình dữ liệu được xác định, phân tích và cấu trúc để tạo ra một đầu ra có ý nghĩa.

Điều này thường có nghĩa là nhập dữ liệu từ nhiều nguồn khác nhau, cấu trúc nó thành các thực thể và mối quan hệ khác nhau, thực hiện các phép tính đối với dữ liệu và xác thực đầu ra.

Data Modeling là gì? Ảnh: phData
Data Modeling là gì? Ảnh: phData

Mục tiêu của mô hình hóa dữ liệu là để minh họa hoặc tính toán các kết nối giữa các điểm và cấu trúc dữ liệu.

Quay trở lại ví dụ về khách hàng và giao dịch của chúng ta, mô hình dữ liệu sẽ cho chúng ta thấy các khách hàng và giao dịch khác nhau liên quan với nhau như thế nào, vì vậy chúng tôi có thể bắt đầu thực hiện một số phân tích thống kê về mức độ liên quan chặt chẽ của chúng.

Một đầu ra tiềm năng của mô hình dữ liệu này là những khách hàng đã mua tã có khả năng mua nước rửa tay cao hơn 80% so với những khách hàng không mua.

Ngoài ra còn có các loại mô hình dữ liệu khác nhau:

  • Mô hình vật lý: lược đồ hoặc khuôn khổ về cách dữ liệu được lưu trữ vật lý trên đĩa hoặc trong cơ sở dữ liệu.
  • Mô hình khái niệm: cấu trúc và khái niệm kinh doanh cấp cao.
  • Mô hình dữ liệu logic: các kiểu thực thể, kiểu dữ liệu và thuộc tính, mối quan hệ giữa các thực thể.

Cách nhà khoa học dữ liệu gia tăng giá trị

Các nhà khoa học dữ liệu thường có nền tảng toán học, thống kê và lập trình vững chắc.

Khi làm việc với Dữ liệu lớn, rất khó xác định giá trị theo cách thủ công. Còn nhớ “mò kim đáy bể” chứ?

Thay vào đó, các nhà khoa học dữ liệu phải làm việc với dữ liệu để xác thực các lý thuyết và mô hình thống kê.

Trong ví dụ về mô hình dữ liệu của chúng ta, chúng ta có thể xác định rằng những khách hàng đã mua tã có khả năng mua nước rửa tay cao hơn 80% so với những khách hàng không mua.

Mặc dù đây là một kết luận đơn giản và hợp lý, nhưng đôi khi các tổ chức có những mối quan hệ phức tạp hơn giữa dữ liệu của họ và giá trị kinh doanh.

Cũng có thể là tổ chức của bạn có quá nhiều dữ liệu mà bạn thậm chí không biết bắt đầu từ đâu.

Các công ty trong danh sách Fortune 1000 có thể kiếm thêm thu nhập ròng hơn 65 triệu đô la bằng cách tăng khả năng truy cập dữ liệu của họ lên 10%.

Đây là lý do tại sao các công ty cần có các nhà khoa học dữ liệu tạo mô hình dữ liệu và thực hiện phân tích trên dữ liệu – giúp các đơn vị kinh doanh có thể truy cập được.

Rất thực tế là doanh nghiệp của bạn có thể bán kèm hoặc bán thêm các dịch vụ cho khách hàng hiệu quả hơn hoặc doanh nghiệp của bạn có thể tiết kiệm tiền bằng cách sử dụng các mô hình dữ liệu để dự đoán việc sử dụng tài nguyên.

Phân tích dự đoán (Predictive analysis) là gì?

Mặc dù bán chéo và bán thêm (cross sell và up sell) dịch vụ là một khái niệm bình thường đối với hầu hết các doanh nghiệp bán sản phẩm hoặc dịch vụ, nhưng phân tích dự đoán sẽ bổ sung một lớp giá trị kinh doanh khó hình thành hơn.

Giả sử bạn là một công ty vận chuyển và bạn đã được CEO giao nhiệm vụ tối đa hóa lợi nhuận và giảm thiểu chi phí hoạt động. Đây là mục tiêu của mọi doanh nghiệp, phải không?

Bạn sẽ bắt đầu từ đâu?

Bạn có thể cố gắng xác định các tuyến đường vận chuyển thường xuyên được sử dụng và đảm bảo rằng bạn có xe tải thường xuyên giao hàng qua lại mà không phải chờ đợi giữa các chuyến hàng quá lâu.

Tuy nhiên:

  • Làm thế nào để bạn xác định thời tiết sẽ ảnh hưởng đến điều kiện lái xe như thế nào?
  • Làm thế nào để bạn tối ưu hóa các tuyến đường trong trường hợp một cây cầu bị sập?
  • Làm thế nào để bạn biết được thời điểm lý tưởng để lái xe qua từng thành phố mà không gặp phải lượng lớn giao thông?

Đây là một ví dụ tuyệt vời khác về việc một mô hình dữ liệu và các nhà khoa học dữ liệu bổ sung thêm rất nhiều giá trị.

Nhà khoa học dữ liệu chịu trách nhiệm lập mô hình từng điểm dữ liệu có thể ảnh hưởng đến tuyến đường vận chuyển, tính toán các rủi ro và tác động của từng điểm theo chương trình và tính toán các kết luận để thông báo cho doanh nghiệp về cách hoạt động.

Với phân tích dự đoán, doanh nghiệp của bạn có khả năng tìm thấy mối tương quan giữa các dữ liệu mà trước đây được cho là vô dụng hoặc không có khả năng ảnh hưởng đến các tình huống khác nhau.

Data Engineer khác với Data Scientist ra sao?

Đối với các nhà khoa học dữ liệu để có thể mô hình hóa dữ liệu một cách hiệu quả, các thực tiễn quản trị dữ liệu phải được áp dụng để đảm bảo chất lượng và độ chính xác của dữ liệu.

Sau đó, các kỹ sư dữ liệu chịu trách nhiệm ban hành các chính sách này và giám sát chất lượng và hiệu suất dữ liệu. Các kỹ sư dữ liệu cũng cung cấp nguồn dữ liệu mà các nhà khoa học dữ liệu sử dụng để tạo mô hình dữ liệu.

Mặc dù các kỹ sư dữ liệu có thể thực hiện các chuyển đổi và tổng hợp quy mô lớn trên dữ liệu, nhưng cần phải có một phân tích để xác định cách dữ liệu nên được xử lý.

Kỹ sư dữ liệu phải biết dữ liệu có liên quan như thế nào và nó nên được thao tác như thế nào để tạo ra kết quả mong muốn.

Trong các ví dụ cơ bản, một kỹ sư dữ liệu có thể hợp tác với doanh nghiệp để vạch ra điều này, nhưng trong các hệ thống phức tạp hơn, một nhà khoa học dữ liệu cần phải phân tích thêm.

Trong một số trường hợp, mô hình dữ liệu có thể yêu cầu một thuật toán và quy trình biến đổi phức tạp hơn so với một kỹ sư dữ liệu tổng quát có thể xử lý.

Có thể có các phương trình toán học phức tạp và phân tích thống kê phải được lấy từ một mẫu thử nghiệm hoặc ví dụ quy mô nhỏ và được sản xuất hóa.

Đây là lúc bạn cần tuyển một ML Engineer (kỹ sư học máy).

Kỹ sư học máy (Machine Learning Engineer) là gì?

Kỹ sư học máy là giao điểm của kỹ thuật dữ liệu và khoa học dữ liệu.

Những kỹ sư này thường có nền tảng toán học vững chắc hơn một kỹ sư dữ liệu điển hình, nhưng không đến mức như một nhà khoa học dữ liệu.

Các kỹ sư này có thể tận dụng các khuôn khổ và công cụ kỹ thuật dữ liệu trong hệ sinh thái dữ liệu lớn, áp dụng các mô hình dữ liệu do các nhà khoa học dữ liệu tạo ra cho dữ liệu đó và sản xuất hóa quá trình triển khai các mô hình này.

Đây không phải là một nhiệm vụ đơn giản.

Các kỹ sư học máy cần phải thành thạo về cấu trúc dữ liệu và thuật toán, cả từ góc độ toán học và tính toán.

Để mô hình dữ liệu được sản xuất, dữ liệu phải được nhập vào mô hình và các tính toán chạy trong môi trường hiệu suất cao.

Điều này có nghĩa là có khả năng xử lý hàng terabyte dữ liệu thời gian thực để thúc đẩy các quyết định kinh doanh.

Các kỹ sư học máy làm việc với các nhà khoa học dữ liệu như thế nào?

Khi các nhà khoa học dữ liệu làm việc với dữ liệu để chứng minh các mô hình, công việc thường được thực hiện trong các môi trường như Python hoặc R, bên trong một sổ ghi chép phân tích như Jupyter.

Sổ này này chạy với một cụm để dịch các truy vấn thành một công cụ dành riêng cho nền tảng dữ liệu lớn như Spark.

Mặc dù cách tiếp cận này giảm thiểu kinh nghiệm phát triển và thời gian cần thiết để thu được giá trị, nhưng nó đòi hỏi thêm nhiều việc để sản xuất hóa. Thường bao gồm:

  • Kiểm tra chất lượng dữ liệu
  • Tối ưu hóa hiệu suất truy vấn
  • Tạo hệ sinh thái CI / CD xung quanh những thay đổi đối với mô hình
  • Đưa dữ liệu từ nhiều nguồn khác nhau vào mô hình dữ liệu
  • Học máy và các kỹ thuật khoa học dữ liệu cho các hệ thống phân tán

Mặc dù một số kỹ năng này trùng lặp với kỹ sư dữ liệu (nhập dữ liệu, kiểm tra chất lượng dữ liệu, v.v.), các trách nhiệm và kỹ năng cần thiết được tập trung đáng kể vào một số lĩnh vực kỹ thuật dữ liệu.

Những kỹ năng cần thiết của Data Engineer?

Không có câu trả lời đơn giản cho câu hỏi này – nhưng hãy cùng tìm hiểu một số điều cơ bản

Lưu trữ và tính toán dữ liệu

Dữ liệu có thể được lưu trữ ở nhiều định dạng tệp khác nhau trong hệ thống tệp và theo những cách khác nhau trong cơ sở dữ liệu và kho dữ liệu.

Mỗi định dạng khác nhau này được tối ưu cho một trường hợp sử dụng cụ thể và các kỹ sư dữ liệu chịu trách nhiệm tìm hiểu công cụ phù hợp cho công việc.

Ví dụ: nếu bạn đang lưu trữ dữ liệu trên đĩa trong một hồ dữ liệu, có một số tùy chọn phổ biến cho các định dạng dữ liệu:

  • Parquet
  • Avro
  • ORC

Các định dạng dữ liệu này thường được điều khiển bởi một trung tâm theo dõi vị trí của dữ liệu để truy vấn dữ liệu.

Tùy thuộc vào công cụ bạn đang sử dụng, cú pháp truy vấn, mẫu truy cập, hiệu suất và khả năng sẽ khác nhau. Các ví dụ phổ biến bao gồm:

  • Apache Hive
  • Databricks Delta Lake
  • AWS Glue Catalog

Dữ liệu cũng có thể được lưu trữ trong các nền tảng dựa trên luồng cho phép các hệ thống phân tán cao.

Đây thường là một kiến ​​trúc pub / sub cho phép nhiều người tiêu thụ dữ liệu nhận các bản cập nhật từ một nhà xuất bản dữ liệu. Các ví dụ phổ biến bao gồm:

  • Apache Kafka
  • AWS Kinesis và AWS Kinesis Firehose
  • RabbitMQ

Khi dữ liệu đã được lưu trữ, thông thường nó sẽ cần được xử lý để đạt được trạng thái mong muốn.

Điều này có thể liên quan đến việc lấy dữ liệu từ nhiều nguồn khác nhau, kết hợp dữ liệu đó với nhau, thực hiện tổng hợp trên đó và sau đó đưa kết quả vào vị trí cuối cùng.

Có nhiều phương án tính toán thường được sử dụng trong quy trình dữ liệu:

  • Apache Spark
  • Databricks
  • AWS Glue

Đầu ra của các quy trình dữ liệu này sau đó thường sẽ được đưa trở lại vào một hồ dữ liệu, sử dụng các định dạng dữ liệu và vị trí truyền dữ liệu được đề cập bên trên.

Trong một số trường hợp, khách hàng muốn đưa dữ liệu này vào cơ sở dữ liệu hoặc kho dữ liệu như Snowflake hoặc AWS Redshift.

Các công cụ này cho phép điều chỉnh hiệu suất dữ liệu hơn nữa, trao quyền dữ liệu và tích hợp với công cụ của bên thứ ba.

Hiểu biết về Cloud và On-Premises

Nhiều công ty có hệ thống on-premises (tại chỗ) và đang chuyển sang các giải pháp dựa trên đám mây như Amazon Web Services (AWS) và Microsoft Azure.

Điều này đòi hỏi một tập hợp các kỹ năng khác nhau và các kỹ sư phải có khả năng hiểu được sự khác biệt trong cách các hệ thống này hoạt động.

Nói chung, khi làm việc với khối lượng công việc tại chỗ, các kỹ sư không tập trung vào thời gian thực thi và mức sử dụng bộ nhớ cho đến khi chúng trở thành những người hàng xóm xấu tính với các quy trình khác trên cùng một máy chủ hoặc cụm.

Vì công ty trả tiền cho phần cứng chứ không phải theo mô hình dựa trên mức tiêu thụ, nên việc cho phép các quy trình chạy lâu hơn một chút sẽ dễ dàng hơn là dành nhiều thời gian để tối ưu hiệu suất.

Tuy nhiên, khi làm việc trên nền tảng đám mây, nhiều giải pháp chạy trên mô hình dựa trên mức tiêu thụ được gắn với những thứ như sử dụng bộ nhớ, thời gian thực thi và yêu cầu lưu trữ.

Điều này có thể dẫn đến chi phí đáng kể khi chuyển trực tiếp khối lượng công việc tại chỗ lên đám mây.

Kỹ sư dữ liệu cần có khả năng hiểu các mô hình định giá khác nhau và điều chỉnh các giải pháp cho phù hợp.

Điều này có nghĩa là hiểu biết cơ bản về các chiến lược bán hàng, các khoản phí mà một công ty sẽ phải chịu và cách thực hiện các giải pháp trong cả hai hệ sinh thái.

Toán học

Đối với nhiều kỹ sư dữ liệu, quá trình chuyển đổi dữ liệu thành siêu thị data và các tập dữ liệu được sắp xếp không đơn giản như việc kết hợp một vài tập dữ liệu.

Trong nhiều trường hợp, việc tổng hợp cần được thực hiện dựa trên dữ liệu nguồn để tính toán những thứ như các giá trị thống kê như trung vị, độ lệch chuẩn và phương sai.

Toán học cũng rất quan trọng khi xem xét các cấu trúc dữ liệu khác nhau để lưu trữ dữ liệu hoặc các thuật toán để xử lý dữ liệu.

Điều quan trọng là phải hiểu các tác động về hiệu suất của việc lưu trữ dữ liệu trong một cấu trúc cụ thể hoặc thực hiện các thuật toán nhất định dựa trên một tập dữ liệu nhất định.

Ví dụ:

Bạn biết rằng dữ liệu của mình được lưu trữ và phân vùng theo ngày tải, nhưng bạn cần kết hợp dữ liệu đó dựa trên khóa doanh nghiệp (business key). Đối với một kỹ sư dữ liệu, đây là một tín hiệu đáng báo động.

Bằng sự hiểu biết về cấu trúc dữ liệu và thuật toán, kỹ sư sẽ hiểu rằng họ sẽ phải quét toàn bộ bảng trên dữ liệu, đọc từng phân vùng và tệp riêng lẻ để thực hiện hành động đó.

Điều này có thể ổn đối với các tập dữ liệu nhỏ, nhưng chắc chắn là không khả thi khi bạn đang ở trong hệ sinh thái Dữ liệu lớn.

Tập trung vào Chất lượng

Ngay cả khi quá trình nhập và quản lý dữ liệu của bạn được tối ưu hóa 100% và có hiệu suất cao, sẽ không ý nghĩa gì nếu dữ liệu không chính xác.

Một kỹ sư dữ liệu phải có khả năng hiểu kết quả cuối cùng là gì, cũng như các phương pháp và công cụ cho phép xác nhận dữ liệu.

Các kỹ sư dữ liệu có thể sử dụng các công cụ như Deequ và Great Expectations để cung cấp khuôn khổ và công cụ cho chất lượng dữ liệu và phát hiện lỗi dữ liệu.

Các bài kiểm thử phải được viết dựa trên dữ liệu để đảm bảo dữ liệu là như mong đợi và được giám sát về sự sai lệch trong dữ liệu.

Một data engineer lành nghề có thể lập hồ sơ, giám sát và cảnh báo khi dữ liệu nằm ngoài phạm vi và thông số có thể chấp nhận được.

Tại sao Kỹ thuật Dữ liệu lại Quan trọng hơn Bao giờ hết?

Kiến thức là sức mạnh – và nó không thể đúng hơn trong xã hội ngày nay. Các công ty lớn đang tạo, nhập và xử lý nhiều dữ liệu hơn bao giờ hết.

Dữ liệu là một thành phần quan trọng đối với tri thức và như chúng ta đã chứng minh qua các ví dụ khác nhau, quá trình biến dữ liệu thành tri thức có thể rất phức tạp.

Có nhiều cấp độ xử lý và phân tích dữ liệu khác nhau và có thể có những trường hợp trong tổ chức của bạn nơi mà kinh nghiệm trong lĩnh vực và thực tiễn kinh doanh cụ thể có thể cung cấp cho một cá nhân mức độ hiểu biết mà dữ liệu có thể sao lưu.

Tuy nhiên, lượng kiến ​​thức mà Dữ liệu lớn có thể tạo ra về doanh nghiệp của bạn và tác động của nó đối với doanh nghiệp của bạn thường bị bỏ qua (và áp đảo).

Trong suốt bài viết này, chúng ta đã nói về các kỹ sư dữ liệu, nhà khoa học dữ liệu, kỹ sư học máy và cách mỗi người trong số họ có một vị trí cụ thể trong hệ sinh thái dữ liệu lớn.

Những chuyên gia này thường là những nguồn lực có kinh nghiệm và đắt tiền mà một tổ chức tuyển vào, tạo ra một rào cản gia nhập khó có thể vượt qua.

Tuy nhiên, chưa bao giờ có thời điểm quan trọng hơn để đầu tư vào các nguồn lực này.

Hãy cùng xem một số ví dụ về những gì các phương pháp này đã cho phép các công ty thực hiện.

Định giá động

Các nhà bán lẻ lớn như Amazon và các hãng hàng không thường sử dụng giá động cho hàng hóa của họ.

Điều này cho phép định giá cập nhật nhất dựa trên các mô hình dữ liệu được tạo bởi các nhà khoa học dữ liệu, được thực hiện bởi các kỹ sư học máy và được cung cấp bởi các kỹ sư dữ liệu.

Bạn có thể đã thường xuyên kiểm tra giá của các hãng hàng không để thử và kiếm được một món hời hoặc kiểm tra Amazon để xem liệu một mặt hàng cụ thể mà bạn quan tâm có được giảm giá hay ở mức giá tốt hơn so với các đối thủ cạnh tranh hay không.

Điều có thể bạn chưa biết là Amazon cập nhật giá lên đến 2.500.000 lần một ngày.

Điều này được hỗ trợ bởi mô hình dữ liệu do Amazon xây dựng để tối đa hóa lợi nhuận và duy trì tính cạnh tranh trong thị trường thương mại điện tử khổng lồ. Đây là cách công ty kiếm được 35% doanh thu hàng năm.

Một ví dụ khác về định giá động là các khách sạn Marriott.

Là một trong những chuỗi khách sạn lớn nhất trên thế giới, họ có hơn 6.500 khách sạn trên toàn cầu và giá phòng bị ảnh hưởng bởi nhiều yếu tố khác nhau.

Để định giá phòng khách sạn của mình một cách cạnh tranh, họ sẽ phải thuê hàng trăm đến hàng nghìn nhà phân tích để kiểm tra những thứ như tình hình kinh tế địa phương và toàn cầu, thời tiết, tình trạng sẵn có và hành vi đặt phòng, hủy đặt phòng,…

Điều này không khả thi trên quy mô lớn. Thay vào đó, họ sử dụng tính năng định giá động được xây dựng dựa trên các mô hình dữ liệu, dẫn đến doanh thu mỗi phòng tăng 5%.

Tiếp thị kỹ thuật số và phát triển sản phẩm

Trong nền kinh tế toàn cầu, điều quan trọng là phải hiểu rằng tiếp thị không phải là một động lực phù hợp với tất cả. Các chiến dịch tiếp thị và quảng cáo thành công sẽ trông khác ở Mỹ khi so sánh với Trung Quốc.

Ngay cả trong một quốc gia cụ thể, có thể có các khu vực của quốc gia có tín ngưỡng, kiểu thời tiết và sở thích khác nhau.

Để thúc đẩy doanh số bán hàng, thông thường trong tiếp thị là có một chiến dịch nhắm mục tiêu đến một đối tượng cụ thể.

Một ví dụ tuyệt vời về điều này là Airbnb, vào năm 2014 đã muốn điều chỉnh trải nghiệm tìm kiếm theo nhân khẩu học và địa lý.

Họ nhận thấy rằng các quốc gia châu Á nhất định thường có tỷ lệ thoát cao khi truy cập trang chủ.

Phân tích thêm dữ liệu, họ phát hiện ra rằng người dùng sẽ nhấp vào liên kết “Vùng lân cận”, bắt đầu duyệt ảnh và sau đó không bao giờ quay lại để đặt chỗ.

Để giải quyết vấn đề này, công ty đã tạo ra một phiên bản được thiết kế lại cho người dùng ở các quốc gia đó, thay thế các liên kết vùng lân cận bằng các điểm đến du lịch hàng đầu.

Điều này dẫn đến tăng 10% chuyển đổi.

Một ví dụ tuyệt vời khác là Coca-Cola, vào năm 2017 đã tiết lộ rằng hương vị Cherry Sprite được lấy cảm hứng từ dữ liệu thu thập từ các vòi nước uống tự phục vụ, nơi khách hàng tự pha chế đồ uống của họ.

Những chiếc máy này được thiết lập để theo dõi hương vị mà khách hàng đang trộn ở các khu vực khác nhau trên thế giới.

Sau đó, công ty chỉ cần tổng hợp các biến thể của sự kết hợp đồ uống và biến nó thành một mặt hàng có thể mua được.

Kết

Hy vọng rằng bạn sẽ rời khỏi hướng dẫn này với sự hiểu biết tốt hơn về những gì một data engineer làm và cách họ có thể giúp tổ chức của bạn đưa ra quyết định tốt hơn với dữ liệu.

Nguồn: phData

Categories
Dev's Corner

Cách thành công với nghề Data Science

Có thể nói rằng lĩnh vực Khoa học Dữ liệu (Data Science) luôn được coi là công việc số 1 và là một trong số các công việc được trả lương cao nhất trên thế giới. Nhiều công ty đang chi hàng nghìn đô để thuê và nâng cao kỹ năng cho các data scientist tiềm năng.

Vì vậy, nhiều người cũng đang tìm hiểu và nâng trình trong lĩnh vực này. Nếu bạn là một người đam mê Data Science, đây là thời điểm thích hợp.

Tuy nhiên, bắt đầu sự nghiệp trong lĩnh vực này không đơn giản như những vai trò truyền thống khác vì nó còn khá mới mẻ. Nhiều người mắc sai lầm đáng tiếc do đi sai đường hoặc hiểu sai vì không có sự hướng dẫn.

Trong bài này, các nhà khoa học dữ liệu từ các công ty hàng đầu như IBM, American Express, Fractal Analytics, Myntra, Forbes sẽ chia sẻ và hướng dẫn bạn, một “tấm chiếu mới”, muốn bắt đầu sự nghiệp hoặc trở thành chuyên gia trong ngành khoa học dữ liệu.

1. Tại sao chọn Data Science?

Có rất nhiều nghề nghiệp với mức lương hấp dẫn ngoài thị trường việc làm và bạn có thể chọn để trở thành chuyên gia trong bất kỳ ngành nghề nào trong số đó, vậy tại sao lại chọn nghiên về ngành Khoa học dữ liệu?

Tại sao chọn theo nghề Khoa học dữ liệu?
Tại sao chọn theo nghề Khoa học dữ liệu?

1/ Tiến sĩ Chiranjiv Roy

Một trong 10 nhà khoa học dữ liệu hàng đầu của Ấn Độ | Phó chủ tịch cấp cao về Data Science của Forbes, Nissan Motors và Mercedes.

Đúng rằng có rất nhiều nghề nghiệp thú vị ngoài kia. Tuy nhiên lúc tôi mới bắt đầu thì “Data Science” có sự khác biệt rất lớn.

Tôi tốt nghiệp năm 2001 với chuyên ngành Xác suất Thống kê và Toán, hai chuyên ngành này là môn phụ của tôi và tôi đã làm trong lĩnh vực này trong 21 năm qua.

Trong thời gian đó, các lập trình viên Java là những người nhận được mức lương cao nhất và nếu bạn không phải là một lập trình viên Java thì mọi thứ trở nên khó khăn đối với bạn.

Hầu hết mọi người, bao gồm cả tôi, bị giới hạn trong Quản lý rủi ro vào thời điểm đó. Không có gì được gọi là Khoa học Dữ liệu hay Phân tích (mặc dù chúng tôi làm điều đó một cách vô tình).

Sau đó, với những tiến bộ công nghệ, các công cụ và định nghĩa của Data Science đã phát triển. Những người có kiến ​​thức về Xác suất Thống kê và Toán dễ dàng thích nghi với việc làm việc trong các dự án liên quan đến phân tích dữ liệu và cuối cùng chúng tôi phát hiện ra sức mạnh của những công cụ này và bắt đầu chú ý đến các tài liệu nghiên cứu khác.

Deep Learning và tất cả những thuật ngữ mà bạn nghe thấy ngày nay không phổ biến và thực sự hấp dẫn cho lắm vào thời điểm đó và bên cạnh đó hầu hết các công ty đều nghi ngờ về việc triển khai nó.

Tuy nhiên, phân tích dữ liệu vẫn bùng nổ do những kết quả trực tiếp và tức thì mà chúng ta có thể đạt được.

Vì vậy, tôi bắt đầu làm việc tại HSBC với tư cách là Chuyên viên Quản trị Rủi ro. Sau đó, tôi nghiên cứu thêm và 5 năm sau đó tôi tham gia nhóm Analytics tại Nissan Motors – nơi mà tôi bắt đầu tìm hiểu và làm khoa học dữ liệu chuyên nghiệp.

Nền tảng kiến thức mà tôi có trước đây đã giúp tôi phát triển niềm yêu thích trong lĩnh vực này và đó là lý do tại sao tôi có thể ở lại lĩnh vực này cho đến bây giờ.

2/ Saniya Jaswani –  Kỹ sư Machine Learning tại IBM

Tôi bắt đầu sự nghiệp của mình với tư cách là một .NET Developer. Đó là khỏi đầu cho việc theo đuổi nghề nghiệp tốt nhưng theo thời gian thì khoa học dữ liệu bắt đầu trở nên thông dụng và tôi quyết định tìm hiểu về nó.

Tôi thấy hứng thú hơn khi bắt tay vào thực hiện một hoặc hai dự án và thấy kết quả của tôi có tác động trực tiếp và tức thì như thế nào thông qua cái được gọi là khoa học dữ liệu.

Nó giống như khi bạn cố gắng đào sâu hơn vào dữ liệu, dữ liệu tự nó nói lên những ý nghĩa của các con số và điều đó làm tôi kinh ngạc.

Một lý do khác là ngành khoa học dữ liệu này khá rộng lớn và tôi có thể khám phá bất kỳ ngách nào tùy thích.

3/ Suraj Shukla – Data Scientist tại CIMB Lab

Thật không đơn giản để nói rằng tôi muốn trở thành một kỹ sư phần mềm (software engineer) hay một cái gì đó khác vì nó khá nhàm chán.

Tôi đã học kỹ sư phần mềm trong thời gian tốt nghiệp đại học, mặc dù tôi muốn làm một cái gì đó liên quan đến động vật vì tôi thích giao tiếp và tìm hiểu về động vật nhưng bố tôi phản đối niềm yêu thích của tôi, vì vậy tôi nghe lời ông và làm kỹ thuật.

Sau khi tốt nghiệp cử nhân, tôi may mắn được đầu quân cho một số công ty ở Nam Á.

Ban đầu, hầu hết công việc tôi tham gia là công việc mà chúng tôi thường gọi là “tìm hiểu nguyên nhân dẫn đến hậu quả”: về cơ bản là tìm kiếm những gì đã xảy ra trước đó.

Nhưng sau đó, tôi đã làm việc với các khách hàng từ Vương quốc Anh và hầu hết công việc là phân tích dự đoán, lập mô hình và lập bảng điều khiển.

Sau đó, tôi muốn tập trung và làm cái mình giỏi nhất nhưng mặc khác tôi cũng không muốn nghỉ việc.

Vì vậy, tôi bắt đầu với việc học một chương trình Executive dài 1 năm rưỡi và sau đó tôi tham gia CIMB Lab với vai trò Nhà khoa học dữ liệu.

Tôi gia nhập một công ty ở Malaysia, cách xa Ấn Độ và đó là một cơ hội lớn hơn cho tôi. Tôi trở lại Ấn Độ sau một vài năm và tham gia cùng 25 nhà khoa học dữ liệu khác ở Bangalore để thành lập một phòng thí nghiệm trí tuệ nhân tạo (A.I).

Kể từ đó, tôi đã làm việc với vai trò Nhà khoa học dữ liệu cho đến nay. Vì vậy, đó là cách tôi nhận ra rằng mình thật sự phù hợp trong lĩnh vực này.

4/ Kanav Anand – Data Scientist tại American Express

Lúc đầu, tôi rất phân vân trong việc lựa chọn giữa Khoa học dữ liệu và Kỹ thuật phần mềm vì khoa của tôi ở trường đại học được định hướng theo cả 2 hướng kỹ thuật phần mềm và khoa học dữ liệu.

Khi tôi bắt đầu làm việc với các dự án, tôi càng có xu hướng nghiêng về A.I (trí tuệ nhân tạo) và công việc đầu tiên của tôi là về Xử lý ngôn ngữ tự nhiên (NLP) và sau đó, tôi cũng thực hiện một vài dự án về thị giác máy tính (computer vision) giúp tôi có rất nhiều kiến thức.

Sau đó, tôi bắt đầu tìm hiểu thêm các khóa học trực tuyến về Trí tuệ nhân tạo (AI). Tôi cũng phát hiện ra rằng nó được liên kết với số liệu thống kê mà tôi rất thích làm và tôi có thể dễ dàng hiểu chúng thông qua những kiến thức tôi đã học trước đó.

Do đó, tôi nhận công việc thực tập trong lĩnh vực Data Science và mọi thứ bắt đầu mở ra từ đó, tôi quyết định gắn bó với lĩnh vực này cho đến bây giờ.

5/ Ranjeet Dhumal – Data Scientist tại Fractal Analytics

Mối quan tâm của tôi là về công nghệ và sau khi tốt nghiệp cử nhân, tôi bắt đầu xây dựng trang web. Tôi học Vật lý và chủ yếu là Cơ học lượng tử, là sự kết hợp giữa Toán và Vật lý.

Hầu hết những điều tôi đang làm trong Cơ học lượng tử tương tự như những gì chúng ta gọi là Machine Learning ngày nay nhưng vào thời điểm đó, chúng ta không gọi nó là Machine Learning.

Trong Cơ học lượng tử, chúng ta thường cố gắng tìm các giải pháp gần đúng cho một vấn đề và đó cũng là điều được thực hiện trong Machine Learning, cố gắng tìm ra con đường tối ưu nhất và giải pháp gần đúng cho các vấn đề trong thế giới thực.

Đó là điều hấp dẫn đối với tôi trong lĩnh vực Data Science và nền tảng thúc đẩy tôi tiếp tục trong lĩnh vực này hơn.

6/ Sajan Kedia – Data Scientist tại IBM, Myntra

Khi tôi hoàn thành khóa học thạc sĩ về khoa học máy tính vào năm 2013, không có gì giống như Khoa học dữ liệu, Máy học (Machine Learning) hoặc Trí tuệ nhân tạo.

Tuy nhiên, tôi may mắn được tham gia nhóm Thông tin Dữ liệu tại Phòng thí nghiệm Nghiên cứu của IBM, nơi tôi đã làm việc trong các dự án Khai thác Dữ liệu. Chúng tôi đã từng khai thác dữ liệu từ Twitter để tìm ra ai và ở đâu có khả năng xảy ra một cuộc biểu tình và bình luận có khả năng gây ra bất ổn xã hội.

Tôi phải nói rằng đó là một dự án rất thú vị. Tôi đã tham gia dự án này trong 2 năm và sau đó tôi bắt đầu khởi nghiệp với dự án riêng của mình.

Tôi khởi nghiệp trong lĩnh vực Adtech (quảng cáo – công nghệ). Ở đây, tôi và nhóm của tôi đã từng làm việc trên 20 terabyte dữ liệu mỗi ngày. Tôi đã học mọi thứ từ A-Z về Data Science.

Chúng tôi không có nhiều nguồn lực để thuê từ bên ngoài nên tôi phải làm hầu hết mọi việc một mình và đôi khi có sự giúp đỡ của đồng nghiệp. Chúng tôi đã từng xây dựng các mô hình để dự đoán liệu khách hàng có nhấp vào một quảng cáo cụ thể hay không.

Tôi đã làm điều đó trong khoảng 3 năm và sau đó tôi tham gia Myntra, một phần của nhóm Walmart và Flipkart với tư cách là Nhà khoa học dữ liệu. Tại Myntra, tôi hiện đang làm việc về tối ưu giá.

Vì vậy, đây là cách tôi tìm thấy chính mình trong Data Scienece và tôi yêu thích nó.

2. Kỹ năng nào có giá trị nhất đối với một nhà khoa học dữ liệu (data scientist)?

Nếu một người muốn bắt đầu sự nghiệp với tư cách là Nhà khoa học dữ liệu, người đó nên tập trung vào những kỹ năng nào nhất?

Các kỹ năng của nhà khoa học dữ liệu là gì?
Các kỹ năng của nhà khoa học dữ liệu là gì?

1/ Benjamin Skrainka – Nhà khoa học dữ liệu tại Galvanize

Các nhà khoa học dữ liệu cần có chuyên môn trong nhiều lĩnh vực.

Bạn cần phải giỏi về cơ sở dữ liệu. Bạn cần một ít kiến ​​thức về kỹ thuật phần mềm. Bạn cần biết một chút về học máy (Machine Learning). Và bạn cần biết một chút về thống kê.

“Đồng thời, tôi nghĩ rằng sự tò mò là rất quan trọng. Các nhà khoa học dữ liệu rất tò mò. Họ liên tục khám phá, đặt câu hỏi, thực hiện các phân tích điều gì-xảy ra (what-if analysis) cho các giả định và quy trình hiện có.”

Họ sẽ luôn học hỏi và suy nghĩ về những công nghệ mới sẽ giúp họ hoạt động hiệu quả và giúp doanh nghiệp thành công. Mặc dù có rất nhiều công cụ tuyệt vời có sẵn, nhưng không có gì thay thế được tư duy.

2/ Cliff Click – Giám đốc công nghệ tải Neurecular

Các nhà khoa học dữ liệu cần có sự kết hợp tốt giữa kiến ​​thức chuyên môn và hiểu biết về kinh doanh. Họ cần phải cực kỳ ham học hỏi và không ngừng tìm ra cách giải quyết một vấn đề cụ thể.

Điều đó có nghĩa là đào sâu vào các cách tiếp cận và lựa chọn thay thế khác nhau – không chỉ xây dựng mô hình và chạy các thuật toán, mà còn giải thích kết quả để thúc đẩy các cơ hội kinh doanh mới.

3/ Jorge Castañón – Data Scientist tại IBM

Sáng tạo là yếu tố then chốt của khoa học dữ liệu. Bạn cần phải có nền tảng kỹ thuật, nhưng bạn cũng cần đủ tò mò để khám phá ở mức độ sâu hơn.

Một nhà khoa học dữ liệu lành nghề khám phá và kiểm tra dữ liệu từ nhiều nguồn khác nhau.

Họ không đơn giản thu thập và báo cáo về dữ liệu, mà còn xem xét nó từ nhiều góc độ, xác định ý nghĩa của nó và sau đó đề xuất các cách áp dụng các phát hiện.

4/Jonathan Dinu – Phó Chủ tịch của Academic Excellence tại Galvanize

Một trong những thuộc tính chính giúp phân biệt nhà khoa học dữ liệu ngày nay là sự nhạy bén trong kinh doanh cùng với khả năng truyền đạt những phát hiện từ dữ liệu cho cả doanh nghiệp và các nhà lãnh đạo CNTT theo cách có thể ảnh hưởng đến cách một tổ chức tiếp cận một thách thức kinh doanh.

Các nhà khoa học dữ liệu thường trở thành người liên lạc giữa IT và giám đốc cấp C (C-level).

Do đó, họ cần có khả năng truyền đạt cả hai và hiểu hệ thống phân cấp của dữ liệu; họ không thể chỉ là chuyên gia dữ liệu.

Tóm tắt các kỹ năng cần thành thạo từ các chuyên gia

  • Kiến thức cơ bản về Toán học và Thống kê
  • Kiến thức vững chắc về Python, SQL, Cơ sở dữ liệu và Excel
  • Mạnh về Trực quan hóa dữ liệu
  • Kiến thức chuyên sâu về thuật toán học máy
  • Chọn một lĩnh vực và chuyên môn hóa (Natural Language Processing, Computor Vision, Big Data…)
  • Làm chủ nghệ thuật Storytelling
  • Thành thạo Kỹ năng Giao tiếp và Thuyết trình
  • Làm chủ kỹ năng làm việc nhóm và cộng tác
  • Phát triển kiến ​​thức chuyên môn.

3. Nguồn lực nào đã giúp bạn trở thành một nhà khoa học dữ liệu?

Khi bạn bắt đầu tìm hiểu lĩnh vực Data Science, bạn sử dụng những tài nguyên nào. Bất kỳ sách, blog, bài báo, khóa học hoặc bất kỳ thứ gì khác mà bạn có thể chia sẻ?

Tài liệu học Data Science
Tài liệu học Data Science

1/ Kanav Anand – Data Scientist tại American Express

Tôi nghĩ điều quan trọng nhất cần làm khi bạn bắt đầu hoàn thiện dần các thống kê và lập trình.

Điều đó có nghĩa là đảm bảo bạn phát triển một nền tảng vững chắc về toán và thống kê cùng với kỹ năng  lập trình. Đối với tôi, tôi đã sử dụng các video Youtube ngẫu nhiên để học viết code bằng Python.

Tôi đã có những kiến ​​thức cơ bản về thống kê nên tôi không cần phải lo lắng nhiều về thống kê và toán học nhưng tôi vẫn đọc một vài cuốn sách thống kê như “Practical Statistics For Data Scientist” của Peter Bruce và Andrew Bruce.

Đối với Python, bạn có thể dễ dàng bắt đầu với các video trên Youtube hoặc các khóa học Udemy như Python Crash Course.

Đối với Học máy (Machine Learning), tôi đã sử dụng khóa của Andrew Ng trên Coursera, đây là một khóa tuyệt vời để bắt đầu với Học máy (Machine Learning).

2/ Ranjeet Dhumal – Nhà khoa học dữ liệu tại Fractal Analytics

Tôi nghĩ rằng nguồn tốt nhất là có được trải nghiệm thực tế ngay từ ngày đầu tiên.

Trong trường hợp của tôi, tôi đã học được từ những người cố vấn của mình, những người đang hoạt động trong lĩnh vực Data Science.

Tôi không có bất kỳ chứng chỉ nào và cho đến nay, tôi không có một chứng chỉ nào về Data Science. Tôi tập trung làm việc với các vấn đề trong thực tế hơn là chọn các tập dữ liệu giả định.

Tôi đã từng chọn một vấn đề cụ thể xung quanh của mình và cố gắng tự mình thu thập dữ liệu, sau đó chuẩn bị và xây dựng mô hình để đưa ra dự đoán số liệu.

Điều đó đã cho tôi cảm nhận và hiểu hơn về khoa học dữ liệu trong thực tế và điều này giúp tôi tham gia và theo đuổi lĩnh vực này dễ dàng hơn.

Tôi đã từng tham gia Hackathons, một số từ Hackerank, Kaggle,… Tôi cũng đã từng đọc blog rất nhiều từ Medium.

Tôi đảm bảo rằng tôi đã tìm kiếm trên Google càng nhiều càng tốt về một chủ đề cụ thể.

Ví dụ, nếu tôi chọn Logistics Regression, tôi sẽ google rất nhiều tài nguyên về chủ đề đó và tìm hiểu chi tiết, đặc biệt là về mặt toán học đằng sau nó.

Đối với Deep Learning, tôi đã sử dụng ebook về Deep Learning của Ian Goodfellow và Yoshua Bengio.

Tôi tham gia một công ty khởi nghiệp và bắt đầu làm việc với các dự án liên quan đến Deep Learning, đặc biệt là các dự án về Computor Vision.

Vì vậy, đó là cách tôi học để trở thành một nhà khoa học dữ liệu.

3/ Sajan Kedia – Nhà khoa học dữ liệu IBM tại Myntra

Tôi thích hackathons hơn nên tôi đã theo dõi Kaggle rất nhiều. Tôi cũng đã từng đọc rất nhiều blog từ Medium, Analyticsvidya và KDNuggets. Những nguồn tài liệu này đã giúp tôi hiểu một số khái niệm cơ bản, cũng như cách mọi người triển khai các khái niệm lạ lẫm đối với tôi.

Tôi đặc biệt không tham gia bất kỳ khóa học Khoa học Dữ liệu nào vì chúng không có sẵn vào thời điểm tôi bắt đầu học tức vào năm 2013. Nhưng như tôi đã đề cập trước đó, tôi may mắn được tham gia nhóm Thông tin Dữ liệu tại Phòng thí nghiệm Nghiên cứu của IBM.

4/ Suraj Shukla – Nhà khoa học dữ liệu tại CIMB Lab

Tôi đã có một nền tảng kiến thức về lập trình nên tôi không gặp khó khăn. Tuy nhiên, ở thời của tôi, chúng tôi không biết ngôn ngữ lập trình nào tốt nên tôi bắt đầu với Java, sau đó chuyển sang lập trình R rồi sau đó là Python.

Nhưng bây giờ rõ ràng Python là tốt nhất khi nói đến Khoa học dữ liệu. Vì vậy, tôi đã bắt đầu với Python, nó cũng dễ học hơn so với tất cả các ngôn ngữ lập trình khác cho đến nay.

Đối với Python, tôi khuyên bạn chỉ nên bắt đầu với tài liệu Python hoặc nếu bạn là người mới bắt đầu thì hãy tham gia một số khóa học Udemy hoặc Coursera.

Tôi cũng đã từng đọc rất nhiều về chi tiết của các thuật toán khác nhau, chẳng hạn như toán học đằng sau một thuật toán cụ thể là gì và tại sao một thuật toán này tốt hơn thuật toán kia và theo những cách cụ thể nào.

Tôi cũng có đủ hiểu biết về một số khái niệm thống kê và toán học chính như đại số tuyến tính và giải tích, điều này đặc biệt hữu ích khi bạn đang cố gắng giảm thiểu chi phí trong machine learning. Tôi nghĩ rằng thuật toán không phải là một vấn đề, nó cần đi kèm với kinh nghiệm, khi bạn làm nhiều dự án, bạn sẽ biết phải sử dụng thuật toán nào cho vấn đề nào.

5/ Saniya Jaswani – Kỹ sư học máy tại IBM

Tôi chủ yếu tham gia một số khóa học Khoa học dữ liệu từ Coursera và Udemy.

Để luyện tập, tôi sử dụng Kaggle. Tôi nghiên cứu những gì mọi người đang làm và bắt đầu làm  dự án riêng của tôi với một số bộ dữ liệu và các cuộc thi.

Tôi cũng đã đọc rất nhiều blog hay từ Medium để hiểu các chủ đề nhất định. Ngày nay, hầu hết các khái niệm đều có trên Google và tìm kiếm về một chủ đề cụ thể nào đó thì trở nên rất đơn giản.

4. Thách thức bạn phải đối mặt hàng ngày là gì?

Các thách thức đối với Data Science
Các thách thức đối với Data Science

1/ Michael Schmidt – Data Scientist / Founder, Nutonian

Một trong những thách thức lớn nhất với tư cách là nhà khoa học dữ liệu là áp dụng kiến ​​thức chuyên môn để giải quyết vấn đề.

Chúng tôi có rất nhiều thuật toán và kỹ thuật để thu được giá trị từ dữ liệu, nhưng chúng tôi cần các giải pháp áp dụng và mang tính ứng dụng nhiều nhất – để liên kết ý nghĩa của số liệu thống kê với cơ hội  kinh doanh.

“Giải quyết vấn đề và dự đoán kết quả bằng cách sử dụng các mô hình phức tạp đòi hỏi cả sự hiểu biết về các khả năng, công cụ và kỹ thuật khoa học dữ liệu cũng như khả năng đặt câu hỏi để cung cấp thông tin cho xử lý dữ liệu.

Giải thích vấn đề cũng vừa khoa học vừa nghệ thuật.

2/ Andy Gants – Nhà khoa học dữ liệu tại Spare5

Một trong những thách thức lớn hơn mà tôi phải đối mặt trong công việc hiện tại là các công cụ ước tính xác suất và thống kê mà tôi đã sử dụng trước đây trong nghiên cứu khoa học trái đất là những công cụ giống nhau, nhưng chúng không nhất thiết phải thực hiện theo cùng một cách đối với những vấn đề mới chẳng hạn ước lượng người dùng và đáp án, ước tính chất lượng trong các vấn đề crowdsourcing.

Vì vậy, các công cụ là giống nhau, nhưng ứng dụng của các công cụ đó khác nhau. Học cách thực hiện với bộ phận phát triển phần mềm là một thách thức khá lớn – nhưng rất thú vị.

3/ Roman Schindlauer – Giám đốc chương trình tại Dato

Một trong những trở ngại lớn nhất đối với năng suất phân tích là tinh chỉnh và định dạng dữ liệu cần thiết cho phân tích chất lượng cao.

Việc thiếu ngôn ngữ lập trình chuẩn hóa hoặc mang tính đại chúng dành riêng cho khoa học dữ liệu sẽ làm cho việc này trở nên khó khăn hơn.

Ngay cả với các công cụ tốt nhất hiện nay, cũng không có cách nào tốt để làm sạch dữ liệu theo cách thủ công.

Đó là một chu kỳ liên tục thu thập và làm sạch dữ liệu và cố gắng tìm hiểu xem liệu nó có mang lại những phát hiện nào đáng kể hay không.

Hay bạn sẽ cần quay lại và thay đổi các thông số hoặc dữ liệu nhiều hơn? Tôi nghĩ rằng chúng ta đang đi tới vị trí mà ở đó sự hỗ trợ bằng công cụ sẽ giúp có đất dụng võ, nhưng nó vẫn đòi hỏi rất nhiều thao tác thủ công.

5. Tuyệt chiêu để đậu phỏng vấn Data Science?

Làm sao để đậu cuộc phỏng vấn Khoa học Dữ liệu dường như là mối quan tâm của nhiều ‘tấm chiếu mới’. Một người nên tiếp cận buổi phỏng vấn Khoa học Dữ liệu như thế nào?

Làm sao chắc đậu phỏng vấn Data Science
Làm sao chắc đậu phỏng vấn Data Science

1/ Sajan Kedia – Data Scientist tại IBM, Myntra

Tôi nghĩ điều khiến các cuộc phỏng vấn Khoa học Dữ liệu trở nên khó đoán một chút là vì nó rất khác nhau giữa các công ty.

Không giống như Kỹ thuật phần mềm, nơi bạn có thể nói rằng bạn có khả năng được hỏi về Cấu trúc dữ liệu, thuật toán và kỹ năng lập trình, trong Khoa học dữ liệu, mọi công ty đều có yêu cầu và kỹ năng nhất định mà họ tìm kiếm ở một ứng viên và điều đó khiến nó rất khó xác định .

Trước tiên hãy dành thời gian nghiên cứu về công ty. Nếu công ty có quy mô lớn, họ có thể sẽ hỏi bạn về kinh nghiệm của bạn trong việc xử lý các tập dữ liệu lớn.

Nếu công ty tập trung nhiều hơn vào tư vấn và định hướng dịch vụ, có khả năng họ sẽ quan tâm đến các kỹ năng như SQL, Excel, một chút về lập trình. Nếu công ty có lĩnh vực đặc thù như chăm sóc sức khỏe và tài chính, thì ngoài kỹ năng lập trình, họ có thể hỏi về kiến ​​thức về lĩnh vực đó.

Nếu bạn dành thời gian để thực hiện nghiên cứu cơ bản này, bạn sẽ biết những gì sẽ được hỏi trong các vòng phỏng vấn và điều đó sẽ không làm bạn ngạc nhiên. Bạn cũng có thể tìm kiếm một số công ty khi bạn bắt đầu làm việc và phát triển các kỹ năng phù hợp. Bằng cách đó, bạn có thể dễ dàng đáp ứng yêu cầu công việc của họ và có khả năng được tuyển.

2/ Suraj Shukla – Data Scientist tại CIMB Lab

Bạn sẽ rất có lợi thế khi chia sẻ trong buổi phỏng vấn Khoa học Dữ liệu về việc bạn có một số dự án đã từng làm trước đây. Điều quan trọng là phải có một nơi lưu trữ trên Github về những dự án của bạn.

Nó sẽ giúp bạn kéo cuộc trò chuyện về vùng an toàn và nằm trong sự hiểu biết của bạn. Người phỏng vấn có thể có trải nghiệm khác với những gì bạn có và nếu bạn để họ dẫn dắt cuộc trò chuyện, họ sẽ hỏi bạn những điều mà bạn có thể không quen. 

3/ Kanav Anand – Data Scientist tại American Express

Trong các cuộc phỏng vấn Khoa học Dữ liệu, bạn có thể sẽ có một vòng kỹ thuật và một vòng CV / Sơ yếu lý lịch.

Trong vòng kỹ thuật, hãy nắm thật vững các thuật toán, tức là không chỉ cách nhập và sử dụng chúng để xây dựng mô hình mà logic toán học đằng sau chúng cũng rất quan trọng. Bạn sẽ cần giải thích lý do tại sao bạn sử dụng thuật toán này thay vì thuật toán kia.

Bạn đã xem xét tối ưu hóa siêu tham số nào. Cuối cùng, cách bạn giải thích kết quả đầu ra kết quả cũng rất quan trọng.

Đối với vòng CV / Resume, tất cả phụ thuộc vào dự án bạn đã làm và bạn có thể giải thích chúng ở mức độ như thế nào để người phỏng vấn tin rằng bạn đã tự làm và bạn thực sự hiểu những gì bạn đã làm.

Nếu bạn không có bất kỳ dự án nào trên GitHub hay portfolio thì kiểu gì thảm họa cũng ập tới. Người phỏng vấn sẽ dội bom bạn với những câu hỏi mà bạn có thể không biết.

Nguồn: MrBriit

Categories
Events past

TE#08: How to become a Full-stack Data Scientist

Who is the Full-stack data scientist?

They are general scientists with the job of an engineer and work on each phase of the data science lifecycle.

A full-stack data scientist’s scope of work includes every component of a data science business initiative, from problem identification, and training, to deploying machine learning models that benefit stakeholders.

So:

  • What does a particular Full stack Data scientist do in a data lifecycle?
  • And to become a full-stack scientist, what skills will you need to equip yourself?
  • Is the path to becoming a data scientist really interesting, exciting, and particularly right for you?

Join Gambaru to answer the above questions at the 8th Technical Event sharing session, which will take place on the afternoon of Saturday, April 16.

The event will have the participation of Mr. Tam Pham, lecturer at Griffith University.

Categories
Dev's Corner

DataOps Engineer là gì? Tại sao cần DataOps Engineer? Những kỹ năng cần có!

DataOps Engineer (kỹ sư DataOps) là người nắm rất rõ quy trình xây dựng một sản phẩm dữ liêu và phân tích. Các hoạt động dữ liệu (data operation) hoặc sản xuất dữ liệu (data production) là một loạt các bước liên hoàn từ lấy dữ liệu thô, qua một loạt các bước xử lý và chuyển đổi, và xuất ra thành phẩm dưới dạng các bảng điều khiển, các dự đoán, kho dữ liệu hoặc bất cứ gì doanh nghiệp yêu cầu. Hãy coi các hoạt động dữ liệu giống như một nhà máy.

Hầu hết các tổ chức vận hành nhà máy dữ liệu này bằng phương pháp thủ công. Qua việc khảo sát, chúng tôi thấy các nhà khoa học dữ liệu và chuyên gia dữ liệu dành hơn 50% thời gian để thực hiện các thủ tục mang tính hỗ trợ cho các hoạt động dữ liệu.

Hình 1. Dây chuyền lắp ráp ô tô
Hình 1. Dây chuyền lắp ráp ô tô

Hình 1 là dây chuyền lắp ráp ô tô đầu thế kỷ 20. Trong hình, mọi người xếp thành một hàng để lắp ráp các linh kiện. Rất nhiều tổ chức dữ liệu điều hành các hoạt động dữ liệu giống như một nhà máy sản xuất ô tô hàng trăm năm tuổi. Cũng như các công ty ô tô giảm chi phí bằng cách sản xuất hàng loạt, các công ty ở năm 2021 cũng đưa kỹ sư dữ liệu (data engineer) và nhà khoa học dữ liệu (data scientist) vào “dây chuyền”. Hãy tưởng tượng nếu một công ty ô tô đi yêu cầu các kỹ sư thiết kế đi chế tạo chúng thử mà xem. Đó là tình trạng của phân tích dữ liệu ngày nay.

Hình 2. Nhà máy tự động
Hình 2. Nhà máy tự động

Kỹ sư DataOps giúp biến đổi những thứ trong Hình 1 thành nhà máy tự động (Hình 2). Các quy trình và luồng công việc được thiết kế và tự động hóa cao. Còn các kỹ sư, nhà khoa học và phân tích dữ liệu thì ở văn phòng, thực hiện việc lập trình rô-bốt và thiết kế các quy trình tự động để tạo ra các phiên bản sản phẩm được cải tiến liên tục, tức là các phân tích. 

Kỹ sư DataOps thiết kế dây chuyền dữ liệu để các kỹ sư dữ liệu và nhà khoa học dữ liệu có thể phân tích thông tin nhanh chóng và ít sai sót nhất có thể. Có thể nói rằng Kỹ sư DataOps là người nắm rõ quy trình và luồng công việc tổng thể, còn nhà khoa học dữ liệu và những người khác thì làm việc bên trong quy trình đó.

Vậy DataOps là gì?

DataOps là một tập hợp các phương pháp thực hành, chuẩn mực văn hóa và các mô thức kiến trúc giúp cho các chuyên gia dữ liệu phân phối giá trị một cách nhanh chóng. 

DataOps cho phép:

  • Thử nghiệm và đổi mới nhanh chóng để cung cấp thông tin phân tích cho khách hàng
  • Tỷ lệ lỗi thấp
  • Cộng tác với nhiều nhóm người, công nghệ và môi trường phức tạp
  • Đo lường và giám sát kết quả rõ ràng

DataOps thiết lập một cổng xử lý để tự động hóa các luồng sản xuất dữ liệu và phát triển phân tích để đội dữ liệu (data team) hoạt động hiệu quả, đổi mới và ít mắc lỗi. Trong bài này, chúng ta sẽ khám phá vai trò của Kỹ sư DataOps trong việc thúc đẩy tổ chức dữ liệu đạt được mức năng suất cao hơn.

Hình 3. Value Pipeline và Innovation Pipeline
Hình 3. Value Pipeline và Innovation Pipeline

Hành trình của dữ liệu

Quy trình dữ liệu (The Data Pipeline) là một chuỗi các bước chuyển hóa dữ liệu thô thành thông tin phân tích (insight) để tạo ra giá trị. Quy trình này đi băng qua nhiều vai trò và tổ chức. Các bước trong quy trình được biểu diễn thành vòng tròn trong Hình 3. Các kỹ sư dữ liệu, nhà khoa học, nhà phân tích, ban quản trị và các vai trò khác làm việc bên trong các vòng tròn này hoặc tạo các phân đoạn quy trình kết hợp được với những quy trình khác.

Quy trình giá trị (The Value Pipeline) đại diện cho các hoạt động dữ liệu mà ở đó dữ liệu được chuyển đổi thành các biểu đồ, đồ thị và các phân tích khác có giá trị cho tổ chức. 

Còn Quy trình đổi mới (The Innovation Pipeline) thì bao gồm việc phát triển phân tích, QA (quality assurance), triển khai và phần còn lại của quy trình quản lý thay đổi cho Quy trình giá trị. 

Các chuyên gia dữ liệu hoạt động tại nhiều điểm khác nhau trong những quy trình này. 

Nói chung, chúng ta muốn chắc chắn rằng Quy trình giá trị sẽ thực thi mà không phát sinh lỗi và chúng ta muốn triển khai mạch lạc các phân tích mới mà không vi phạm bất kỳ điều gì hoặc sinh ra phản ứng phụ. 

DataOps Engineer chính là người giúp cho toàn bộ hệ thống hoạt động tốt hơn. Nếu tổ chức dữ liệu muốn vận hành Quy trình giá trị mạnh mẽ như nhà máy 6 sigma (six sigma factory), nó phải có khả năng thực hiện và triển khai các cải tiến quy trình nhanh chóng như một startup ở Silicon Valley.

Kỹ sư dữ liệu thực hiện việc chuyển hóa dữ liệu. Sản phẩm của họ là dữ liệu. Sản phẩm của nhà khoa học dữ liệu là mô hình và phân khúc. Sản phẩm của nhà phân tích dữ liệu là biểu đồ, đồ thị và biểu diễn trực quan. Còn Kỹ sư DataOps vẽ ra một đường quanh các vai trò này và thúc đẩy sự cộng tác tốt hơn trong data team.

Khi nào được coi là “Hoàn thành”

Nhiều người làm dữ liệu có cách hiểu rất hạn hẹp về “hoàn thành”. Chẳng hạn một người đang xây dựng một loạt SQL hoặc một sổ Jupyter. Họ hoàn thành phần việc của mình và bàn giao cho một người khác thì họ đã “xong” nhiệm vụ rồi chăng?

Định nghĩa hạn hẹp về 2 chữ “hoàn thành” mà nhiều chuyên gia dữ liệu sử dụng chỉ đúng ở trong môi trường không cần biết hay không quan tâm đến trở ngại của những vai trò khác như triển khai, giám sát và duy trì thành phần đó. Một chuyên gia như vậy chỉ tập trung vào nhiệm vụ, chứ không phải vào giá trị. Khó khăn sẽ xảy ra nếu bạn thấy những điều này trong team data: 

  • Quăng nó qua production đi – để bọn họ tự mò
  • Định nghĩa “hoàn thành” là “Tôi xong rồi, không đụng vào nữa nhé”.
  • “Tôi chỉ lo đúng việc của mình”
  • Nếu có vấn đề thì đó là “Vấn đề của ai đó, không phải tôi”
  • Giả câm, giả điếc
  • Tập trung vào nhiệm vụ, không màng tới giá trị
  • Tập trung vào dự án, bỏ bê sản phẩm
  • “Hy vọng mọi thứ suôn sẻ”
  • Dựa dẫm vào kiểm thử thủ công
  • Không muốn nhận ca khó

DataOps có cái nhìn rộng hơn, tổng quan hơn. 

“Hoàn thành” nghĩa là chức năng đó chạy tốt trong môi trường production và làm cho khách hàng / người dùng hài lòng. Thay vì tập trung vào một nhiệm vụ, kiểm thử nhỏ lẻ và ít phản hồi thì DataOps tập trung vào việc tăng giá trị. Thông qua kiểm thử tự động, DataOps hợp thức hóa sự cộng tác nhuần nhuyễn giữa kiểm thử, giám sát, theo dõi, triển khai và phối hợp nhiệm vụ (Hình 4).

Hình 4. DataOps Engineer thúc đẩy sự cộng tác trong data team
Hình 4. DataOps Engineer thúc đẩy sự cộng tác trong data team

Tự động hóa Nugget

Các nhà khoa học và phân tích dữ liệu tạo ra cái gọi là nugget of code (cụm mã). Các nugget có thể là mã ETL làm nhiệm vụ điều khiển Informatica (1 công cụ), chuyển đổi SQL, một chút Python hoặc XML. Bất kể tính nhất quán hay mục đích của nó là gì, thì các nugget phải được kiểm tra kỹ lưỡng trước khi được đưa vào các dây chuyền lớn hơn (quy trình). 

Dưới đây là các ví dụ về các cách mà Kỹ sư DataOps làm việc với “cụm mã” trong hệ thống DataOps:

  • Bổ sung vào quy trình
  • Tạo kiểm thử
  • Vận hành nhà máy
  • Tự động triển khai
  • Làm với nhiều người
  • Đo lường thành công
  • Bật chế độ DataOps tự phục vụ

Các kỹ sư DataOps thường không giải quyết các vấn đề dữ liệu bằng cách tạo ra các “nugget”. Mà họ giải quyết các vấn đề về quy trình bằng cách sử dụng tự động hóa vào kiểm thử, triển khai và duy trì các nugget này trong hệ thống. Bằng cách tự động hóa công việc quản lý liên quan đến các nugget này, Kỹ sư DataOps cho phép người tạo nugget làm việc nhanh và liên tục hơn.

DataOps áp dụng tự động hóa để làm mạch lạc luồng công việc. Theo nguyên tắc chung, bất kỳ hoạt động nào được thực hiện thủ công từ ba lần trở lên đều phải được tự động hóa. Kỹ sư DataOps tạo ra các lịch trình tự động và lịch trình điện toán đám mây.

Dưới đây là một số ví dụ phổ biến về tự động DataOps:

  • Tự động hóa production – thay thế các thủ tục thủ công để thực thi các hoạt động dữ liệu bằng tự động hóa
  • Theo dõi / kiểm thử dữ liệu production – tạo các bài kiểm thử để phát hiện lỗi trước khi đưa đến khách hàng, theo dõi các quy trình sản xuất và phát triển theo thời gian thực
  • Môi trường tự phục vụ – cung cấp cho/đội ngũ cách thức tạo dữ liệu và các công cụ phù hợp theo nhu cầu
  • Kiểm thử hàm và hồi quy – tự động hóa kiểm thử phát triển và triển khai
  • Tự động hóa dữ liệu kiểm thử – tạo dữ liệu kiểm thử theo yêu cầu
  • Tự động hóa triển khai – triển khai với thao thác thủ công tối thiểu
  • Các thành phần được chia sẻ – chuẩn hóa và thường xuyên tái sử dụng “các nugget”, các quy trình và hạ tầng
  • Đo lường quy trình – xây dựng bảng điều khiển cho mọi khía cạnh của vòng đời dữ liệu để có tính minh bạch. 

DataOps Engineering là về việc thực hiện các quy trình vô hình và làm cho chúng rõ ràng hơn. DataOps xác định hoặc dự đoán các lỗi trong tương lai để chúng có thể được giải quyết sớm và tránh những ảnh hưởng tiêu cực đến sự tổng quan và phân tích người dùng.

Những thách thức khi triển khai tự động hóa dữ liệu phản ánh một số khó khăn sau:

  • Không ai chịu trách nhiệm
  • Không đủ thời gian làm tự động hóa
  • Không ai quan tâm
  • Ai cũng lo làm tác vụ, thay vì xây dựng quy trình tốt hơn
  • Cho rằng tự động hóa không quan trọng bằng làm dữ liệu
  • Không như nhà phát triển phần mềm, dữ liệu không thể tự động hóa được
  • Làm thủ công là cách để hoàn thành công việc

Khi một nhiệm vụ như tự động hóa không được công nhận là quan trọng, không ai chịu trách nhiệm về nó. Trong nhiều tổ chức dữ liệu, có quan điểm cho rằng trở thành nhà khoa học dữ liệu là hình thức đóng góp cao nhất. Do tác động của tự động hóa lên năng suất của nhóm, không có gì ngạc nhiên khi các Kỹ sư DevOps hàng đầu là một trong những vị trí được trả cao nhất trong ngành phần mềm. 

Mục tiêu của kỹ sư DataOps là tự động hóa các quy trình của tổ chức:

  • Giảm lãng phí.
  • Tăng cường tái sử dụng. Bớt “sáng tạo lại bánh xe”
  • Giảm sai số và thời gian thất bại.
  • Tăng cường kiểm soát phiên bản.
  • Phát hiện chênh lệch và cải thiện việc kiểm thử.
  • Đảm bảo các tiêu chuẩn bảo mật dữ liệu được áp dụng vào quy trình.
  • Thực hiện báo cáo về mọi mặt của quy trình và vòng đời dữ liệu của data team

Kỹ sư DataOps cũng là bà con với Kỹ sư DevOps, nhưng quen thuộc với các công cụ và phương pháp của hệ sinh thái dữ liệu hơn. Điều tuyệt vời và đầy thách thức ở vai trò này là nó đòi hỏi một số kỹ năng khác nhau trong nhiều lĩnh vực. 

Bộ kỹ năng cho Kỹ sư DataOps như sau:

  • Một ngôn ngữ script: Python, Bash
  • Ngôn ngữ dữ liệu: SQL
  • Kiểm soát mã nguồn: git
  • Công cụ DataOps: DataKitchen
  • Công cụ cấu hình DevOps: Terraform, Puppet, Docker / K8s
  • Kỹ năng quy trình: Các phương pháp & công cụ Agile như JIRA
  • Làm quen với chuỗi công cụ mà các kỹ sư dữ liệu, nhà khoa học, nhà phân tích và ban quản trị sử dụng

Với tư cách là người quản lý hoặc trưởng nhóm, bạn có thể tự hỏi liệu mình có cần thuê Kỹ sư DataOps hay không và cần dành bao nhiêu tài nguyên của nhóm cho DataOps. Không có một câu trả lời đúng phù hợp với tất cả các tổ chức.

Các nhóm phát triển phần mềm tiên tiến dành khoảng 23% thời gian của họ cho DevOps. Các nhóm dữ liệu thì dành khoảng 3% thời gian của họ cho các nhiệm vụ DataOps. Chúng tôi khuyên bạn nên tăng mức này lên khoảng 15%. Điều đó có thể đạt được bằng cách kêu gọi sự tham gia của mọi người hoặc thuê một đội chuyên nghiệp từ bên ngoài. Vấn đề ở đây là đầu tư vào DataOps sẽ mang lại rất nhiều lợi ích.

Hình 5. Phân bổ thời gian trước và sau DataOps
Hình 5. Phân bổ thời gian trước và sau DataOps

Việc đầu tư vào DataOps tác động đến toàn bộ data team (hình 5). Với DataOps, các kỹ sư dữ liệu, nhà khoa học, nhà phân tích và người dùng dành nhiều thời gian hơn để tạo ra giá trị, giảm trục trặc kỹ thuật hoặc triển khai các thay đổi vào production và ít tốn thời gian đi sửa lỗi, họp hành và quản lý các phát sinh.

Hình 6. DataOps giảm thời gian triển khai và giảm lỗi
Hình 6. DataOps giảm thời gian triển khai và giảm lỗi

Các thang đo chân chính mà DataOps tác động là độ trễ và lỗi triển khai (hình 6). DataOps cắt giảm thời gian triển khai từ tuần / tháng xuống giờ / phút. Nó làm giảm đáng kể tỷ lệ lỗi dữ liệu trong hầu hết các tổ chức dữ liệu xuống gần như bằng không. Khi năng suất cao, ít sai sót và người dùng hài lòng, môi trường làm việc của nhóm dữ liệu sẽ thú vị hơn rất nhiều. Nghe có vẻ kì khôi, nhưng DataOps mang niềm vui vào phân tích dữ liệu và nụ cười tươi thắm cho data team.

Tham khảo: DataKitchen