Bắt đầu nghiên cứu big data từ đâu và như thế nào

Đây là tâm nguyện đầu tiên của mình khi trở về Việt Nam sau 1 năm học tập và nghiên cứu tại JAIST. Nhằm mong dấn thân vào trải nghiệm, thử thách bản thân mình với những công nghệ state-of-the-art trong Big Data.

Sau hơn 1 năm làm việc và nghiên cứu, trày mình tróc vảy, rốt cuộc cũng gom góp được chút ít chia sẻ cho anh chị bạn bè gần xa quan tâm và muốn ứng dụng Big Data vào tổ chức của mình.

Slide sẽ dẫn dắt mọi người đi vào cuộc hành trình của Data từ lúc còn trên giấy bút cho đến các hệ thống Business Intelligent và tại sao công nghệ Big Data là cấp thiết trong thời đại hiện nay khi muốn nâng cao khả năng sản xuất và cạnh tranh với đối thủ của mình. Các anh chị muốn lập team làm về Big Data cũng sẽ hiểu được những khó khăn và thử thách của anh em dev đang đối mặt, nhờ vậy mà có những chính sách và phúc lợi tốt hơn để bồi dưỡng đội ngũ của mình.

Advertisement

Data Science – Mỏ vàng của Kỉ nguyên số

Đây là lần đầu mình talk trong một sự kiện lớn do TopDev kết hợp VNG tổ chức nên mình rất làm vinh dự và háo hức được chia sẻ những kiến thức cũng như kinh nghiệm học tập làm việc trong hơn 1 năm qua. Sự kiện này nhằm mục đích chính giống lên hồi chuông để mọi người ở các lĩnh vực khác nhau chú ý và quan tâm hơn đến “mỏ vàng” này.

Slide trình bày trên tóm tắt những khái niệm cơ bản về Data Science. Sau đó, các bạn sẽ biết chức danh Data scientist ra đời như thế nào. Từ đây, bạn nào quan tâm hơn về vai trò này có thể tham khảo các con đường sự nghiệp mà thị trường hiện nay đang đòi hỏi.

Con đường học tập Machine Learning của tôi

Học Machine Learning

Chặng đường trở thành một Data Scientist khá dài, 2-3 năm thậm chí là 5 năm tuỳ năng lực của mỗi người. Có bạn chọn cho mình con đường học thuật từ cử nhân, master cho đến PhD. Có bạn học xong cử nhân thì tìm kiếm ngay cho mình cơ hội nghiên cứu ở các công ty. Có bạn lại chọn cho mình phát triển ở vị trí Data Engineer/Data Analyst chuyên phân tích dữ liệu Big Data. Dù bạn ở vị trí nào đi nữa thì điều quan trọng nhất là bạn đã đóng góp được gì cho dự án mà mình tham gia.

Trong bài viết này, tôi sẽ tản mạn một chút về quá trình học tập Machine Learning của tôi trong thời gian qua. Từ lúc tôi còn ngồi ghế nhà trường cho đến lúc đi làm. Bạn đọc ở đây có lẽ cũng có nhiều điểm chung như tôi, cũng đã từng thử qua nhiều phương pháp học Machine Learning khác nhau, cũng đã từng trải nghiệm và chọn lọc ra cách học phù hợp nhất đối với bản thân. Cách tiếp cận của tôi có lẽ không phải là cách tốt nhất nên ta chỉ tham khảo để giao lưu thêm thôi nhé.

Tiếp tục đọc “Con đường học tập Machine Learning của tôi”

Truy vấn văn bản – Document Retrieval

wikipedia

Giả sử bạn đang đọc một bài viết nào đó, hệ thống truy vấn văn bản sẽ giúp bạn tìm kiếm những bài viết tương tự như bài viết của bạn đang đọc. Vậy làm sao ta có thể tính được độ tương tự giữa các văn bản để tìm kiếm trong vô số các tài liệu có sẵn, tỷ lệ giống nhau về nội dung của các văn bản là bao nhiêu?

Trong bài viết này, ta sẽ sử dụng tập văn bản liên quan đến những người nổi tiếng download từ wikipedia (file csv đã xử lý có thể download ở đây) để xây dựng hệ thống truy vấn văn bản dựa trên nội dung đang đọc.

