Một số kĩ năng quan trọng cần có khi làm Data Engineer

Các thứ về data
Làm data engineer, có chữ data trong đó thì đương nhiên bạn phải hiểu về data rồi. Có những thứ cơ bản mà bạn có thể đã được học ở trường trong các môn về giải thuật và cơ sở dữ liệu, mình sẽ liệt kê một vài điểm quan trọng ở đây:


  • Các loại database, khi nào dùng cái nào, cách hoạt động của database ra sao

  • Cách người ta tổ chức dữ liệu trong database cho các hệ thống vận hành như thế nào (cách thiết kế database, quan hệ, cardinality - không biết dịch tiếng Việt là gì, normalization…)

  • Cách người ta tổ chức lưu và tăng tốc truy cập, tăng tốc lưu dữ liệu như thế nào (ví dụ, các loại index? index để làm gì?)

  • NoSQL có gì hay, ưu nhược, khi nào dùng, nếu dùng kèm relational database thì sao… các loại NoSQL database người ta đang dùng…

  • Hiểu và biết cách thao tác, cấu hình và làm việc với những loại database phổ biến (Postgres, MySQL, SQL Server, có thể là cả Oracle…)

  • Biết cách dùng SQL, một cách thành thạo, và phải biết nhiều, làm nhiều, chứ không chỉ là SQL cơ bản. Riêng về SQL, mình đã từng chia sẻ kĩ trong topic: Vì sao bạn nên học SQL, kể cả khi bạn làm marketing, finance, operations chứ không chỉ làm việc data. Hiện tại nhiều công ty ở Việt Nam đã cho các bạn làm business truy cập vào dữ liệu bằng SQL rồi, ngay tại Việt Nam chứ không đâu xa. Nhiều năm trước điều này hiếm ở nước ta, chỉ phổ biến ở Mỹ, Singapore, giờ thì đã về Việt Nam rồi.


Ngày xưa khi mình chưa biết gì về data, mình đi phỏng vấn đã bị hỏi ngay mấy câu về index này kia, choáng luôn, vì trong trường mình không được học đầy đủ như thế, mà lúc đó mình cũng gan, dám nộp hồ sơ vô một thứ mà mình chưa hề biết nhiều. Thế là anh lead quăng cho mấy tài liệu để học, cho thời hạn 1,5 tuần phải biết được mấy mớ đó, còn không thì nghỉ (vì khi đó mình đang xin qua team data làm, trước đó mình không thuộc team này). Cũng may là nhờ có giai đoạn đó mà mình đã hiểu nhiều hơn về bản chất của những thứ mình làm.
Đây chỉ mới là những thứ cơ bản nha, tiếp theo còn có nhiều thứ mà bạn sẽ phải làm hằng ngày, như là:


  • Datalake, data warehouse là gì, người ta xài khi nào, ứng dụng ra sao

  • Các thiết kế, kiến trúc Data warehouse

  • Các công nghệ thường sử dụng làm data warehouse, cả những giải pháp cũ và những giải pháp mới hiện đại

  • Giải pháp dành cho data lớn thì nó khác với data nhỏ ra sao, trường hợp nào dùng cái nào

  • Các công nghệ, các tool thường dùng để làm data pipeline hiện đại, cách chúng hoạt động, cách dùng, và cách phối hợp với nhau

  • Đừng quên cloud: tìm hiểu về các giải pháp cloud mà Google, Amazon, Microsoft đang cung cấp cho mục đích data, ví dụ như Google BigQuery + Cloud Storage, AWS S3 + RedShift…

  • Những công cụ thường dùng để làm report, làm dashboard (gọi chung là visualization tool), các bên kinh doanh sẽ dùng nó ra sao, bạn cần chuẩn bị data đầu vào cho nó như thế nào. Thậm chí, ở một số công ty mới bắt đầu đầu tư cho team data, thì có khi bạn phải làm luôn phần này.


Một số kĩ năng quan trọng cần có khi làm Data Engineer

