Kỹ sư dữ liệu (Data engineer) là gì

Kỹ sư dữ liệu (Data engineer) là gì?

Chia sẻ kiến thức 01/03/2022

Kỹ sư dữ liệu (Data engineer) là một nhân viên CNTT, có công việc chính là chuẩn bị dữ liệu để phân tích hoặc vận hành. Các kỹ sư phần mềm này thường chịu trách nhiệm xây dựng các pipeline dữ liệu để tập hợp thông tin từ các hệ thống nguồn khác nhau. Họ sẽ tích hợp, hợp nhất, làm sạch dữ liệu và cấu trúc nó để sử dụng trong các ứng dụng phân tích. Họ đặt ra mục tiêu để dễ truy cập dữ liệu và tối ưu hóa hệ sinh thái big data của tổ chức.

Lượng dữ liệu mà một kỹ sư (data engineer) làm việc sẽ thay đổi tùy theo tổ chức, đặc biệt là theo quy mô tổ chức đó. Công ty càng lớn, kiến trúc phân tích càng phức tạp thì kỹ sư sẽ càng chịu nhiều trách nhiệm về dữ liệu hơn. Một số ngành sử dụng nhiều dữ liệu hơn, chẳng hạn: dịch vụ chăm sóc sức khỏe, bán lẻ và tài chính.

Các kỹ sư dữ liệu sẽ làm việc cùng với các nhóm khoa học dữ liệu, cải thiện tính minh bạch của dữ liệu và giúp các doanh nghiệp đưa ra những quyết định kinh doanh đáng tin cậy hơn.

data engineer là gì

So sánh 8 công việc liên quan đến việc quản lý dữ liệu khác.

Vai trò của một Data engineer

Các kỹ sư dữ liệu chú tâm vào việc thu thập và chuẩn bị dữ liệu để các nhà khoa học và phân tích dữ liệu sử dụng. Họ đảm nhận ba vai trò chính như sau:

  • Generalist. Kỹ sư dữ liệu thường tập trung làm việc trong các nhóm nhỏ, thực hiện việc thu thập, tiếp nhận và xử lý dữ liệu từ đầu đến cuối. Họ có thể có nhiều kỹ năng hơn hầu hết các kỹ sư dữ liệu, nhưng ít kiến ​​thức hơn về kiến ​​trúc hệ thống. Một nhà khoa học dữ liệu muốn trở thành kỹ sư dữ liệu sẽ rất phù hợp với vai trò generalist

Dự án mà kỹ sư dữ liệu generalist có thể thực hiện cho một dịch vụ giao đồ ăn nhỏ ở khu vực thành phố lớn là tạo một dashboard hiển thị số lượng giao hàng được thực hiện mỗi ngày của tháng trước và dự báo khối lượng giao hàng cho tháng tiếp theo.

  • Pipeline-centric engineer. Các kỹ sư dữ liệu này thường làm việc trong một nhóm phân tích dữ liệu tầm trung và các dự án khoa học dữ liệu phức tạp hơn trên các hệ thống phân tán. Các công ty vừa và lớn sẽ cần vị trí này hơn.

Công ty giao thực phẩm địa phương có thể tiến hành một dự án pipeline-centric để tạo ra công cụ cho các nhà khoa học và nhà phân tích dữ liệu tìm kiếm siêu dữ liệu cho thông tin về việc giao hàng. Chúng có thể xem xét khoảng cách lái xe và thời gian cần thiết để giao hàng trong tháng trước, sau đó sử dụng dữ liệu cho một thuật toán dự đoán để xem nó có ý nghĩa gì đối với hoạt động kinh doanh tương lai của công ty.

  • Database-centric engineer.  Các kỹ sư dữ liệu này được giao nhiệm vụ triển khai, duy trì và phân phối cơ sở dữ liệu phân tích. Vai trò này thường có ở các công ty lớn hơn, dữ liệu được phân phối trên nhiều cơ sở dữ liệu. Các kỹ sư sẽ làm việc với pipeline, điều chỉnh cơ sở dữ liệu để phân tích hiệu quả và tạo các lược đồ bảng bằng cách sử dụng các phương pháp trích xuất, biến đổi, tải (ETL). ETL là một quy trình mà dữ liệu được sao chép từ nhiều nguồn vào một hệ thống đích duy nhất.

