Từ một đứa không có chút kỹ năng lập trình, tớ đã trở thành nhà nghiên cứu Khoa học Dữ liệu trong 6 tháng bằng cách nào?

4 công cụ mà tớ đã sử dụng để tự dạy bản thân về Khoa học Dữ liệu mà không mất một đồng nào

___________________

WARNING: NHIỀU CHỮ LẮM Á

Kate Marie Lewis, Chuyên viên nghiên cứu Khoa học Dữ liệu, nhà Khoa học Thần kinh và Họa sĩ.

24/01/2019 – 8 phút đọc – 10.6k claps

Tớ vừa bỏ xó 8 năm trời học hành và làm việc vất vả mà không có kế hoạch gì trước mắt. Chắc các cậu đang tự hỏi là đứa dở hơi dở hồn nào lại quyết định làm vậy. Chính sếp tớ đã nghiền nát tâm hồn mong manh cùng với con tim nhỏ bé của tớ và khuyên tớ phải làm cái gì đó mới mẻ khác thui.

Bạn trai tớ đề nghị tớ trở thành một nhà nghiên cứu Khoa học Dữ liệu. Tớ đã sửng sốt và trả lời anh ấy rằng: “Anh điên rồi!”. Kiểu tớ chẳng biết bất cứ một xíu gì về lập trình cả. Không nghi ngờ gì nữa, anh yêu của tớ đã đề cao quá mức khả năng của tớ rồi. “Hội chứng kẻ mạo danh” lại một lần nữa thành công làm tớ nhụt chí.

Tầm khoảng 2 tuần sau đó, một người bạn của tớ tên là Anna cũng gợi ý tớ dấn thân vào con đường lập trình viên. Càng nghĩ về nó nhiều, tớ càng cảm thấy xuôi xuôi về ý tưởng đó. Tại sao không nhỉ? Rồi tớ quyết định trở thành lính mới một lần nữa và thay đổi bản thân để trở thành một nhà nghiên cứu Khoa học Dữ liệu.

Tớ muốn học theo nhịp độ phù hợp với bản thân nên vì vậy, tớ quyết định đăng ký một vài khóa học online. Tớ nhận ra rằng với tấm bằng Tiến sĩ ngành Khoa học Thần kinh, tớ đã có khá đủ kinh nghiệm với các lớp đào tạo chính thống để có thể có một công việc về Khoa học Dữ liệu rùi. Việc tớ phải làm lúc này là tự trau dồi thêm các kĩ năng thực tiễn.

Câu chuyện của tớ sẽ miêu tả 4 khóa học khác nhau mà tớ đăng ký và cách mà những khóa học ấy giúp tớ có được một công việc về Khoa học Dữ liệu tại một công ty startup chuyên về chăm sóc sức khỏe tại Silicone Valley.

Vào thời điểm đó, phần lớn các khóa học online tớ cóp nhặt được đều miễn phí. Chính vì vậy nên tớ tự thách thức bản thân đạt được những kỹ năng cần thiết mà không mất một xu nào. Tớ có thể bào chữa gì được đây, tớ khá là keo kiệt đó nghen 

Những kỹ thuật cơ bản

Lúc mà tớ từ bỏ bằng tiến sĩ hồi trước của mình tại UCSF (ND: University of California, San Francisco – Trường Đại học California, San Francisco) ý, tớ không có một chút xíu kinh nghiệm lập trình nào. Tớ đã từng sử dụng qua thống kê trong suốt những nghiên cứu của bản thân, nhưng nó chỉ ở phạm vi rất rất nhỏ luôn á. Tất cả những tập dữ liệu mà tớ đã xử lý cũng chính là những dữ liệu tớ đo được tại phòng lab. Bởi vậy, số lượng dữ liệu mà tớ quan sát được là vô cùng ít ỏi. Tớ cần phải học cách lập trình và phân tích dữ liệu ở phạm vi rộng lớn hơn.

Bắt đầu bước những bước đầu tiên vào lập trình