Notebooks: document_retrieval.ipynb

Hệ thống recommend bài nhạc

iTunes

Một trong những công nghệ giúp cho đời sống con người ngày càng dễ dàng hơn đó là recommender system. Recommender system giúp kết nối người dùng với sản phẩm mà họ tìm kiếm được thuận tiện và nhanh chóng hơn từ đó mang lại lợi thế cạnh tranh của sản phẩm so với các đối thủ khác. Bạn có thể bắt gặp hệ thống này ở các trang xem phim, nghe nhạc, mua bán, mạng xã hội, … Về cơ bản, bạn có thể áp dụng ngay kỹ thuật này vào hệ thống của bạn thông qua các hướng tiếp cận như: Popularity – liệt kê top các sản phẩm được nhiều người quan tâm nhất, Classification – dựa vào các chủ đề mà bạn cung cấp để lọc ra danh sách sản phẩm tương ứng. Tuy nhiên, các hướng tiếp cận này đều mang tính đại chúng, không nhắm vào một cá nhân cụ thể nào. Hơn nữa, không ai dễ dàng cung cấp thông tin cá nhân cho ứng dụng của bạn để có thể lọc thông tin phù hợp.

Do đó, trong bài viết này, tôi sẽ đi theo hướng tiếp cận Collaborative Filtering với hai phương pháp gồm Memory-Based Collaborative Filtering và Model-Based Collaborative filtering giúp trả lời hai câu hỏi “user nghe bài nhạc này thì sẽ có xu hướng nghe các bài như…” và “user có gu âm nhạc như bạn thì sẽ có xu hướng nghe các bài nhạc như…”. Trong đó, Model-Based sẽ sử dụng singular value decomposition (SVD) và Memory-Based sử dụng khoảng cách cosine để mô hình hóa hệ thống. Bạn có thể download dữ liệu từ đây Million Song Dataset Challenge.

Notebooks: song_recommender.ipynb
Source code:
Github.

TensorFlow – thư viện code Deep Learning

tensorboard

Bài viết này không nhằm vào hướng dẫn lập trình TensorFlow. Lý do, các bạn có thể tìm thấy nhiều source code hướng dẫn khác nhau trên internet, tự cài đặt và lập trình dễ dàng. Nếu các bạn đã có kiến thức cơ bản về Neural Network thì việc nắm bắt công nghệ này cũng sẽ đơn giản hơn rất nhiều.

Thông thường, ta sẽ đi theo flow nghiên cứu sau: vào trang https://www.tensorflow.org/ để xem qua bài giới thiệu chung chung, sau đó tiến hành cài đặt, cài đặt thất bại do conflict thư viện, cài đặt thành công, đọc source code, cài đặt thuật toán từ các tutorial, hiểu sơ sơ, bắt đầu hoang mang do có quá nhiều bài viết cần đọc và cài đặt -> mất hết cảm hứng.

Do đó, mình sẽ hướng các bạn đi theo một tiếp cận khác. Đầu tiên, ta sẽ lấy cảm hứng nghiên cứu thông qua các ứng dụng ngoài thực tế, người thật việc thật của TensorFlow. Tiếp đến, ta sẽ xem mọi người đánh giá như thế nào về mã nguồn này, có đáng để ta tiếp tục nghiên cứu không. Sau cùng, ta sẽ bắt tay vào tiến hành cài đặt và ứng dụng công nghệ cùng với các tài liệu tham khảo chất lượng đã thu thập được.

Tiếp tục đọc “TensorFlow – thư viện code Deep Learning”

Sentiment Analysis cơ bản

Amazon customer reviews
Sentiment analysis – hay phân tích tâm lý của đối tượng – là một chủ đề thách thức trong Machine Learning. Mọi người thể hiện cảm nhận của mình thông qua ngôn ngữ tự nhiên có bản chất nhập nhằng, mơ hồ đã gây không ít khó khăn cho việc xử lý cho máy tính hiểu. Chưa kể, họ sử dụng các cách chơi chữ, ẩn ý hay các kí hiệu như

:), :(, =)))

để giải bày cảm xúc của họ.

