CHAPTER IV: “4 điều mình ước mình biết trước khi học Ngành Khoa học dữ liệu”
Khoa học Dữ liệu (Data Science) được tạp chí Harvard Business Review gọi là “Nghề nghiệp quyến rũ nhất thế kỷ 21”. Thuật ngữ “Khoa học Dữ liệu” đã trở thành một từ khóa “nóng” trên các phương tiện thông tin đại chúng. Tại Hoa Kỳ, Khoa học Dữ liệu đứng đầu trong số 25 nghề tốt nhất, đứng thứ 16 về mức lương và đứng đầu trong số 10 ngành nghề được tuyển dụng nhiều nhất hiện nay.
Ngành Khoa học Dữ liệu còn khá non trẻ so với các ngành nghề truyền thống khác. Ngành Khoa học Dữ liệu được giới thiệu ngắn gọn chính là ngành nghiên cứu khoa học một cách chi tiết về luồng thông tin từ lượng dữ liệu (thô và không có cấu trúc) khổng lồ có trong kho lưu trữ của một tổ chức (hay còn được biết với cái tên Big Data – Dữ liệu lớn). Qua đó hiểu được ý nghĩa của những mẫu ẩn, giúp đưa ra quyết định và dự đoán cho một công việc cụ thể. Trong thời đại bùng nổ của cách mạng công nghệ 4.0 và cuộc chạy đua số của các doanh nghiệp trên mọi lĩnh vực, thì người thắng cuộc là người làm chủ được các nguồn dữ liệu lớn đó. Vậy mới bảo ngành Khoa học Dữ liệu tuy trẻ nhưng mà võ công rất cao cường!
Ngành Khoa học Dữ liệu sang xịn mịn là vậy, thế nhưng để thả tim và theo đuổi ngành này suốt 4 năm trên ghế giảng đường Đại học thì liệu những thông tin trên đã đủ thuyết phục? Thực tế trong quá trình học, liệu có những góc khuất nào mà bạn chưa tìm hiểu rõ và ước rằng “Giá mà hồi đó mình biết được…”?
Hãy cùng VNUK Career Service vén tấm màn bí mật và khám phá xem những điều ước “giá như” ấy là gì, để bạn có thể hiểu rõ hơn về ngành này, thêm cơ sở để xác định con đường tương lai phía trước của bạn nhé!
#1
Để giải thích rõ hơn cho câu nói này thì chúng ta cần đi qua những công việc mà một Data Scientist – nhà khoa học dữ liệu phải làm (mình xin gọi tắt là DS):
DS giải quyết các bài toán nhỏ trong doanh nghiệp
Tại một số công ty lớn với rất nhiều data nhưng họ chỉ dừng lại ở việc sử dụng data đó để phân tích sản phẩm hay đánh giá trải nghiệm người dùng thì khi đó nhiệm vụ chính của các bạn DS thường là viết 1 phần mềm nho nhỏ để phân tích dữ liệu ấy. Thông thường dữ liệu này sẽ xuất phát từ rất nhiều thị trường và sản phẩm khác nhau, nên DS cũng sẽ phải “chạy” trên nhiều tập dữ liệu tương tự. Sau đó thì sẽ đi trình bày, thảo luận với các bạn quản lý hoặc có thể là cả CEO/ stakeholders về kết quả của việc phân tích dữ liệu ấy. Nói nôm na là diễn đạt lại đầu ra một cách dễ hiểu và theo hướng ứng dụng dưới ngôn ngữ của các bạn học kinh doanh.
DS giải quyết các bài toán to trong doanh nghiệp
DS làm trong một quy trình phát triển hệ thống thì sẽ giải quyết các bài toán lớn hơn rất nhiều. Đối với các công ty B2B (Business to Business, có nghĩa là từ doanh nghiệp tới doanh nghiệp) thì đa số công việc của DS thuộc loại thứ hai. Lấy ví dụ một công ty chuyên làm tư vấn chiến lược kinh doanh cho các siêu thị bán lẻ thì thường sẽ được chia ra thành những đội sau:
Đội Data : chuyên về thu thập, xử lý và làm sạch data. Ngắn gọn, xúc tích vậy thôi nhưng mà phần này thường sẽ rất nặng về code.
Đội Analyst (phân tích): chuyên đi nói chuyện với các khách hàng để hiểu được yêu cầu của họ, biết họ cần gì, muốn gì, những quy tắc nào mình phải tuân theo, có những hạn chế nào đáng kể không. Đây có thể gọi là đi tìm cái chỗ ngứa của khách hàng để mình gãi.
Đội Data Scientist (DS): sau khi đội Analyst tâm sự với khách hàng rồi thì sẽ về thảo luận lại với đội DS để hiểu rõ hơn về bài toán lớn mà mình cần giải. Sau đó sẽ tự bàn bạc lên ý tưởng thuật toán, rồi liên hệ với đội Data để yêu cầu loại dữ liệu liên quan. Sau khi có Data rồi, DS sẽ bắt đầu lập trình prototype – nguyên mẫu trên dữ liệu đó, chạy đủ thể loại test trên dữ liệu để xem phần mềm chạy có ổn không. Nếu cả đội thấy hài lòng với đầu ra rồi thì tương tự như ở trên, trừ việc thường bạn sẽ nói chuyện trực tiếp với CEO/ stakeholders để xem họ có hài lòng với kết quả của bạn không. Nếu không thì chúng ta sẽ đi cập nhật và chỉnh sửa thuật toán tới khi nào ai cũng tay bắt mặt mừng với kết quả cuối cùng thì sẽ chuyển qua công đoạn tiếp theo.
Đội Scientific Developer (Data Science Engineer): các bạn ở trong team này sẽ chịu trách nhiệm chính về việc xây dựng phần code cuối cùng để có thể đưa vô sản xuất. Những bạn này thường sẽ có nền tảng rất tốt về toán cũng như lập trình trên các ngôn ngữ họ C (C#, C++)
Và một điều thú vị là nếu bạn tốt nghiệp ngành Khoa học dữ liệu, thì bạn hoàn toàn có thể rẽ nhánh qua các đội khác mình đề cập ở trên chứ không chỉ nằm gói gọn trong việc viết prototype code không. Trong quá trình học, các bạn sẽ học song song phần lập trình và cả mảng kinh tế. Nên sau khi tốt nghiệp có rất nhiều lựa chọn cho bạn trong ngành này.
#2
Khoa học Dữ liệu (Data Science) bao gồm rất nhiều phạm trù kiến thức như bạn thấy ở trên, và đúng là toán học cũng đóng vai trò rất then chốt trong ngành nghề này. Có nhiều bạn sau khi học xong về toán và xác suất thống kê cũng cảm giác bị shock và nghĩ rằng có khi mình không thể nào theo đuổi được ngành này đâu vì nó “khoai” quá. Nhưng để nói rằng: “À, bạn không giỏi toán hả, bạn không bao giờ có thể làm được một programmer hay data scientist đâu” thì điều đó lại càng không đúng. Có những mảng trong ngành DS không yêu cầu hoặc yêu cầu rất ít về mặt toán học, và kiến thức bạn cần thường cũng chỉ xoanh quanh 3 khía cạnh chính: giải tích (bạn từng học ở cấp 3 rùi), đại số tuyến tính (câu chuyện về ma trận, vector, đường thẳng,…bạn cũng đã từng gặp phải 1 chút ở cấp 3 luôn) và cuối cùng là Xác suất thống kê. Ngoài việc bạn đã có từng có chút kinh nghiệm trong việc học tập các môn này, thì ngoài ra bạn cũng không cần phải trở nên quá đào sâu mà có thể dừng lại ở mức khá là cũng đã đủ khả năng để bắt đầu theo đuổi ngành Khoa học Dữ liệu và tương lai xa là trở thành Data Scientist rồi đó.
Toán học cũng cần thiết cho việc hiểu được cách vận hành của những thuật toán phức tạp, nhưng tin tốt là ít ra trong vài năm đầu bạn làm việc, bạn cũng chỉ tiếp xúc nhiều ở việc hiểu nó thôi chứ không phải cố tạo ra những thuật toán mới.
#3
“Trăm nghe không bằng một thấy”, vậy nên mình cùng lắng nghe chia sẻ của bạn sinh viên “5 tốt” toàn quốc Nguyễn Tấn Đạt, sinh viên năm 2 ngành Khoa học Dữ liệu tại VNUK về việc học ngôn ngữ lập trình nha. Theo Tấn Đạt chia sẻ: “Lúc mình mới bắt đầu học về ngành này thì mình có đọc từ vài tài liệu rằng Python và R là 2 ngôn ngữ chính và cần thiết cho ngành Khoa học dữ liệu. Nên lúc đó mình hơi phân vân một chút giữa việc nên dành thời gian để bắt đầu học ngôn ngữ nào trước. Đối với vấn đề nan giải như vậy thì để không ngôn ngữ nào phải chịu thiệt thòi thì mình quyết định học luôn cả 2 ngôn ngữ cùng lúc. Vừa vặn lúc đó bên Harvard đang free một khóa về R Programming cộng với việc trường mình có tài khoản trên Udemy để học luôn Python nên mình bắt đầu luôn. Kết quả là mình siêu hoang mang và bối rối, cũng như cảm giác choáng ngợp trước một bầu trời kiến thức mà mình phải tiếp thu. Kiểu đúng như râu ông nọ chắp cằm bà kia vậy. Và trong lúc mình lướt youtube để tìm kiếm sự cứu rỗi thì tình cờ bắt gặp video của một anh làm Data Scientist bên mảng thể thao và nhận được lời khuyên rằng: “Khi mới bắt đầu, thứ bạn cần tập trung vào là những khái niệm cũng như tư duy lập trình chứ không phải là cú pháp của ngôn ngữ.” Nhờ vào lời khuyên đó, mình dừng việc cố gắng ôm đồm quá nhiều thứ lại và dành thời để hoàn thành xong khóa Python thôi. Nhờ vào việc đó, mình có một sự hiểu biết sâu hơn không chỉ về Python mà về lập trình nói chung, vì suy cho cùng thì Ngôn ngữ lập trình âu cũng là ngôn ngữ (có chữ language trong nó mà), giống như việc bạn học tiếng Anh vậy. Một cuốn sách hay vẫn có thể được chuyển thể thành nhiều ngôn ngữ khác nhau (Kinh Thánh được dịch sang hơn 2400 ngôn ngữ trên thế giới), và một thuật toán hay dự án hay cũng có thể được chuyển sang nhiều ngôn ngữ, nên các bạn đừng quá đặt nặng vấn đề phải biết quá nhiều ngôn ngữ nhé”.
#4
Khó khăn lớn nhất chắc là yêu cầu công việc vừa cần technical mindset, vừa có business mindset. Ví dụ, mọi người sẽ ít thấy một dev giỏi lại quảng giao, những ai vừa có thể code, vừa có thể giao tiếp ngon lành với khách hàng (2 bán cầu não của họ đều phát triển), người đó luôn là key person (người quan trọng) trong dự án. Nên sẽ rất tốt nếu bạn có phương án trước để luyện tập cho bản thân phát triển cả 2 bán cầu não.
Từ ngữ có vẻ to bự là vậy nhưng đơn giản chỉ là hãy cố gắng học song song code và cách giao tiếp, học toán đi kèm với ngoại ngữ, tích cực tham gia các hoạt động xã hội (đủ điểm hoạt động ngoại khóa mới ra trường nữa chứ). Bên cạnh đó, ở trường thường bạn cũng sẽ được dạy kiến thức nền tảng song song giữa 2 ngành Business và Technical (tại VNUK thì các bạn sẽ được học qua các môn trong kinh doanh như Intro to Business Management, Math for Business, Foundation of Business Analytics) nên bạn sẽ không cần quá lo lắng mình không được đào tạo hai kiến thức này đâu.