Khi quyết định trở thành một nhà nghiên cứu Khoa học Dữ liệu, điều đầu tiên tớ muốn học là cách viết mã code trong máy tính. Bởi vì tớ chưa từng viết mã code bao giờ nên việc này là cực kì xa lạ với tớ. Tớ nhận ra là tớ ghét cay ghét đắng viết code, vì thế nên tớ đã từng tin rằng ngành Khoa học Dữ liệu sẽ không có được tớ đâu. Một sự khởi đầu thuận lợi quá ha!

Tớ đã rất may mắn khi người iu tớ, Ben, đã từng làm việc trong rất nhiều lĩnh vực công nghệ, nhờ vậy anh ấy đã có thể chỉ cho tớ hướng đi đúng đắn. Anh ấy bảo tớ rằng Python có thể sẽ là ngôn ngữ lập trình phù hợp với tớ nhất. Nó là một ngôn ngữ tuyệt vời cho việc phân tích dữ liệu, rất linh hoạt và dễ dàng trong việc đối phó với những tập dữ liệu lớn, chính bởi thế nên Python là nơi tớ bắt đầu học lập trình.

Học cách viết code

Để bắt đầu học code, tớ sử dụng Codecademy. Tớ bắt đầu với “Làm quen với Python”, nhưng tớ không chắc là khóa học có còn tồn tại hay không tại thời điểm tớ học là vào 2014 cơ. Nếu tớ dùng Codecademy để bắt đầu học Python bây giờ thì tớ sẽ chọn khóa học Phân tích Dữ liệu cùng Python.

Tớ tin rằng Codecademy là nơi tuyệt vời để bắt đầu. Nó giúp tớ có thể code ngay trên bộ trình duyệt. Cho đến tận giờ việc cài đặt môi trường lập trình đúng cách trên máy tính vẫn là gót chân Achilles (ND: có thể hiểu ngắn gọn là điểm yếu) đối với tớ. Bởi vậy nên tớ sung sướng lắm khi đỡ phải làm việc đó vào thời điểm tớ mới đang bắt đầu làm quen. Thật là tuyệt khi biết rằng lệnh code của tớ không chạy được bởi vì lỗi cú pháp chứ không phải vì lỗi cài đặt môi trường.

Tớ cũng thích cái cách mà mọi người có thể làm việc trong một vài phút một với Codecademy. Nếu tớ có ít thời gian rảnh, tớ sẽ đăng nhập vào và giải một vài vấn đề với lệnh code của mình bởi dù thế nào đi nữa, tất cả mọi thứ vẫn sẽ luôn ở lại đó chờ sự trở lại của tớ thui. Quá trình tiến triển theo từng chút một này (ND: nguyên văn – this piecemeal progression) đã giúp tớ không quá sợ hãi để rồi bị mắc kẹt lại với nó.

Vào thời điểm tớ hoàn thành xong khóa học, chỉ có một vài khóa học Codecademy được đề xuất và riêng khóa học này thì lại hoàn toàn miễn phí. Tớ đã rất lấy làm kinh ngạc với chất lượng của những khóa học miễn phí có sẵn online.

Sau khi đã học xong những điều căn bản về Python, tớ cần phải bắt đầu vào việc cải thiện kinh nghiệm làm việc với xác suất thống kê và học cách phân tich dữ liệu trong một phạm vi lớn hơn.

Học cách Phân tích Dữ liệu

Khóa học thứ hai tớ đăng ký là Những khóa học Chuyên môn hóa về Khoa học Dữ liệu trên Coursera của Johns Hopkins. Vào thời điểm đó, cậu có thế nhận được phiên bản có chứng nhận danh dự về viết mã code miễn phí và sẽ chỉ phải trả tiền nếu muốn chứng nhận đó được kiểm chứng.

Với tớ, cái chứng chỉ được kiểm chứng kia có vẻ như không cần thiết lắm. Thay vào đó, tớ cần phải có khả năng tự khẳng định mình, cùng với những kỹ thuật được dạy trong khóa học, suốt buổi phỏng vấn công nghệ cơ. Do đó, tớ quyết định chọn phiên bản miễn phí của khóa học chuyên môn hóa.