Trong bài viết này, tôi sẽ sử dụng tập dữ liệu Web data: Amazon Fine Foods reviews cho việc áp dụng kĩ thuật Sentiment analysis. Đây là tutorial cơ bản dành cho các bạn mới bắt đầu nghiên cứu vấn đề này. Ở đây, ta sẽ sử dụng hướng tiếp cận Bag of Words để chuyển đổi dữ liệu văn bản thành ma trận vector từ đó có thể đưa vào các mô hình phân lớp để học.

Notebooks: sentiment_analysis_basics.ipynb
Source code:
classification_algorithms.py

Python snippet: Linear regression

features_vs_target.png

Linear regression (Hồi quy tuyến tính) thường được ứng dụng vào dự đoán giá trị số thực khi cho trước dữ liệu đầu vào. Ví dụ một số ứng dụng của Linear regression:

  • Dự đoán mức lương sau khi ra trường của một người dựa vào các thông số như điểm trung bình khoá học, số lượng các hoạt động ngoại khoá đã tham gia, giới tính, …
  • Dự đoán giá chứng khoán ngày mai dựa vào lịch sử giá trước đó, các sự kiện xã hội, số lượng vốn đầu kỳ, …
  • Bao nhiêu người sẽ share bài viết của bạn trên facebook dựa trên số lượng bạn bè, số lượng bạn của bạn bè, độ phổ biến của hashtag, những bài viết trước đó, …
  • Điều chỉnh nhiệt độ phòng dựa trên thời gian trong ngày, nhiệt độ ngoài trời, ánh sáng trong phòng, …

Tiếp tục series Python snippet (Python snippet: Visualizing, Python snippet: Thu thập dữ liệu), tuần này tôi sẽ đưa vào một vài snippet liên quan đến linear regression áp dụng trên tập dữ liệu home_data để dự đoán giá nhà dựa trên một vài thuộc tính cơ bản như số lượng phòng ngủ, số lượng phòng tắm, điểm đánh giá, …

Lý thuyết: linear regression
Source code: data-science-works
Thư viện: matplotlib, pandas, scikit-learn
Notebooks: linear_regression_snippet.

Python snippet: Thu thập dữ liệu

souping_oreilly

Trước khi có thể làm việc với dữ liệu, việc đầu tiên bạn cần làm là thu thập chúng. Có rất nhiều nguồn dữ liệu khác nhau như web, APIs, databases, những định dạng file plain text (.csv, .tsv). Sau khi thu thập, ta có thể thực hiện vài động tác chuẩn hoá dữ liệu sao cho phù hợp với nhu cầu làm việc của mình nhất.

Tiếp tục series Python snippet (Python snippet: Visualizing), tuần này tôi sẽ đưa vào một vài snippet thường gặp trong quá trình thu thập dữ liệu.
Source code: data-science-works
Thư viện: csv, json, re, collections, requests, bs4, twython
Tiếp tục đọc “Python snippet: Thu thập dữ liệu”

Command line thường dùng

Linux is sexy.jpg

Trong quá trình phân tích dữ liệu, tôi thường làm việc trực tiếp trên môi trường UNIX. Nơi mà bạn chỉ có màn hình nền đen chữ trắng (terminal, command line) để tương tác với hệ thống (thu thập, quan sát, chỉnh sửa, chia sẻ dữ liệu). Lý do là vì bạn thường phải thuê server bên ngoài như Amazon và họ chỉ cung cấp cho bạn môi trường tương tác chính là từ dòng lệnh. Bài viết này xin tổng hợp lại những command line mà tôi thường dùng nhất để tiện cho các bạn mới nhập môn tham khảo và áp dụng.

Hy vọng sự linh hoạt của các dòng lệnh này có thể giúp bạn trở thành một nhà khoa học dữ liệu hiệu quả và năng suất hơn. Bạn sẽ học được cách kết hợp các công cụ dòng lệnh nhỏ nhưng mạnh mẽ này với nhau để nhanh chóng thu thập, khám phá và xây dựng mô hình dữ liệu của bạn.

Tiếp tục đọc “Command line thường dùng”

Python snippet: Visualizing

my-favorite-colors