Một dự án database-centric cho dịch vụ cung cấp thực phẩm lớn, trên nhiều tiểu bang hoặc cả quốc gia là về thiết kế một cơ sở dữ liệu phân tích. Ngoài việc tạo cơ sở dữ liệu, kỹ sư dữ liệu sẽ viết code để lấy dữ liệu từ nơi nó được thu thập trong cơ sở dữ liệu ứng dụng chính và đưa vào cơ sở dữ liệu phân tích.

Trách nhiệm của kỹ sư dữ liệu (Data engineer)

Các kỹ sư dữ liệu thường là một phần của nhóm phân tích cùng với các nhà khoa học dữ liệu. Các kỹ sư cung cấp dữ liệu ở các định dạng có thể sử dụng được cho các nhà khoa học dữ liệu – những người chạy truy vấn và thuật toán dựa trên thông tin cho các ứng dụng phân tích dự đoán, học máy và khai phá dữ liệu. Họ cũng cung cấp dữ liệu tổng hợp cho giám đốc điều hành, các nhà phân tích doanh nghiệp và những người dùng cuối khác để họ có thể phân tích và áp dụng kết quả vào việc cải thiện hoạt động kinh doanh.

Các kỹ sư dữ liệu và nhà khoa học dữ liệu đóng góp nhiều kỹ năng khác nhau cho nhóm phân tích dữ liệu.

Kỹ sư dữ liệu xử lý cả dữ liệu có cấu trúc và dữ liệu không có cấu trúc. Dữ liệu có cấu trúc là những thông tin có thể sắp xếp thành một repository (kho lưu trữ) được định dạng giống như một cơ sở dữ liệu. Dữ liệu phi cấu trúc – chẳng hạn như file văn bản, hình ảnh, âm thanh và video – không tuân theo các mô hình dữ liệu thông thường. Kỹ sư dữ liệu phải hiểu các cách tiếp cận kiến ​​trúc dữ liệu và các ứng dụng khác nhau để xử lý cả hai kiểu dữ liệu. Rất nhiều công nghệ big data, chẳng hạn như các framework xử lý và nhập dữ liệu mã nguồn mở cũng là một phần của bộ công cụ đối với kỹ sư dữ liệu.

Bộ kỹ năng của kỹ sư dữ liệu

Kỹ sư dữ liệu sẽ thành thạo các ngôn ngữ lập trình như C#, Java, Python, R, Ruby, Scala và SQL. Python, R và SQL là ba ngôn ngữ quan trọng nhất mà các kỹ sư dữ liệu sử dụng.

Các kỹ sư cần hiểu rõ về các công cụ ETL và API định hướng REST để tạo và quản lý các nhiệm vụ tích hợp dữ liệu. Những kỹ năng này cũng cung cấp cho các nhà phân tích dữ liệu và người dùng doanh nghiệp quyền truy cập đơn giản vào các tập dữ liệu đã chuẩn bị.

Kỹ sư dữ liệu phải hiểu data warehouse và data lake, và cách chúng hoạt động. Ví dụ: Hadoop data lake giúp giảm tải công việc xử lý và lưu trữ của các kho dữ liệu doanh nghiệp uy tín, hỗ trợ các nỗ lực phân tích big data của các kỹ sư dữ liệu.

Các kỹ sư dữ liệu cũng phải nắm rõ cơ sở dữ liệu NoSQL và hệ thống Apache Spark, những thứ hiện đang trở thành thành phần phổ biến của quy trình làm việc với dữ liệu. Kỹ sư dữ liệu cũng phải có kiến ​​thức về các hệ thống cơ sở dữ liệu quan hệ, chẳng hạn như MySQL và PostgreSQL. Một trọng tâm khác là kiến ​​trúc Lambda, hỗ trợ các pipeline dữ liệu hợp nhất cho xử lý hàng loạt, theo thời gian thực.

