Góp nhặt kinh nghiệm làm nghề Data scientist

Qua thời gian làm việc cũng như tìm tòi tài liệu, sách báo về machine learning, nếu vai trò của bạn là Data Scientist/Data Engieer/Data Analyst thì phần lớn bạn sẽ nhận được những chia sẻ kinh nghiệm bên dưới. Trong bài viết này, mình sẽ tổng hợp lại những kinh nghiệm trong ngành Data Science để dễ dàng tham khảo sau này.

Modern data scientist
Modern data scientist

Tuyển dụng

Data Science Interview.png

  • Ở Việt Nam, muốn làm Data Scientist bạn phải có bằng PhDs hay Master và Master nếu chưa có kinh nghiệm thực tế về Big Data thì cũng không được làm. Do vậy, bạn hãy đi từ thấp lên cao, từ vị trí technical như Data Engineer hay Data Analyst  để tiếp xúc dần dần với dự án thực tế rồi sau đó nâng cấp mình lên thành Data Scientist.
  • Ở Việt Nam, khi phỏng vấn về Data Scientist, bạn cần phải giỏi cấu trúc dữ liệu và giải thuật cũng như lập trình vì họ đòi hỏi cao về khả năng giải quyết vấn đề, tối ưu hóa hệ thống. Do đó, hãy dành thời gian ôn lại các khái niệm như Dynamic Programming, Recursive Programming, Combinatorial optimization cũng như tập code lại các vấn đề như chuỗi Fibonacci hay Knapsack.
  • Ở Việt Nam, khi phỏng vấn về Data Scientist, họ ít khi hỏi về Machine Learning hay các dự án thực nghiệm mà bạn đã làm, không như các nước như Mĩ họ quan tâm đến cách bạn sử dụng công cụ hiện có để xây dựng mô hình Machine Learning sao cho chính xác, nhanh là được. Lý do, người phỏng vấn chỉ là kĩ thuật viên nên không đủ kiến thức để hỏi, hoặc họ muốn bạn code lại tự đầu các thuật toán sao cho phù hợp với hệ thống hiện tại mà các tool hiện tại chưa cung cấp. Vì vậy, họ chủ yếu đào sâu vào giải thuật nhiều hơn là khoa học phân tích dữ liệu hay huấn luyện và đánh giá mô hình Machine Learning.
  • Bạn nên tránh xa những công ty khi nói với bạn những câu đại loại như thế này: “Bạn không phải là chuyên gia về R và chúng tôi sử dụng ngôn ngữ này rất nhiều nên chúng tôi không muốn tuyển dụng bạn nữa.” Bởi vì data science không phụ thuộc vào công nghệ mà phụ thuộc vào bài toán muốn giải. Hơn nữa, bạn sẽ học được R chỉ trong một tuần và thành thạo chỉ trong 1 tháng làm việc.
  • Bạn cần một team để có thể hoàn thành dự án về Data science. Bởi vì một người có bằng PhDs hay Master cũng không thể nào thành thạo về kĩ thuật cài đặt hệ thống như Hadoop hay Spark, không thể có kinh nghiệm nhiều như các chuyên gia phát triển phần mềm và quản lý dự án. Bạn không thể cùng lúc ôm xuể được tất cả mọi lĩnh vực, điều này chỉ dẫn đến thật bại của dự án mà thôi.

Làm việc