Python snippet là series các bài viết tổng hợp lại những đoạn code hữu ích trong quá trình làm việc và nghiên cứu của tôi. Mục đích chủ yếu làm nơi tham khảo nhanh để tiết kiệm thời gian cài đặt và triển khai. Tôi sẽ bắt đầu với visualizing gồm các chart (biểu đồ) cơ bản thường hay dùng để phân tích dữ liệu.

Source code: data-science-works
Thư viện: matplotlib, numpy

Tiếp tục đọc “Python snippet: Visualizing”

Gán nhãn từ loại (Part-of-Speech tagging POS)

Tagging problem
Tagging problem

Trong nhiều tác vụ của Xử lý ngôn ngữ tự nhiên (XLNNTN), ta mong muốn xây dựng được một mô hình mà chuỗi các quan sát đầu vào (từ, ngữ, câu,…) đi kèm với chuỗi các nhãn đầu ra (từ loại, ranh giới ngữ, tên thực thể,…) gọi là pairs of sequences.

Gán nhãn từ loại (Part-of-speech tagging – POS) có lẽ là bài toán sớm nhất được nghiên cứu và được mọi người biết đến khi nhập môn chuyên ngành XLNNTN. Trong bài viết này, ta sẽ tìm hiểu về bài toán gán nhãn từ loại, các hướng tiếp cận và thuật toán cơ bản để giải quyết vấn đề này.

Tiếp tục đọc “Gán nhãn từ loại (Part-of-Speech tagging POS)”

Language Modeling là gì

Language model
Language model

Trong bài viết này, ta sẽ tìm hiểu thế nào là một mô hình ngôn ngữ (language modeling). Làm sao để xây dựng được một mô hình ngôn ngữ từ tập các mẫu câu của một ngôn ngữ bất kỳ (Anh, Việt, Nhật, …). Mô hình ngôn ngữ ban đầu được ứng dụng trong nhận dạng tiếng nói (speech recognition) và đã được áp dụng vào trong những tác vụ khác liên quan trong lĩnh vực Xử lý ngôn ngữ tự nhiên (Natural Language Processing – NLP) như gán nhãn từ loại (tagging), phân tích cây cú pháp (parsing), dịch máy (machine translation), …

Tại sao chúng ta cần mô hình ngôn ngữ? Lý do thứ nhất, mô hình này cung cấp cho bạn thông tin về phân bố xác suất tiền nghiệm (prior distribution) p(x_1...x_n) để xét xem câu gồm các từ đầu vào có phù hợp hay không với ngôn ngữ xác định. Ví dụ, ta sẽ có xác suất của câu

p(tối nay được đi chơi rồi vui quá) > p(quá rồi vui được đi chơi nay tối)

nhờ vậy mà ta xác định được câu “tối nay được đi chơi rồi vui quá” sẽ phù hợp hơn với ngôn ngữ tiếng Việt hơn câu hai “quá rồi vui được đi chơi nay tối”. Thứ hai, các kĩ thuật liên quan đến ước lượng tham số cho mô hình thông qua tập dữ liệu huấn luyện cho trước được sử dụng trong các mô hình khác như Hidden Markov Model, Natural Language Parsing. Và cuối cùng, đây là một trong những cơ sở kiến thức để các bạn đọc hiểu được các bài viết liên quan đến Long short-term memory (LSTM).

Tiếp tục đọc “Language Modeling là gì”

Các bước phân tích dữ liệu

Các bước phân tích dữ liệu

Trong quá khứ, khi bắt đầu nghiên cứu một vấn đề nào đó, ta thường phải tìm kiếm hay thu thập dữ liệu tương ứng với bài toán mà ta đề ra. Nhờ có tiến bộ của internet mà ngày nay ta được tiếp cận với nhiều thông tin hơn, đến nỗi quá nhiều, quá Big khiến cho vấn đề không còn nằm ở chỗ thiếu thông tin nữa mà là làm sao rút trích được những thông tin hữu ích và súc tích nhất cho câu hỏi ban đầu.

Khi đó ta thường đối mặt với những thách thức về dữ liệu như:

  • Làm sao tìm được dữ liệu cho bài toán của mình?
  • Phân tích dữ liệu thu thập được như thế nào?
  • Sau khi phân tích, ta có thể đưa ra được kết luận thú vị nào không cho bài toán đề ra?