Nền tảng Business intelligence (BI) và khả năng định cấu hình chúng là một trọng tâm quan trọng khác đối với các kỹ sư dữ liệu. Nhờ nền tảng BI, các kỹ sư có thể thiết lập kết nối giữa data warehouse, data lake và các nguồn dữ liệu khác. Các kỹ sư phải biết cách làm việc với các dashboard tương tác mà nền tảng BI sử dụng.

Mặc dù machine learning chú trọng nhiều hơn tới bộ kỹ năng của nhà khoa học dữ liệu hoặc kỹ sư học máy, các kỹ sư dữ liệu cũng phải hiểu nó để chuẩn bị dữ liệu cho nền tảng học máy. Họ nên biết cách triển khai các thuật toán học máy và rút ra các insight từ chúng.

Cuối cùng, kiến ​​thức về hệ điều hành (OS) dựa trên Unix cũng rất quan trọng. Unix, Solaris và Linux cung cấp chức năng và quyền truy cập root mà các hệ điều hành khác không có, chẳng hạn như Mac OS và Windows. Chúng cung cấp cho người dùng nhiều quyền kiểm soát hơn đối với Hệ điều hành, điều này rất hữu ích đối với các kỹ sư dữ liệu.

Khi công việc của kỹ sư dữ liệu ngày càng gia tăng, các công ty như IBM và Cloudera Inc. – nhà cung cấp Hadoop đã bắt đầu cung cấp chứng chỉ về chuyên gia kỹ thuật dữ liệu. Một số chứng chỉ kỹ sư dữ liệu phổ biến bao gồm:

  • Certified Data Professional được Institute for Certification of computing professionals (ICCP) cung cấp, là một phần của chương trình chuyên gia cơ sở dữ liệu tổng hợp. Họ cung cấp một số định hướng. Thí sinh phải là thành viên của ICCP và trả phí thành viên hàng năm để dự thi.
  • Cloudera Certified Professional Data Engineer xác minh khả năng của ứng viên trong việc nhập, biến đổi, lưu trữ và phân tích dữ liệu trong môi trường công cụ dữ liệu của Cloudera. Cloudera tính phí cho bài kiểm tra kéo dài bốn giờ của họ. Nó bao gồm 5 đến 10 task thực hành và ứng viên phải đạt tối thiểu 70% tổng điểm để qua chứng chỉ. Không có điều kiện tiên quyết nào, nhưng các ứng viên nên có nhiều kinh nghiệm.
  • Google Cloud Professional Data Engineer kiểm tra khả năng sử dụng mô hình học máy của kỹ sư, đảm bảo chất lượng dữ liệu cũng như xây dựng và thiết kế hệ thống xử lý dữ liệu. Google tính phí cho bài kiểm tra trắc nghiệm dài hai giờ. Không có điều kiện tiên quyết nào, nhưng Google khuyên bạn nên có một số kinh nghiệm với Google Cloud Platform.

Cũng như nhiều chứng chỉ CNTT khác, các chứng chỉ về kỹ thuật dữ liệu thường dựa trên sản phẩm của một nhà cung cấp cụ thể, các khóa đào tạo và kỳ thi tập trung vào việc dạy mọi người sử dụng phần mềm của họ.

Làm thế nào để trở thành một kỹ sư dữ liệu?