Các thứ về software engineering
Đối với mình thì data engineering thực chất là một nhánh của software engineering, nên việc bạn phải hiểu, thậm chí phải bắt tay làm một số thứ về phần mềm là chuyện rất bình thường. Ngoài ra, data cũng thường được sinh ra từ các hệ thống phần mềm, mà để bạn biết được data đó sinh ra như thế nào, vì sao người ta lưu như vậy, vì sao có một số thứ làm được nhưng một số khác thì chưa làm… đều là những vấn đề của software engineering hết.
Khi bạn hiểu và biết những thứ mà các bạn software engineer, hay trong công ty gọi thân quen là mấy bạn dev, thực hiện, bạn sẽ dễ dàng giao tiếp với các bạn ấy hơn khi cần nhờ họ giúp hoặc khi cần hỏi thông tin. Nó cũng giúp bạn hiểu được luồng chảy của dữ liệu qua các hệ thống, thành phần nào chịu trách nhiệm cho cái gì và nó sinh ra data như thế nào.
Sau này, có khi bạn - ở vai trò là data engineer - cũng sẽ phải làm một số việc liên quan đến software engineering, cụ thể là làm web, làm hạ tầng và mọi thứ cần thiết để giúp người dùng data có thể tiếp cận với dữ liệu dễ dàng và nhanh chóng hơn, ít phải làm thủ công hơn, hoặc họ ít phải nhờ bạn những việc lặp đi lặp lại. Đó là một cột mốc mà mình thấy mọi team data engineer rồi sẽ phải dịch chuyển tới, chứ mỗi khi bạn vào công ty thì không chỉ làm mỗi cái data pipeline để load dữ liệu hay để phục vụ mục đích phân tích.
Bạn có thể Google thêm về cách mà các team data platform của Apple, của Netflix, của Airbnb đang hướng tới, dần dần họ chuyển hóa từ những ông làm data pipeline trở thành một team chuyên cung cấp hạ tầng và dịch vụ data, để các team khác trong công ty có thể truy cập vào data đúng thời điểm, chính xác và có thể tự tin vào số để ra các quyết định mới. Đó là lúc mà data engineer chuyển thành một ông dev đúng nghĩa đó 😁 Ở Việt Nam nhiều công ty, kể cả công ty mình đang làm, cũng đã chuyển sang hướng này khi đã đạt tới một độ trưởng thành nhất định về data.
Một số gạch đầu dòng làm từ khóa cho bạn:


  • Backend: xây dựng backend server, dùng ngôn ngữ gì cũng được (Python dễ tiếp cận và cũng dùng nhiều trong việc data engineering nè), cách giao tiếp với database, cách tiếp nhận request…

  • Front end: người ta xây web bằng các công cụ nào, ReactJS, VueJS, HTML CSS JS nói chung…

  • Mobile app: người ta có thể làm ra app trên di động bằng những cách nào, nếu bạn vọc vô luôn thì tốt. Flutter, React Native là những thứ có thể bắt đầu nhanh để hiểu về cách người ta tạo ra mobile app, còn thích nữa thì vọc vô native luôn nếu bạn có thời gian

  • Hạ tầng và devops: cách dựng server cơ bản, cài đặt server, cài đặt mạng cơ bản, Docker, K8s, cách scale server khi cần…

  • Cloud: cách dùng các dịch vụ cloud, phân quyền, cách dùng các dịch vụ khác bên cạnh dịch vụ về data…


