Gần đây mình có nghe về quan điểm của các bạn khi muốn nâng cao kỹ năng và làm việc nhiều hơn về Bigdata đó là: Trở thành DA trước để là bước đệm về sau làm DE. Vậy hướng đi này có phù hợp không? Chúng ta dành 1.5-2 năm làm DA rồi sau đó chuyển sang làm DE thì đó có là lợi thế. Mình sẽ chia sẻ quan điểm của cá nhân để chúng ta cùng thảo luận nhé!
Khi nói về Data Engineering thì bạn nghĩ đâu là từ khoá cốt lõi: Data hay là Engineering?
Khá là nhiều bạn đã lựa chọn đó là Data hay còn gọi là BigData trước, Data là chân lý phải không nào? Nếu lựa chọn Data là từ khoá chính, là nền tảng thì mình nghĩ, hiển nhiên cách để tiếp cận công việc của một DE chính là trở thành DA trước. Vì rõ ràng công việc của DA là phải xử lý và phân tích với cực kỳ nhiều dữ liệu, làm việc với dữ liệu là cuộc sống của các DA. Tuy nhiên lại có quan điểm khác là các bạn lựa chọn từ khoá là Engineering, phải có Engineering trước rồi mới làm về Data, hay nói cách khác bạn phải là một Software Engineer trước rồi bạn mới làm sâu về Data Engineer được.
Vậy thì đâu mới là quan điểm đúng. Cùng phân tích một chút nhé.
1. Nếu bạn là DA thì bạn cần phải có kỹ năng gì để trở thành DE
- Kỹ năng lập trình: Không chỉ dừng lại ở việc lập trình cơ bản mà bạn phải có khả năng lập trình như một lập trình viên. Tức là nắm vững các kiến thức về cấu trúc dữ liệu giải thuật, khả năng tối ưu cũng như viết được ra các chương trình dễ mở rộng, bảo trì.
- Kỹ năng về hệ thống: Dữ liệu lớn sẽ cần được thiết kế và xử lý trên một hoặc nhiều máy chủ. Thế nên việc hiểu về hạ tầng, mạng máy tính và cả việc setup cơ bản trên hệ điều hành là vô cùng quan trọng. Mọi thứ cần phải được cài đặt và cấu hình để lưu trữ và xử lý các dữ liệu lớn, nếu không phải là chúng ta là người xử lý và vận hành thì sẽ là ai, phải không nào?
- Kỹ năng về Database: Cái này thì quen thuộc và cũng là lợi thế dành cho các DA, đặc biệt là kỹ năng về SQL phải không nào. Tuy nhiên không dừng lại ở đó, các bạn sẽ cần phải biết nhiều hơn về các hệ cơ sở dữ liệu khác nhau, đặc biệt là các hệ cơ sở dữ liệu dạng NoSQL ví dụ như là DOcument Database, Graph Database,vv. Và tất nhiên rồi, kể cả là SQL, các bạn cũng phải tìm hiểu sâu về hiệu năng của nó để làm sao viết SQL được tối ưu và không gây nặng hệ thống
- Các công cụ và công nghệ về BigData: Là DA, các bạn là người sử dụng, tức là bạn chỉ cần vào và chạy dữ liệu trên đó. Tuy nhiên là DE thì bạn lại phải là người cài đặt nên các hệ thống đó. Đặc biệt là có nhiều công cụ cài đặt sẽ khá là phức tạp, nhất là khi phải cài trên nhiều máy chủ khác nhau. Vậy nên không chỉ là có khả năng sử dụng mà bạn cần phải học cả cách setup cũng như hiểu rõ về các tính năng của các công cụ để sử dụng và vận hành sao cho thật tối ưu
2. Còn khá nhiều các hạng mục nữa nhưng chúng ta sẽ tạm chỉ liệt kê đến đây để có cái nhìn tổng quan nhất. Quay sang lựa chọn thứ 2, nếu bạn đã là một Software Engineer rồi thì bạn sẽ cần upgrade những gì để làm được công việc của một DE?
- Đầu tiên thì có sự may mắn là những hạng mục cơ bản kể trên như là: Lập trình, server, hệ điều hành, database, … là những thứ mà một software engineer đã phải được học và được làm rồi, nên đây là một lợi thế rất lớn vì những cái này học để mà nói rất khó và mất nhiều thời gian
- Tiếp theo là những công cụ về BigData, đây sẽ là những thứ mà một SE phải tìm hiểu thêm, đặc biệt là các công cụ trên Cloud Platform cũng cần phải thực hành nhiều rất nhiều. Có thể đây sẽ là bước chuyển mình của các SE, vì đa phần các bạn sẽ thiên về lập trình nhiều hơn, nhưng để làm DE, các bạn còn phải thêm kiến thức về hệ thống, cài đặt, và kiến trúc về luồng dữ liệu nữa.
- Kế đến chính là SQL, lạ thay SQL thì ông SE nào chẳng biết, nhưng mình cũng khá chắc là không nhiều ông SE code cả trang giấy SQL mấy khi đâu. Mà làm việc với dữ liệu thì SQL là điều kiện cần, gần như là bắt buộc, nên các SE cũng cần phải luyện thêm và nâng cao kỹ năng này.
Về cơ bản thì trên đây mình chỉ liệt kê ra một vài khía cạnh để làm được công việc của một DE và chúng ta chỉ đánh giá trên một tập nhỏ các công việc như vậy thôi. Tuy nhiên sau khi nghe xong thì chắc hẳn các bạn cũng biết được đâu là nền tảng chúng ta cần lựa chọn để làm công việc kỹ thuật về dữ liệu phải không nào?
=> Đúng rồi đó chính là phải học và làm thật tốt về Engineering trước, rồi mới nói chuyện đến BigData nhé.
Hi vọng những chia sẻ ở trên sẽ giúp cho bạn có những định hướng rõ ràng hơn trong việc lựa chọn hướng đi tiếp theo cho bản thân. Và bạn có đồng ý với quan điểm này không, hãy để lại comment nhé.
Xin cảm ơn, mình là Huy Đê Tê
Sắp tới Huy có tổ chức một workshop miễn phí với chủ đề xoay quanh việc nâng cấp kỹ năng Engineering dành cho các bạn làm DA/DS. Bạn muốn hiểu rõ hơn, hay đơn giản thảo luận chém gió cùng mình thì đăng ký tại đây nhé https://forms.gle/AeibRw17JiYdbqAo6
THÔNG TIN WORKSHOP - Thời gian: 20h, ngày 27/10/2024 - Online tại Zoom
Tham gia workshop "Level up kỹ năng Analytics Engineering" để khám phá thế giới Data Engineering và trở thành một chuyên gia dữ liệu toàn diện!
👨‍💻 Anh Đỗ Trọng Huy: - Coach Data Engineer tại UniGap - COO tại Nobisoft - Former Associate Software Engineer Manager tại Momo. - 10+ năm kinh nghiệm thực chiến trong lĩnh vực phần mềm, xây dựng hệ thống và Big Data. Anh đã từng thực hiện nhiều dự án với dữ liệu lớn của các khách hàng như Glamira (Đức), Dantri, Myclip (Viettel), Nhaccuatui, Pharmacity…
👨‍💻Chị Bùi Thu Uyên - Coach Data Analyst tại UniGap - Analytics Engineer tại Joon Solutions - Thành thạo các công cụ SQL, Python, dbt, Looker, Airflow với hơn 2 năm kinh nghiệm trong ngành.
Nội dung chính:
1. Bộ kỹ năng cần có cho một Data Analyst hoặc Data Scientist. 2. Tại sao cần biết về Data Engineering và những lợi ích khi nắm rõ kỹ thuật. 3. Những kiến thức Data Engineering cần học ngay và những kiến thức có thể học sau. 4. Phần Q&A - Giải đáp tất cả thắc mắc của bạn!
Ai nên tham dự? - Các bạn Data Analyst, Data Scientist muốn mở rộng kiến thức về Data Engineering và hệ thống dữ liệu lớn. - Các bạn IT, có nền tảng lập trình nhưng muốn tìm hiểu sâu hơn về Engineering và hệ thống quy mô lớn.
Tham gia workshop, bạn sẽ được - Định hướng rõ ràng hơn về nghề Data Engineer - Lộ trình rõ ràng không đứt gãy nhờ sự hỗ trợ của các chuyên gia - Phát triển được kĩ năng cần có để chinh phục ngành