data science team.jpg

  • Dự án Data Science cần có các thành viên sau trong nhóm:
    • Algorithms team: những chuyên gia về thuật toán, thường có bằng Phd/Master trong lĩnh vực khoa học máy tính và thống kê, kĩ năng làm việc với R, Python, thuật toán, và Machine learning.
    • Big Data team: thu thập, tiền xử lý và quản trị dữ liệu Big Data (Extract, Transform, Load), chiếm 80% trong quá trình phát triển.
    • Domain Experts: những chuyên gia về mô hình kinh doanh, thường có bằng MBA, đảm bảo những phân tích và nghiên cứu được đưa vào sử dụng đúng với mục tiêu kinh doanh của doanh nghiệp.
    • Visualization and Design team: thiết kế và trình diễn mô hình dữ liệu hay dự đoán sao cho người sử dụng có thể quan sát một cách trực quan và nhanh chóng nhất để có thể đưa ra quyết định một cách hiệu quả.
    • Product Managers: người đảm bảo tiến độ của dự án, tập hợp và điều phối tiến trình làm việc của mọi người.
  • Bạn phải hiểu được ý nghĩa của tập dữ liệu muốn nói gì, điều này rất quan trọng. Đây là một nghệ thuật chứ chưa liên quan gì đến thuật toán hay kĩ thuật lập trình.
  • Dù có nhiều công cụ hay nhiều phương pháp đi chăng nữa, nếu bạn không biết được bài toán muốn giải và làm thế nào sử dụng tập dữ liệu hiện tại để giải quyết thì mọi thứ cũng bằng thừa.
  • Bạn cần biết về kĩ thuật phần mềm để có thể xây dựng được một hệ thống mang lại trải nghiệm tốt nhất tại đúng thời điểm cho người sử dụng.
  • Phần lớn 90% công việc của bạn là tinh chỉnh và làm sạch dữ liệu.
  • Cẩn trọng khi lựa chọn thu thập dữ liệu từ các nguồn: website analytics, social media data, sensor data, machine log data, media, business apps.
  • Công nghệ dữ liệu phân tán Hadoop/Spark được dùng để xây dựng mô hình dự đoán với tốc độ cao gần như real-time. Mô hình kết quả sẽ được lưu trữ tại cơ sở dữ liệu NoSQL như MongoDB, Cassandra cho các tác vụ truy vấn (Pig, Hive, SQL-like). Ta sẽ lên lịch cập nhật mô hình định kỳ theo ngày hay tuần.
  • Nên sử dụng dịch vụ cloud computing như Amazon Web Service, Databricks thay vì tốn nhiều thời gian và chi phí để mua máy móc thiết bị phục vụ cho phân tích Big Data. Mà các máy móc này thường lỗi thời rất nhanh, ta nên sử dụng dịch vụ cloud trả phí theo dung lượng sử dụng, hoặc theo sức mạnh phần cứng.
  • Sử dụng githubbitbucket, hay sourceforge để lưu lại các tài liệu phân tích dữ liệu của mình và chia sẻ cho cộng đồng.
  • Bạn không cần phải biết lập trình Java để tiếp cận với Hadoop. Ta đơn giản hóa tiến trình bằng cách sử dụng Pig hoặc Hive. Trong đó, 10 dòng code của Pig = 200 dòng code của Java.
  • Các dự án Kaggle không tạo nên thế mạnh cho Resume của bạn:
    • Bạn không có gì nổi bật trừ khi bạn đạt vị trí top 5 trong bảng xếp hạng.
    • Bạn không chứng minh được kĩ năng phân tích và xử lý dữ liệu của mình. Bởi vì các tập dữ liệu của Kaggle đều đã được tiền xử lý để giúp các Data scientist tập trung nhiều hơn vào xây dựng mô hình dự đoán.
    • Bạn không cho thấy được sáng kiến của mình trong giải quyết vấn đề thực tế. Mọi ý tưởng đều đã được Kaggle đặt ra và bạn chỉ có việc đi giải quyết các bài toán này. Trong thực tế, việc xác định được các bài toán cần giải là một bước quan trọng và tốn rất nhiều thời gian.
    • Hầu hết các dự án bạn bắt tay vào làm đều không liên quan đến lĩnh vực của công ty bạn muốn apply. Ví dụ, công ty bạn đang cần xây dựng hệ thống recommendation system nhưng bạn chỉ show được các dự án về xử lý ảnh y khoa.
  • Bạn dễ bị sa thải khi:
    • Không thích làm việc nhóm, nghĩ rằng một mình có thể làm hết mọi thứ.
    • Ngạo mạn, không chịu học hỏi, tiếp thu những ý kiến đóng góp của đồng nghiệp.
    • Gửi đến sếp những báo cáo dài dòng như tiểu thuyết làm mất thời gian.
    • Nhàm chán khi làm những tác vụ liên quan đến tiền xử lý dữ liệu.
    • Năng suất công việc không xứng đáng với mức lương bạn được trả.

Học tập và trau dồi