Các thứ về sản phẩm và kinh doanh
Bạn nghe về data thì nghe cái việc nó khá là lạ, nhưng nếu bạn nhìn nó ở một góc khác, góc của sản phẩm số, thì việc bạn đang làm không khác nhiều so với những gì mà anh em developer khác đang làm. Nếu như các anh em dev xây ra những hệ thống, những công cụ, những cái app, cái web cho người dùng xài thì bạn đang “xây” ra data cho những người khác sử dụng. Sản phẩm của bạn chính là data. Khi bạn hiểu về cách mà người ta thường làm sản phẩm số, bạn có thể biết được làm sao để đưa data của bạn đến cho người dùng một cách hiệu quả nhất. Vì đến cuối cùng thì chính mấy ông data engineer là ông giúp cho công ty tiếp cận với data chứ còn ai vào đây nữa.
Bên cạnh đó, khi các sản phẩm số của các công ty bắt đầu được xây ra thì sẽ có nhu cầu thu thập dữ liệu, và khi bạn biết được về quy trình đó, về cách người ta thường làm… thì bạn sẽ dễ dàng biết trước những vấn đề có thể gặp, biết được khó khăn ở từng giai đoạn là gì, từ đó bạn có thể làm việc của mình tốt hơn, cũng như phối hợp với đồng đội ở các bộ phận khác nhuần nhuyễn hơn.
Còn về kinh doanh thì đương nhiên bạn phải biết rồi. Nhiều anh em làm engineer mình biết từ chối không tìm hiểu gì về phần kinh doanh, nhưng với data engineer thì đây không phải là một lựa chọn. Tất cả dữ liệu của bạn được sinh ra là để phục vụ cho kinh doanh, và khi bạn hiểu được một số thứ - dù chỉ là cơ bản thôi - về nghiệp vụ chính của các mảng business thì bạn sẽ dễ dàng hơn khi làm việc với các phòng ban khác. Bạn cũng có thể hiểu hơn về khó khăn mà các phòng ban khác gặp phải, từ đó tạo ra giải pháp data tốt hơn cho bạn.
Cũng vì lý do này mà nhiều trường có ngành hệ thống thông tin, trong đó các bạn sinh viên được dạy cả về kế toán, marketing cơ bản, xác suất thống kê, nguyên lý doanh nghiệp các thứ. Học mấy cái này, khi đi làm data engineer thì bạn có nhiều lợi thế lắm.
Các bạn thấy đó, để làm data engineer thì bạn phải hiểu biết nhiều lĩnh vực, khá là rộng, trong khi vẫn phải rành cái việc chính của mình, tức là phải biết sâu. Nhưng đó là một hành trình rất vui, rất thú vị và bạn học được rất nhiều thứ, cơ hội của bạn cực kì rộng lớn.
Kĩ năng mềm
Cuối cùng là những kĩ năng mềm mà đi làm ai cũng cần: thuyết trình, cách giao tiếp với đồng nghiệp, cách giao tiếp với sếp, cách trình bày vấn đề, cách làm quen với những người khó tính… Những thứ này đi làm rồi dần dần bạn sẽ học được thôi, không khó đâu. Quan trọng là bạn cần nhận thức đó là cái quan trọng và bạn nỗ lực để học là ok. Nhiều công ty giờ cũng có các buổi training cho nhân viên về những kĩ năng này, nếu bạn tìm được những công ty dạng đó thì hay.
Đây chỉ là những cái bao quát nhất, chứ còn chi tiết thì dài lắm. Không biết còn sót gì không :D Anh em nào biết thì bổ sung giúp mình nhé.

datadata engineer

TIN LIÊN QUAN

Giới thiệu về cơ sở dữ liệu - Database

Microsoft Access là công cụ tạo và quản lý cơ sở dữ liệu. Để hiểu về Access trước hết bạn phải hiểu về cơ sở dữ liệu (database).

Khắc phục lỗi "MySQL Table...crashed and last (automatic?) repair failed"

Chắc hẳn bạn đang gặp rắc rối với lỗi ' MySQL Table 'table_name' is marked as crashed and last (automatic?) repair failed ' thì đây chính là hưỡng dẫn bạn cách xử lý nhanh chóng lỗi này. Nào hãy cùng TCN xử lý lỗi này nhé.

Đã có thể tải về và cài đặt ngoại tuyến bản cập nhật Windows 10 build 14393.1797

Gần đây, một bản cập nhật đã được phát hành cho những thiết bị đang chạy Windows 10 Anniversary Update (version 1607). Với mã số build 14393.1797, bản cập nhật KB4052231 giúp sửa một lỗi tồn đọng trên hệ điều hành. Hơn nữa, bản cập nhật lần này còn