Mặc dù mỗi lĩnh vực nghiên cứu khác nhau sẽ có những đòi hỏi và mục tiêu khác nhau, nhưng nhìn chung, ta có thể áp dụng cùng một phương pháp hữu ích như tôi sắp trình bày bên dưới để có thể tiến hành một quy trình phân tích dữ liệu thành công.

Tiếp tục đọc “Các bước phân tích dữ liệu”

Ý nghĩa của việc học

Universal
Universal

Tôi xin dành ra mục này để tổng hợp lại những phát biểu nói lên ý nghĩa của việc học. Từ đó, hy vọng chúng ta sẽ có thêm động lực để trao dồi thêm nhiều kiến thức và thực hiện nghiên cứu hằng ngày.

work hard
work hard

Được đi học chắc chắn là đỡ cực nhọc hơn rất nhiều so với việc “kiếm sống”. Quan trọng hơn, khi có kiến thức, bạn mới cảm thấy “cuộc sống này có nhiều điều tốt đẹp” và “đáng sống”.

Một nghề thì sống đống nghề thì chết.

thinker vs doer
thinker vs doer

Xã hội không dùng được kiến thức trong đầu chúng ta, chỉ khi nào ta biến kiến thức đó thành sản phẩm dùng được thì khi đó kiến thức mới thực sự có giá trị.

Học mà không hành thì học vô ích, hành mà không học thì hành không trôi chảy

Tự học là thuộc tính của trí tuệ gắn liền với bản năng sinh tồn

Stupid vs Smart
Stupid vs Smart

Tri thức tự nó là sức mạnh

Người thích tự học thường có lối sống theo lý tính hơn là sống theo cảm tính vốn thường gắn liền với các bản năng; họ nhận ra được cái giá trị của đời sống tinh thần.

Người trí thì vui, người nhân từ thì sống lâu.

Ai có khả năng tự học thường tự tin, tri túc và tự trọng.

Người tự học vì nhu cầu trí tuệ biết tự đánh giá mình nên tự chủ, dễ nhận ra rằng “càng học càng thấy mình dốt” cho nên thường khiêm tốn.

Kẻ nào không phấn phát tìm hiểu thì ta không giảng cho, không ráng lên để phát biểu ý kiến thì ta không khai phát cho, ta nêu ra một góc cạnh (của vấn đề) mà không tự suy nghĩ tìm ra ba góc kia, thì ta không dạy cho nữa. Cần trở nên năng động , sáng tạo , không ỷ lại, không phụ thuộc vào người khác

The research cycle
The research cycle

Tự học là một công việc gian khổ , đòi hỏi lòng quyết tâm và sự kiên trì .Càng cố gắng tự học con người càng trau dồi được nhân cách và tri thức của mình .Chính vì vậy tự học là một việc làm độc lập gian khổ mà không ai có thể học hộ ,học giúp. Bù lại, phần thưởng của tự học thật xứng đáng : đó là niềm vui, niềm hạnh phúc khi ta chiếm lĩnh được tri thức. Biết bao những con người nhờ tự học mà tên tuổi của họ được tạc vào lịch sử

Học tập những trải nghiệm từ sách để trở thành một người vững vàng, có tầm hiểu biết và dễ dàng vượt qua những thử thách trong cuộc sống tương lai, khi đã bước vào tuổi trưởng thành.

be patient
be patient

Có thể bạn đi sau, đi chậm hơn bạn bè nhưng không sao cả, quan trọng là cái đích bạn hướng tới. Can đảm lên bạn nhé

Bạn vẫn còn tương lai đang rộng mở ở phía trước, ánh mắt cha mẹ đang mong ngóng thành công của chính bạn và cho cuộc sống của đất nước sau này.

Machine Learning cho người bắt đầu

Bắt đầu học Machine Learning

Những bạn yêu thích Machine Learning và không biết mình nên bắt đầu từ đâu có thể tham khảo bài viết này. Mọi câu hỏi, các bạn có thể comment bên dưới, mình luôn sẵn sàng ở đây để hỗ trợ.

Khởi động

Bạn cần làm quen với một vài điểm cơ bản để bắt đầu cuộc hành trình của mình.

Machine learning là gì