Chỉ có chứng chỉ thôi thì chưa đủ để kiếm được một vị trí kỹ thuật dữ liệu. Kỹ sư dữ liệu cũng cần kinh nghiệm để được xét duyệt cho một vị trí. Các cách khác để tìm hiểu kỹ thuật dữ liệu bao gồm:

  • Bằng đại học. Các bằng cấp hữu ích cho kỹ sư dữ liệu gồm bằng cử nhân về toán học ứng dụng, khoa học máy tính, vật lý hoặc kỹ thuật. Ngoài ra, bằng thạc sĩ về khoa học máy tính hoặc kỹ thuật máy tính cũng tạo lợi thế cho ứng viên.
  • Các khóa học trực tuyến. Các khóa học trực tuyến thường miễn phí và không tốn kém, là một cách tốt để nghiên cứu kỹ năng kỹ thuật dữ liệu. Có nhiều video hữu ích trên YouTube cũng như các khóa học và tài nguyên trực tuyến miễn phí, chẳng hạn như các tùy chọn sau:
    1. Học Python trên website Codecademy. Kiến thức về Python khá thiết yếu với các kỹ sư dữ liệu. Khóa học này không yêu cầu phải có nền tảng CNTT.
    2. Hướng dẫn của Coursera về quản lý và bảo mật Linux server. Khóa học bốn tuần này bao quát các kiến ​​thức cơ bản về Linux.
    3. GitHub SQL Cheatsheet. Kho lưu trữ GitHub này được cập nhật nhất quán với các mẫu truy vấn SQL.
    4. E-book về kỹ thuật dữ liệu trên O’Reilly. Các tiêu đề trong phần kiến ​​trúc big data gồm các chủ đề về kỹ thuật dữ liệu.
    5. Data Engineering Nanodegree trên Udacity. Các dịch vụ học tập trực tuyến của Udacity bao gồm data engineering track.
  • Học dựa trên dự án. Cách này giúp học các kỹ năng kỹ thuật dữ liệu thực tế hơn, bước đầu tiên là đặt mục tiêu cho dự án, sau đó xác định kỹ năng cần thiết để đạt được mục tiêu đó. Phương pháp dựa trên dự án là một cách tốt để duy trì động lực và kết cấu học tập.

Kỹ sư dữ liệu với nhà khoa học dữ liệu

Kỹ sư dữ liệu và nhà khoa học dữ liệu làm việc cùng nhau. Kỹ sư dữ liệu chuẩn bị và sắp xếp dữ liệu mà các công ty có trong cơ sở dữ liệu và ở các định dạng khác. Họ cũng xây dựng các data pipeline để cung cấp dữ liệu cho các nhà khoa học dữ liệu. Các nhà khoa học dữ liệu sẽ dùng tất cả dữ liệu đó cho phân tích và các dự án khác nhằm cải thiện kết quả và hoạt động kinh doanh.

Điểm khác biệt của nhà khoa học dữ liệu và kỹ sư dữ liệu nằm ở bộ kỹ năng và trọng tâm của họ. Kỹ sư dữ liệu không nhất thiết phải có một trọng tâm cụ thể; họ có xu hướng thành thạo một số lĩnh vực và hiểu rõ về kiến ​​thức và kỹ năng của họ. Ngược lại, các nhà khoa học dữ liệu thường có các lĩnh vực trọng tâm chuyên biệt. Họ quan tâm đến việc phân tích dữ liệu thăm dò nhiều hơn. Các nhà khoa học dữ liệu giải quyết các vấn đề mới, có ảnh hưởng lớn, trong khi các kỹ sư dữ liệu kết hợp các mảnh ghép lại với nhau để biến điều đó trở nên khả thi.

Ngoài kỹ sư dữ liệu và nhà khoa học dữ liệu, các nhóm phân tích và quản lý dữ liệu cũng có nhiều vai trò và chuyên môn khác nhau. Đọc thêm về các bộ kỹ năng và nhân sự cần thiết để có một nhóm khoa học dữ liệu doanh nghiệp mạnh mẽ.

Tìm hiểu khoá học Data Engineering tại FUNiX. 

 

Nguyễn Hải Nam

Dịch từ bài Data Engineer

 

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, phường Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        

Cơ quan chủ quản: Công ty Cổ phần Giáo dục Trực tuyến FUNiX
MST: 0108171240 do Sở kế hoạch và Đầu tư thành phố Hà Nội cấp ngày 27 tháng 02 năm 2018
Địa chỉ:
Văn phòng Hà Nội: Tầng 4, Tòa nhà 25T2, Đường Nguyễn Thị Thập, phường Yên Hòa, Hà Nội.
Văn phòng TP.HCM: Lầu 8, Tòa nhà Giày Việt Plaza 180-182 Lý Chính Thắng, phường Nhiêu Lộc, TP. Hồ Chí Minh.
Hotline: 078 231 3602 – Email: info@funix.edu.vn

yêu cầu gọi lại