Một điểm gây cho tớ bất lợi chút chút là tuyển tập những khóa học này được dạy bằng R. R là một ngôn ngữ lập trình hỗ trợ cực tốt cho việc phân tích dữ liệu thống kê và thường được chọn trong giới học viện. Tuy nhiên, tớ muốn học Python cho ngành Khoa hoc Dữ liệu cơ. Tớ nghĩ Python sẽ phù hợp hơn trong những công ty start-up mà sau này tớ muốn làm việc cùng.

Tớ tìm một vài khóa học về phân tích dữ liệu cùng Python nhưng chúng trông có vẻ có nhiều kiến thức hơn mà lúc này trong đầu tớ chưa có. Tớ tin là phần lớn những khóa học này đều hướng đến những kỹ sư phần mềm, những người đang muốn chuyển qua học ngành Khoa học Dữ liệu. Vì vậy nên họ cho rằng những người học đã có các kỹ năng lập trình khá ổn và đã biết cách tự thiết lập môi trường Python.

Điểm tớ thích nhất về tuyển tập những khóa học Chuyên môn hóa về Khoa học Dữ liệu trên Coursera là nó bắt đầu từ vạch xuất phát luôn í. Có hẳn hướng dẫn theo từng bước một về cách cài đặt R và R studio ở khóa đầu tiên cơ. Nhờ vậy mà nó giúp tớ dễ dàng hơn trong việc nắm bắt những khóa học sau vì biết rằng sẽ không còn các lỗi kỹ thuật nữa.

Một khía cạnh khác rất phù hợp với tớ của tuyển tập này chính là nó được dạy bởi khoa Y tế Công cộng. Những kiến thức chuyên môn của tớ về lĩnh vực khoa học sức khỏe khiến tớ dễ dàng hiểu các ví dụ mà họ đưa ra hơn. Họ có các ví dụ sử dụng chất lượng không khí ảnh hưởng đến bệnh hen suyễn và những chùm dữ liệu khác liên quan đến việc chăm sóc sức khỏe. Chính nhờ vậy, tớ đã có thể tập trung vào nội dung của khóa học hơn là tự tìm ra sự kết nối của những gì tớ đã biết với những kiến thức mới khi được biểu diễn bằng việc phân tích dữ liệu.

Tuyển tập các khóa học này đã thực sự xây dựng cho tớ những kiến thức nền tảng vững chắc trong nhiều khía cạnh của ngành Khoa học Dữ liệu. Nó bao gồm một chút động chạm đến lập trình trên R, dọn sạch, phân tích, đệ quy dữ liệu và học máy. Tớ thực sự yêu thích việc học cách viết code và cách sử dụng mã code để phân tích dữ liệu, nhờ vậy mà nó khuyến khích tớ tiếp tục học thêm.

Những buổi phỏng vấn trao đổi thông tin

Bước đến giai đoạn này của quá trình tự huấn luyện bản thân với ngành học mới, tớ bắt đầu đi hỏi những người tớ quen biết và nhờ họ giới thiệu cho tớ một vài người đã chuyển từ giới học thuật sang ngành Khoa học Dữ liệu ở San Francisco (ND: đại ý là chị này đang từ R và muốn chuyển sang Python để học KHDL). Cũng có kha khá người đã liên lạc với tớ nên tớ cố gắng sắp xếp càng nhiều buổi phỏng vấn trao đổi thông tin càng tốt.

Một người bạn giới thiệu tớ với một nhà nghiên cứu Khoa học Dữ liệu đến từ Modcloth (ND: một trang web chuyên bán quần áo giày dép các kiểu), người đã từng đi trên cùng một con đường giống tớ. Cậu ấy từng là một nhà Khoa học Thần kinh và tớ được tiếp cận rất nhiều lời khuyên đặc biệt hữu ích từ cậu ấy.

