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

Nova Launcher v5.5 beta 7 cho phép người dùng tùy chỉnh hoặc thay thế searchbar bằng tiện ích khác

Mới đây, nhà phát triển ứng dụng Nova Launcher đã tung ra một bản cập nhật thử nghiệm mới, tích hợp thêm tính năng cho phép người dùng tùy chỉnh lại công dụng của thanh tìm kiếm bằng một số tiện ích khác nếu phù hợp

Những chú ý khi tự đổ mực máy in Xerox

Máy in Xerox được biết đến là dòng máy in có độ bền cao và giá thành hợp lý. Tất nhiên, để máy in Xerox bền đẹp, người dùng cần có những chú ý khi tự đổ mực máy in Xerox. Bởi lẽ chọn đúng mực máy in Xerox mới giúp máy

Hướng dẫn cài đặt phiên bản Electra Jailbreak RC 1.3

Mới đây, phiên bản Electra Jailbreak RC 1.3 tiếp tục bị rò rỉ bởi các lập trình viên, mặc dù chưa được phát hành chính thức nhưng khả năng hoạt động tạm ổn và có thể cài được khá nhiều tinh chỉnh thông qua Cydia.

Hai cách cập nhật dòng tweet 280 kí tự trên Twitter

Như bạn đã biết, Twitter vốn chỉ cho phép viết một dòng tweet dài tối đa 140 kí tự. Nhưng họ đang thử nghiệm với con số kí tự gấp đôi để bạn có thể bày tỏ nhiều hơn.

4 cách chuyển dữ liệu trên điện thoại iPhone và Android nhanh gọn và cực dễ dàng

Chuyển dữ liệu trên một thiết bị cũ sang một điện thoại mới thì làm như thế nào? Trong bài viết chính là 4 cách đơn giản và dễ làm nhất dành cho bạn.

ĐÁNH GIÁ NHANH

Trên tay ASUS Zenbook Flip S13 (UX371): Laptop màn hình OLED 4K dành cho doanh nhân

ASUS – nhà sản xuất đang thành công trên nhiều dòng sản phẩm laptop. Từ Vivobook, TUF, Workstation, Zenbook,…, trong đó Zenbook là dòng laptop được thiết kế hướng đến đối tượng người dùng doanh nhân. Tiếp nối thành

Dell Vostro 15 3578 (I7-8550U): Sự lựa chọn tốt nhất cho doanh nhân và doanh nghiệp nhỏ

Dell Vostro 15 3578 sử dụng chất liệu nhựa tổng hợp màu đen. Logo “Dell” được đặt trên lớp phủ ngoài không lóa có bề mặt được đánh bóng. Thiết kế này làm nổi bật logo nhà sản xuất, làm cho nó trông phong cách hơn. Nhìn

Đánh giá Lenovo IdeaPad 100s - Giá rẻ nhiều tiện ích

Dù thuộc phân khúc dưới phổ thông với giá bán chưa tới 5 triệu đồng nhưng Lenovo IdeaPad 100 vẫn được trang bị nhiều tiện ích hỗ trợ tốt cho người dùng trong một thiết kế tổng thế khá gọn và đẹp.