Hướng dẫn sao lưu và khôi phục thiết lập Start Menu của Windows 10

Techrum - Người dùng Windows 10 có khả năng sao lưu và khôi phục lại tất cả thiết lập trên Start Menu khi máy tính gặp sự cố. Hoặc bạn muốn chuyển thiết lập Start Menu sang một tài khoản mới. Việc này rất đơn giản, sau đây TECHRUM sẽ hướng dẫn bạn

Xây dựng dữ liệu đám mây chuyên nghiệp với OwnCloud 6

Chắc hẳn ai đã từng sử dụng dịch vụ lưu trữ đám mây nổi tiếng BOX Cloud, Skydrive hay sử dụng dịch vụ đám mây Google Driver... Đều cảm thấy hài lòng về dịch vụ lưu trữ đám mây tuyệt với này với dung lượng cực lớn, các thao tác để đưa dữ liệu rất đơn

Microsoft tham gia Cloud Foundry Foundation

Micosoft đã thông báo rằng tham gia Cloud Foundry Foundation với tư cách là một Thành viên Vàng

THỦ THUẬT HAY

So sánh VirtualBox và VMware Player trên nhiều khía cạnh khác nhau

Khó khăn nhất để bắt đầu là quyết định sử dụng phần mềm máy ảo nào. Một số lựa chọn có sẵn nhưng nếu bạn không muốn đầu tư một đồng nào thì có hai máy ảo đáng cân nhắc là VirtualBox và VMware Workstation Player.

Cách sử dụng bảng điều khiển tủ lạnh LG GR-X247JS, GR-P247JS

Trước cửa tủ hoặc bên trong cánh cửa của ngăn mát tủ lạnh, bạn sẽ tìm thấy được tem năng lượng màu xanh hoặc tem nhà sản xuất.

Cách nấu xôi bằng nồi cơm điện thơm ngon dễ dàng

Trên thực tế, nấu xôi bằng nồi cơm điện sẽ dễ và nhanh chóng hơn nấu kiểu truyền thống rất nhiều.

Cài và chơi game Plants vs. Zombies trên máy tính

Tựa game hoa quả nổi giận Plants vs. Zombies vẫn luôn thu hút được sự chú ý của rất nhiều người chơi, bởi lối chơi đơn giản nhưng vô cùng thú vị.

Hướng dẫn khóa máy để iPhone chỉ chạy duy nhất một ứng dụng

Chắc hẳn nhiều khi bạn bè mượn điện thoại để chơi Game, lướt Web hay dùng máy tính…Điện thoại iPhone chứa rất nhiều dữ liệu cá nhân, bạn không muốn bạn bè táy máy vào xem khi họ mượn.

ĐÁNH GIÁ NHANH

Hiệu năng và thời lượng pin Xiaomi Mi A2: Vượt trội so với các đối thủ trong phân khúc

Xiaomi Mi A2 chính là chiếc điện thoại có hiệu năng mạnh nhất trong tầm giá 6 triệu đồng hiện nay khi được trang bị bộ vi xử lý Snapdragon 660, con chip mang sức mạnh tương đương những smartphone cao cấp. Tuy nhiên để

Đánh giá PCX HYBRID - khi sự khác biệt nằm ở chế độ lái

Vẫn giữ nguyên thiết kế đặc trưng của dòng PCX đời đầu, tuy nhiên mẫu PCX 2018 được đánh giá cao hơn về ngoại hình khi so với thế hệ đầu tiên thường bị chê là “đầu bự đuôi nhỏ”. PCX mới sở hữu thiết kế có phần cân đối

Đánh giá Samsung Galaxy Z Fold 2: Chiếc smartphone màn hình gập đáng mua nhất hiện nay

Galaxy Z Fold 2 là một làn gió mới cho những ai yêu thích công nghệ và muốn sở hữu một thiết bị cao cấp. Công nhận Samsung làm rất tốt với Galaxy Z Fold 2, giúp máy thay thể được những dòng smartphone phổ thông. Nhưng