Cậu ấy khuyên tớ nên học chuyên về SQL.

Học cách truy vấn các Cơ sở dữ liệu (Query Databases)

SQL đã không được đề cập đến một chút nào trong tuyển tập những khóa học Chuyên môn hóa về Khoa học Dữ liệu trên Coursera của Johns Hopkins. Cậu ấy (ND: nhà nghiên cứu OP đề cập phía trên) nói rằng cậu dành phần lớn một ngày làm việc chỉ để truy vấn các cơ sở dữ liệu. Cậu ấy cần phải thu được những dữ liệu sáng suốt để phục vụ cho việc phát triển kinh doanh và hỗ trợ nhóm marketing. Chỉ có một phần nhỏ thời gian cậu ấy sử dụng để phân tích thống kê và học máy thôi.

Tớ nghe theo lời khuyên của cậu ấy và bắt đầu từng bước học online với Khóa học SQL của Stanford. Trong tất cả những khóa học tớ đăng ký, đây là khóa học tớ thích nhất. Tớ yêu nó bởi cô giảng viên thực sự rất rất tuyệt vời và sử dụng những ví dụ cực kỳ đơn giản để giải thích các khái niệm. Những khái niệm ấy cũng được cô cắt nghĩa theo nhiều cách khác nhau.

Tớ đã đề xuất khóa học này cho rất nhiều người bởi tớ nghĩ rằng một nền tảng về SQL tốt là vô cùng cần thiết đối với bất kỳ nhà nghiên cứu Khoa học Dữ liệu nào. Rất nhiều những khóa học về ngành Khoa học Dữ liệu tớ tìm hiểu đều không bao quát hết các phương pháp để lấy được dữ liệu từ cơ sở dữ liệu bằng cách sử dụng SQL. Tớ nghĩ đây là một thiếu sót rất lớn. Phần lớn các khóa học đều có dữ liệu kiểu CSV (ND: CSV viết tắt của Comma Separated Values, được sử dụng để xây dựng hệ thống dữ liệu quy mô nhỏ cũng như thiết lập các bảng tính) để học viên có thể sử dụng, nhưng theo kinh nghiệm của tớ thì trường hợp này rất ít xảy ra khi làm việc trong ngành công nghiệp khoa học dữ liệu hiện nay.

Sau khi tớ hoàn thành xong khóa học SQL của Stanford, tớ bắt đầu đăng kí tuyển dụng vào các vị trí chuyên về ngành khoa học dữ liệu. Ở trình độ khi đó, tớ, một đứa đang sinh sống tận mãi ở Australia, bắt đầu thực hiện những buổi phỏng vấn qua Skype với các công ty start-up khác nhau tại vùng vịnh San Francisco. Và trong giai đoạn được phỏng vấn ấy, tớ tiếp tục đăng ký thêm khóa học nữa để bồi dưỡng và phát triển khả năng của mình.

Củng cố lại các khái niệm

Tớ sau đó đã đăng ký khóa học Những kiến thức nền tảng của phân tích dữ liệu sử dụng ngôn ngữ R của EdX. Khóa học này vô cùng hữu ích để ôn lại các khái niệm tớ đã từng học trong khóa học của Coursera.

Tớ luôn luôn tin rằng việc học các khái niệm từ những giảng viên khác nhau có thể cung cấp thêm những kiến thức sâu hơn, khiến học viên hiểu thông suốt hơn được vấn đề. Sẽ dễ dàng hơn rất nhiều khi mấy cậu học lại các khái niệm về thống kê và học máy lần thứ hai đó. Bởi vậy nên tớ có cảm giác như tớ đã hiểu sâu hơn khá nhiều khi học khóa học này.

Trong quãng thời gian tớ hoàn thành khóa học, tớ cũng đã thành công trong một buổi phỏng vấn với Amino, một công ty start-up về chăm sóc sức khỏe ở San Francisco và đang hoàn tất các thủ tục xin visa để tới làm việc tại Mỹ.

Kiếm việc thui nào