Tại sao cần Machine learning

AI, Machine Learning, Deep Learning phân biệt như thế nào cho đúng

Kĩ năng phân tích dữ liệu

Bạn cần học và thực hành tiến trình áp dụng machine learning vào bài toán cụ thể. Chuẩn bị dữ liệu > Huấn luyện > Đánh giá và lựa chọn mô hình.

Cách xác định bài toán trong Machine Learning

Tiền xử lý dữ liệu (Horse Colic dataset)

Lấy và làm sạch dữ liệu: Xử lý dữ liệu ngoại lai (Outliers)

Đánh giá mô hình (Model evaluation)

Big data

Một vài kiến thức và kĩ năng giúp bạn bắt đầu làm việc với Big Data.

Bắt đầu Big Data từ đâu và như thế nào?

FAQ: Big data cho người mới bắt đầu

Làm việc với Spark DataFrames – Truy vấn cơ bản

Kỹ năng hệ thống

Bạn cũng nên chuẩn bị cho mình phương pháp quản lý dự án và thao tác nhanh với hệ thống.

Git notes

Command line thường dùng

Soạn slides bằng Beamer

Viết luận văn bằng LaTeX

Tiếp tục đọc “Machine Learning cho người bắt đầu”

Làm việc với Spark DataFrames – Truy vấn cơ bản

Spark DataFrames
Spark DataFrames

DataFrame là một kiểu dữ liệu collection phân tán, được tổ chức thành các cột được đặt tên. Về mặt khái niệm, nó tương đương với các bảng quan hệ (relational tables) đi kèm với các kỹ thuật tối ưu tính toán.

DataFrame có thể được xây dựng từ nhiều nguồn dữ liệu khác nhau như Hive table, các file dữ liệu có cấu trúc hay bán cấu trúc (csv, json), các hệ cơ sở dữ liệu phổ biến (MySQL, MongoDB, Cassandra), hoặc RDDs hiện hành. API này được thiết kế cho các ứng dụng Big Data và Data Science hiện đại. Kiểu dữ liệu này được lấy cảm hứng từ DataFrame trong Lập trình R và Pandas trong Python hứa hẹn mang lại hiệu suất tính toán cao hơn.

Spark DataFrames Performance
Spark DataFrames Performance

Trong bài viết này, tôi sẽ tiến hành thực nghiệm một vài truy vấn cơ bản để làm quen với kiểu dữ liệu DataFrames. Ở các bài viết sau, ta sẽ đi sâu hơn vào các truy vấn nâng cao và phức tạp hơn.

Tiếp tục đọc “Làm việc với Spark DataFrames – Truy vấn cơ bản”

Kinh nghiệm làm việc với Big Data

Working with Big Data
Working with Big Data

Đã bao giờ bạn cảm thấy quá tải khi làm việc với Big Data chưa? Đã bao giờ bạn phải ngồi hàng giờ chỉ để transfer dữ liệu từ server này sang server khác chỉ để test thuật toán của mình? Hay những lúc chán chường khi nhìn script của mình bắt đầu chạy hàng giờ và cuối cùng phát hiện ra mình đã sai đâu đó? Mình nghĩ rằng tất cả những ai khi mới bắt đầu làm việc với Big Data đều có những cảm nhận như vậy. Trong bài viết này, tôi xin góp một chút kinh nghiệm của mình để làm việc với Big Data hiệu quả hơn, kể cả cá nhân hay làm việc nhóm.

Tiếp tục đọc “Kinh nghiệm làm việc với Big Data”

Machine Learning và Real-Time Bidding

Real-Time Bidding
Real-Time Bidding

Real-Time Bidding (RTB) tạm dịch là “Đấu gía thời gian thực”. RTB là việc mua bán lượt hiển thị quảng cáo online thông qua cơ chế thời gian thực xảy ra vào lúc trang web đang tải. Những cuộc đấu giá diễn ra dễ dàng hơn bởi ad exchange, demand-side platforms và supply-side platforms (SSP).