long-road-to-data-scientist.png

  • Học, học nữa, học mãi để trau dồi nhiều kiến thức và kĩ năng liên quan đến ngành bùng nổ nhanh chóng như Data science này.
  • Biết thật kĩ một vài thuật toán sẽ tốt hơn rất nhiều khi chỉ biết sơ sơ thật nhiều thuật toán: nếu bạn biết về linear regression, k-means clustering, hay logistic regression và có thể giải thích, diễn giải mạch lạc các kết quả của thuật toán, cũng như có thể cài đặt từ đầu đến cuối dự án bằng các thuật toán này, thì bạn sẽ được đánh giá cao hơn những người biết rất nhiều thuật toán nhưng không thể áp dụng chúng vào đâu.
  • Khi áp dụng một thuật toán machine learning nào đó, hầu như bạn chỉ cần sử dụng các thư viện đã cài đặt sẵn. Hiếm khi bạn phải code lại từ đầu thuật toán SVM vì nó tốn rất nhiều thời gian.
  • Học thông qua thực hành, tốt nhất là qua một dự án nhỏ sẽ giúp bạn tăng tốc việc học gấp 10 lần so với việc chỉ đọc mớ lý thuyết từ các chương sách như Linear algebra, Statistics, Database, Programming, … hay ngồi xem video hàng giờ liền từ các chương trình online như Coursera, Udemy, …
  • Để bắt đầu một dự án, cách đơn giản nhất là tìm cho mình một tập dữ liệu yêu thích như Iris sau đó cố gắng trả lời các câu hỏi như làm thế nào để phân lớp các loài hoa khi chỉ biết một vài thuộc tính… Một số nguồn để download tập dữ liệu: 100+ Interesting Data Sets for StatisticsDatasets subredditUCI machine learning repository.
  • Hãy bắt đầu viết blog, post các kết quả phân tích dữ liệu mà mình đã tìm tòi tuần qua. Việc này giúp bạn thu được kĩ năng trình bày cũng như khích lệ bản thân để tiếp tục học hỏi. “If you can’t explain it simply, you don’t understand it well enough.” – Albert Einstein. Do đó, nếu bạn có thể giải thích một cách đơn giản, dễ hiểu các lý thuyết phức tạp cho mọi người thì bạn đã hiểu vấn đề đó một cách thấu đáo.
  • Theo dõi các blog hay trang web như kdnuggetsoreilly, datasciencecentralinsidebigdata, Quora, DataTau, machine learning subredditEdwin ChenInternational Journal of Forecasting, UC Berkeley Social Lab, Nervana.
  • Thử tham gia các cuộc thi trên Kaggle để làm quen với những bài toán thực tế mà các doanh nghiệp đặt ra.
  • “Học thầy không tày học bạn”. Hãy lập một nhóm riêng của bạn về data science, mỗi tuần chia sẻ kiến thức và kinh nghiệm với nhau, bạn sẽ học được rất nhiều điều mới mẻ cũng như tiết kiệm nhiều thời gian tìm tòi.
  • Thử thách bản thân với tập dữ liệu Big data: bạn sẽ học hỏi được thêm những kiến thức cũng như các kĩ năng làm việc trên các hệ thống phân tán và sử lý song song như Hadoop, Spark, Mahout, YARN, HBase, Kudu, MapReduce, Hive, Pig, …
  • Trau dồi kiến thức bản thân thông qua các thuật toán machine learning tiên tiến nhất hiện nay như Deep learning, Topic modeling, Word2vec, On-line learning, …
  • Hãy hiểu điểm mạnh trong việc học của mình để tiếp cận data science nhanh hơn. Nếu bạn có óc tư duy lý thuyết tốt thì bạn có thể tìm đọc cùng lúc rất nhiều cuốn sách về học thuật để trau dồi kiến thức của mình. Nếu bạn là người thiên về kĩ thuật thì các tutorial step-by-step, các dự án nhỏ, hay học hỏi kinh nghiệm từ bạn bè của mình sẽ không phải là một ý kiến tồi.
  • Những trang web giúp bạn tiếp cận data science thông qua thực hành: Dataquest, Datacamp.

Infographs

The Building Precursors to Data Science.png

The Building Blocks of Data Science.png

Top-12-interesting-careers-to-explore-in-bigdata-2016-final.jpg

Modern data science
Modern data science

Khác

10 thoughts on “Góp nhặt kinh nghiệm làm nghề Data scientist

      1. ở Việt Nam trường nào dạy ngành này uy tín anh giới thiệu em được không, ngành này thay đổi nhanh quá, chương trình học sợ không theo kịp với sự phát triển ngành

        Like

        1. Em nên học CS ở các trường ĐH uy tín như Bách Khoa hay Tự nhiên và đi làm trong ngành Big Data thì sẽ phát triển tốt hơn.
          Ngành này tự mày mò, góp nhặt kinh nghiệm từ học tập và làm việc cá nhân là chủ yếu. Việc học trong trường chỉ trang bị cho em kiến thức căn cơ nhất để tiếp tục nghiên cứu độc lập sau này. Ngành IT nói chung và Data Science nói riêng đều có tốc độ phát triển nhanh, chính vì thế một background chuyên ngành vững sẽ giúp em nắm bắt và theo kịp công nghệ dễ dàng hơn.

          Like

  1. Trước hết cảm ơn anh rất nhiều vì bài viết tuyệt vời này.
    3 năm đi làm sau khi ra trường, từ code .net, javascript, HTML, CSS,… em đã tìm được niềm đam mê của mình là làm về Data. Em đã có 1 thời gian dài làm DBA Oracle, tiếp xúc nhiều với dữ liệu, em cũng đã làm các bài toán Data Warehouse, BI. Có hiểu biết cơ bản về Hadoop, Spark, Python. Nay em muốn đi theo hướng Data Scientist. Nhưng quả thực tìm kiếm 1 công ty ở Việt Nam làm theo hướng này thật sự là khó, vì ở Việt Nam vẫn là outsource code như lập trình Web, mobile, … cho các thị trường khác.
    Không biết anh có lời khuyên nào về cơ hội nghề nghiệp cho lĩnh vực này không ạ?

    Like

    1. Hi em hiện tại đang có một số công ty tuyển dụng vị trí liên quan như Knorex, Zalora, chotot, Tenpoint 7, JVM Vietnam,… Bạn có thể gõ từ khóa này trên iTViet
      Thông thường họ tuyển vào đợt hè và cuối năm
      Chúc bạn thành công với đam mê của mình

      Like

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s