Tớ nghĩ tớ thành công trong buổi phỏng vấn cuối là do tớ đã vượt qua bài kiểm tra kỹ năng viết code và có một sự hiểu biết nhất định về thống kê, nhưng quan trọng hơn là tớ đã có kiến thức nền về chăm sóc sức khỏe (ND: hẳn bằng tiến sĩ luôn mà má oii), kinh nghiệm thiết kế và cả sự thành thạo với những phương pháp nghiên cứu khoa học nữa.

Theo suy nghĩ của tớ, chẳng qua việc tớ có kiến thức ở nhiều mảng khác nhau đã giúp cho hồ sơ của tớ đứng đầu và khiến start-up này tiếp cận được tới tớ thui. Chứ tớ thực sự còn thiếu rất nhiều kinh nghiệm và cần phải trải qua quá trình huấn luyện nghề nghiệp nữa cơ. Thiết nghĩ tất cả những gì mà các khóa học trên dạy tớ chỉ vừa đủ để tớ được vào nhóm xem xét tuyển dụng và những kinh nghiệm bên lề về mảng chăm sóc sức khỏe đã giúp tớ có được công việc mà tớ muốn.

Chính vì thế nên nếu cậu đang muốn chuyển hướng con đường sự nghiệp của mình sang ngành khoa học dữ liệu, hãy tìm một công ty mà ở đó, những kiến thức nền sẵn có của cậu có thể mang lại giá trị.

Những điều tớ ước tớ đã học

Lỗ hổng chính trong kiến thức mà tớ ước tớ đã bồi đắp thêm trước khi tớ trúng tuyển vào công việc mới về khoa học dữ liệu chính là việc sử dụng git trong các dòng lệnh command line. Tớ chưa từng sử dụng terminal hay command line trước đó và tớ không có một chút ý tưởng nào về cách sử dụng git để gửi đoạn code của tớ Github repository của công ty.

Phải nhờ đến một vài kĩ sư và kha khá thời gian để có thể giúp tớ đuổi kịp tiến độ. Tớ ước rằng mình đã có ít nhất một chút ý tưởng về cách sử dụng nó trước khi tớ bắt đầu công việc, có vậy thì tớ đã không làm mất quá nhiều thời gian quý giá. Các đồng nghiệp của tớ đã cực kỳ tuyệt vời và không thể hiện một chút phiền toái nào khi dạy tớ, nhưng thật sự tớ cảm thấy đã làm vướng chân họ rất nhiều vào những buổi đầu tiên.

Cuối cùng tớ cũng đã bắt kịp và tìm được một khóa học vô cùng hữu dụng – Học cách code dạng phức tạp với Command Line.

Nếu cậu đang suy nghĩ về việc tiến theo con đường giống tớ vào ngành Khoa học Dữ liệu, tớ rất khuyến khích cậu theo đuổi nó! Nó là một sự lựa chọn vô cùng đúng đắn đối với tớ luôn. Những người khác nhau sẽ học theo những cách khác nhau, nhưng nếu cậu tự nghiêm khắc với bản thân trong việc học và quyết hoàn thành thứ cậu đã bắt đầu thì việc tự học về ngành khoa học dữ liệu là điều hoàn toàn có thể cùng với sự hỗ trợ của các khóa học online. Nếu đây là con đường cậu quyết tâm đi đến cùng thì tớ chúc mọi điều tốt đẹp nhất sẽ đến với cậu, và nếu có bất kì câu hỏi nào, tớ sẽ vui vẻ trả lời để giúp cậu bằng vốn hiểu biết có hạn của tớ.

Nếu cậu muốn đọc thêm về lý do tại sao tớ chuyển nghề thì đây nha:

Chiến thuật khi phỏng vấn đã giúp tớ có được công việc về ngành Khoa học Dữ liệu đầu tiên: 

Tức giận từ bỏ dự án nghiên cứu về ung thư: 

Theo: Nguyễn Văn Trình

Leave a Reply

Your email address will not be published. Required fields are marked *