RTB khác với các mô hình quảng cáo truyền thống như thế nào? Tại sao chúng ta cần RTB? RTB mang lại lợi ích gì cho các trang mạng (publishers) và các nhà quảng cáo (advertisers)? Machine learning áp dụng vào các hệ thống RTB như thế nào? Qua bài viết này, tôi sẽ trả lời các câu hỏi trên cũng như trình bày những thách thức về Big Data trong RTB và tình hình nghiên cứu hiện nay của Machine Learning vào RTB. Tiếp tục đọc “Machine Learning và Real-Time Bidding”

Dành cho các bạn sắp bước chân vào lĩnh vực Công nghệ thông tin

project_manager

Bài viết này dành cho những bạn sắp bước chân vào lĩnh vực Công nghệ thông tin, hay những bạn còn đang phân vân về chuyên ngành mà mình sẽ chọn trước khi bước vào năm 3 Đại học. Đối với các bạn còn ở phổ thông, có lẽ các bạn còn mơ hồ về lĩnh vực này, nhiều bạn tưởng tượng mình sẽ học thêm về word, excel, hay sửa chữa, lắp ráp máy tính, chỉnh sửa ảnh photoshop, làm game, làm web này nọ hay cao siêu hơn là làm hacker như những phim hành động bạn thường xem và người nhà của bạn cũng nghĩ như vậy.

Trong khi đó, các bạn năm nhất ít nhiều cũng sẽ đọc được các comment hay bài viết đại loại như học khoa học máy tính là đi bán sách dạo, hệ thống thông tin thì sau này chỉ đi nhập dữ liệu, kĩ thuật phần mềm thì chỉ có mở tiệm bán đĩa CD, mạng máy tính thì đi cắt dây điện hay mở tiệm net, đọc xong nhiều bạn sẽ có suy nghĩ có lẽ khỏi đi học thì hơn.

Ngoài ra, ắt hẳn nhiều bạn sẽ đọc được bài viết thần thánh “Lập Trình Viên Không Có Gì Cao Sang”, đây là bài viết rất dễ khiến bạn nản lòng và thoái chí. Còn lỡ đọc được cuốn sách “Dạy con làm giàu” thì các bạn cũng đừng quá ảo tưởng mà đánh mất chính mình và hoài bão ban đầu khi đã quyết định dấn thân vào IT. Hãy luôn giữ vững lập trường.

Do vậy, mình sẽ liệt kê ra tất cả những ngành học mà các bạn sẽ bắt gặp khi bước chân vào lĩnh vực IT thông qua việc so sánh giữa một suy nghĩ còn non nớt (trẻ trâu) và một suy nghĩ đã từng trải. Thêm vào đó, mình chân thành đưa ra một vài lời khuyên như sau:

  • Đừng sợ coding vì nó là một phần sự nghiệp của bạn, dù có né tránh cũng không được, hãy tập “yêu” việc coding.
  • Đừng sợ và chán ghét toán học vì nó là một phần kĩ năng của bạn, nếu càng cố gắng né trành thì chỉ càng thêm hối hận về sau mà thôi.
  • Hãy đi “học ké” nhiều lớp không thuộc chuyên ngành của mình để mở mang kiến thức và tầm nhìn của mình về thực trạng cũng như xu hướng hiện tại trong ngành. Nếu bạn đang học kĩ thuật phần mềm thì bạn có thể học ké thêm về hệ thống thông tin (thiết kế, truy vấn, và xử lý cơ sở dữ liệu), mạng máy tính (bảo mật, cài đặt, quản trị hệ thống mạng), hay khoa học máy tính (trí tuệ nhân tạo, machine learning, computer vision, natural language processing). Từ đó, bạn có thể tạo ra những ứng dụng phần mềm chất lượng cao, chạy ổn định, cũng như có nhiều nội dung AI trong đó.
  • Nếu muốn học lên cao học (thạc sĩ, tiến sĩ) hay theo đuổi sự nghiệp nghiên cứu, thì các bạn nên học kĩ về toán và AI vì các kì thi đầu vào lúc nào cũng đụng đến hai môn này.
  • Nếu có dự định startup thì hãy khai thác thị trường trong nước, xem quê nhà mình cần giải quyết gì để startup theo hướng đó. Đừng mơ mọng, ảo tưởng về nước Mĩ nữa.

Tiếp tục đọc “Dành cho các bạn sắp bước chân vào lĩnh vực Công nghệ thông tin”