[wp-svg-icons icon=”bookmark” wrap=”i”] Giới thiệu đôi chút
Ngày trước khi mới bước chân ra khỏi trường đại học đi làm, tôi chỉ mới nghe đến vài vị trí công việc như. Developer, System, Coder, Tester, Network…
Thời gian gần đây, dạo quanh thị trường tuyển dụng, lại hay nghe đến 1 số vị trí khá hay ho như: Data Scientist, Data Analytics và … Data Engineer.
Sau khi nghiên cứu vai trò của cái job Data Engineer này 1 thời gian, xem cụ thể nó là làm về cái gì, thì tôi bỗng nhận ra: Ồ, tôi là một Data Engineer mà bao lâu nay tôi không hề biết :))
Bản thân tôi khi mới ra trường là làm ở vị trí người quản trị cơ sở dữ liệu (Database Administrator – DBA).
Mô tả 1 chút về cái nghề DBA này. Bạn hình dung: Dữ liệu của 1 công ty luôn luôn tăng trưởng. Khi dữ liệu còn nhỏ, chưa có nhiều vấn đề với nó lắm. Hay các vấn đề vẫn còn ở mức chấp nhận được thì công việc quản lý dữ liệu vẫn có thể giao cho 1 chú System Admin hoặc thậm chí Developer đảm đương được.
Tuy nhiên khi dữ liệu đã lớn (thế nào gọi là lớn thì cũng không có ranh giới rõ ràng), nhiều vấn đề sẽ phát sinh. Ví dụ như quy hoạch dữ liệu thế nào cho hợp lý, chỗ nào là dữ liệu hot hay warm hay cold, phân quyền dữ liệu thế nào cho chặt chẽ…
Đặc biệt là các vấn đề liên quan đến hiệu năng của hệ thống. Lúc này sẽ cần đến 1 ông chuyên môn để quản lý, chăm sóc cơ sở dữ liệu.
Đại loại là, công ty cũng phải to to một chút thì mới đẻ ra cái ông DBA này.
Đó, và xuất phát điểm tôi là một người DBA – Quản trị Cơ sở dữ liệu.
[wp-svg-icons icon=”bookmark” wrap=”i”] Data Engineer là gì
Quay lại chủ đề chính của bài viết, vậy nghề Data Engineer là gì?
Search google 1 lúc tôi thấy có bài này khá dễ hiểu
https://quanthub.com/what-is-data-engineering/
Tạm dịch là:
Ồ, nghe có vẻ quen thuộc… Mà khoan, đó chẳng phải là những cái tôi đang làm hay sao!!
Công việc của tôi cũng là xây dựng các database, thiết kế các đường ống dữ liệu để dữ liệu từ các nguồn (web, API, Database, …). Rồi từ đó đổ dữ liệu vào 1 chỗ (bằng các công cụ ETL như Goldengate, ODI, Pentaho).
Chắc không phải chỉ có vậy chứ, tiếp tục tìm hiểu, tôi tìm thấy 1 đống các skill cần thiết để làm cái nghề này. Tôi cũng tìm được 1 cái hình khá hay như sau:
Các kỹ năng của Data Engineer
Như các bạn thấy, cái Data Engineer nó có khá nhiều điểm tương đồng với những Software Engineer và Data Scientist như kỹ năng lập trình trên các ngôn ngữ Python, Java hay Kỹ năng phân tích dữ liệu. Tuy nhiên các kỹ năng để phân biệt hẳn 1 ông là Data Engineer với các ông khác. Đó là:
[wp-svg-icons icon=”checkmark” wrap=”i”] Kỹ năng xây dựng Database (RDBMS, NoSQL, Data Warehouse…)ư
[wp-svg-icons icon=”checkmark” wrap=”i”] Kỹ năng làm việc với Database (cả RDBMS và Big Data)
[wp-svg-icons icon=”checkmark” wrap=”i”] Kỹ năng ETL
[wp-svg-icons icon=”bookmark” wrap=”i”] Tóm lại về Data Engineer
Nếu bạn hình dung dữ liệu nhiều như nước, nước thì xuất phát từ rất nhiều nguồn. Vậy thì ông Data Engineer là ông đào 1 cái hồ để tập trung các nguồn nước đó lại về 1 chỗ. (Data Lake hoặc Data Warehouse). Ông ấy cũng phải khơi thông kênh rạch hay đào thêm cống để dẫn nước vào (ETL – Extract Transform Load)
Sau khi cái hồ dữ liệu đã thành hình rồi thì các ông khác muốn khai thác nó mới có thể nhảy vào. Ông muốn xây Resort, ông thì muốn nuôi cá, hay đơn giản có ông chỉ muốn vào uống nước thôi :))) –> Đây chính là các ông Data Scientist, Data Analyst.
Đơn giản phải không nào 😀
[wp-svg-icons icon=”facebook-2″ wrap=”i”] Hãy tham gia group “Kho tài liệu kiến thức database” để cùng học hỏi và chia sẻ nhé.
Nguồn: https://dangxuanduy.com/