Trong một ngày trăng thanh gió mát, tui đang ngồi xem JA*, nhầm uống trà ngẫm nghĩ sự đời. Giật mình phát hiện tui đã bén duyên với cái nghề data này ngót nghét cũng được hơn 4 năm rồi, kể từ 2015. Thế là nảy ra ý tưởng + sự xúi giục của code dạo, tui quyết định làm một cái blog chém gió với anh em thiện lành về cái nghề này.

Để khai trương, tui xin kể với anh em về hành trình của tui đến với data. Bài viết sử dụng nhiều thuật ngữ tiếng anh xen kẽ tiếng việt cho đúng ngữ cảnh, anh em ai đọc thấy khó chịu thì bỏ qua cho tui.

coffee-drink

Stage 0: Từ Web Dev sang Data.

Tui xuất thân là web developer, lúc đó vẫn còn hì hục code từng dòng PHP. Tui vẫn còn nhớ như in cái bước ngoặt đó ngày tui tình cờ thấy quảng cáo về chương trình master của NUS khi đang đi cafe chém gió. Thú thật, lúc đó tui hoàn toàn không biết gì về data, nghĩ là cái này mới nghe hay hơn software engineer, cộng thêm tâm lý “không chết ai đâu” nên chọn đại, ai ngờ định mệnh bắt đầu từ đây.

Stage 1: Data Scientist

Bỏ qua phần học hành lằng nhằng, dài dòng mà chắc anh em không ai muốn nghe, tui sẽ đi thẳng vào công việc luôn.

Công việc đầu tiên của tui là data scientist, ai cũng kêu là “the sexiest job of 21st century”, cho một tập đoàn cung cấp thiết bị dầu khí của Nhật.

Hành trình đầu quân vào công ty của tui khá đơn giản, tui may mắn được nhận thực tập rồi làm nhân viên chính thức luôn. Thời điểm đó, tui là thành viên nhỏ tuổi nhất trong team và cũng là người duy nhất có background computer science (CS). Đồng nghiệp của tui đều xuất thân từ chemical engineer (kỹ sư hóa) hoặc electrical engineer (kỹ sư điện tử) với học vị tiến sĩ (PhD) và đương nhiên cũng là data scientist.

Chắc một số anh em sẽ thắc mắc tại sao lại có chemical / electrical ở đây. Tui xin giải thích luôn data scientist không nhất thiết phải từ IT hoặc CS. Ví dụ như đồng nghiệp của tui đều biết phân tích dữ liệu, vẽ biểu đồ, áp dụng Machine learning/ AI. Quan trọng hơn vì làm cho công ty dầu khí, họ nắm vững kiến thức hóa học, máy móc mà mình hay gọi là domain knowledge (kiến thức chuyên môn). Đương nhiên do không xuất thân là coder nên các bạn đó chỉ code được python đơn giản và sử dụng matlab là chính. Còn những người như tui thì cái gì cũng chơi tuốt.

Sơ qua về dự án, tui làm hệ thống dự đoán sự cố của nhà máy lọc dầu (abnormal catastrophe detection), do mù tịt chuyên ngành dầu khí cũng như thuật ngữ của máy móc… nên tui thường xuyên tham khảo các bạn đồng nghiệp để xây dựng model tìm ra features phù hợp. Đây cũng là lúc tui thấy có sự khác nhau rõ rệt giữa 1 thằng xuất thân IT và phần còn lại, nhất là về mindset (cách nghĩ) giữa software và non-software. Tui thì luôn suy nghĩ về deployment, production, làm sao cho phần mềm tối ưu hiệu quả nhất; đối với đồng nghiệp và sếp thì những cái đó không quan trọng, thậm chí cho là đơn giản, mọi người tập trung vào lý thuyết (theory) nhiều hơn.

Hậu quả là lúc bàn giao cho khách hàng chạy thử lỗi tè le, tui vừa phải fix bug, vừa chém gió giải thích cho khách hàng, may thay sản phẩm cũng không quá dỏm. Sau này tui mới biết, trước khi tui vô làm và triển khai hệ thống Big Data thì mấy bạn data scientist khác toàn code matlab rồi build ra file bin gì đó, bỏ vào window application là chạy tẹt ga vì hệ thống quản lý của nhà máy lọc dầu toàn là Window Server !?!

Nói thêm tất cả các bạn dev ở team khác đều sử dụng window, C#, .NET. Tui thì cực kì ghét window và cũng là đứa duy nhất xài linux, python, hadoop trong 300 anh em engineers của toàn bộ công ty.

Sau 2 năm rưỡi và xong hệ thống hoàn chỉnh, tui chính thức nghỉ việc. Qua thời gian này, tui rút ra được được bài học đầu tiên về cái nghề data, tưởng dễ mà khó này.

Data scientist không nhất thiết từ IT background hay phải biết code production, nhưng phải nắm rõ domain knowledge.

Stage 2: Software engineer for Data team

Tự cảm thấy không thích hợp làm trong tập đoàn lớn, tui quyết định tìm bến đỗ mới ở một công ty nhỏ hơn.

Tui đã phỏng vấn tất cả các công ty công nghệ có tuyển vị trí Data Scientist, Data Engineer hoặc Machine Learning/AI Engineer trên Linkedin và các trang tuyển dụng. Thời gian đó, tui rơi vào khủng hoảng vì “tạch” hơn 20 công ty sau 5 tháng. Sau mỗi lần phỏng vấn rớt, tui đều email hỏi xin feeback và cảm ơn công ty 1 cách lịch sự. Cuối cùng tui đúc kết được hai lý do chính:

  • Về scientist thì kiến thức data chuyên môn của tui đều thuộc dầu khí, không thích hợp với họ (marketing, tài chính,..).
  • Technologies mà tui biết quá cũ, đơn giản do làm ở tập đoàn, mà hầu hết những công ty này đều ứng dụng công nghệ mới nhất, trên cloud.

Hiểu được nguyên nhân rồi, tui tự vạch ra kết hoạch để lột xác thành người khác

  • Ôn lại mấy cái kiến thức tui đã biết như cloud, linux, big data….
  • Củng cố lại kiến thức về Machine learning / AI, thực hành nhiều hơn dựa trên những dữ liệu có sẵn thuộc nhiều lĩnh vực khác nhau.
  • Tự học những thứ mình còn gà như airflow, model deployment.

Sau khi làm hết mớ ở trên, tui cảm thấy mình được nâng lên tầm cao mới. Nhưng cuối cùng tui kiếm được việc nhờ ở hiền gặp lành được bạn giới thiệu =]]. Lần này tui vào data team của một startup công nghệ về giao đồ ăn ở Singapore.

Trước khi bàn về công việc, tui phải công nhận môi trường làm việc ở đây rất tốt luôn. Đồng nghiệp vui vẻ, code base - code review - version control đều rõ ràng, văn phòng siêu dễ thương, chưa kể mấy bạn nữ bên business nữa… hí hí

Do tui là ma mới nên công việc hằng ngày là bảo trì hệ thống hiện tại của data team gồm Airflow ETL job, mesos cluster. Sau một thời gian tui xây dựng thêm một cái data science platform để tự động hóa từ training đến deploy Machine learning model lên production.

Không biết có phải do số tui xui hay không mà trong chưa đầy 1 năm ở đây tui có tới 4 người sếp, vào ra liên tục, thay sếp như thay áo. Sếp tui thay đổi từ Mỹ, Đức, Anh cuối cùng là Nga, trung bình 2 tháng là tui được gặp sếp mới.

Ban đầu, tui dự định làm ở đây tầm 2 năm nhưng do một số trục trặc nhỏ nên tui quyết định xin nghỉ sau gần một năm làm việc. Điều an ủi nhất là hiện tại công ty đóng cửa luôn rồi, tui mà ở lại chắc “toang rồi ông giáo ạ”.

À quên mất, qua đây tui cũng đúc kết được thêm 2 bài học nữa:

Không nhất thiết phải là data scientist mới làm về Machine learning / AI. Nếu có đủ kiến thức Software Engineer cũng làm được.

Khi đi phỏng vấn, cho dù có rớt đi nữa vẫn nên email cảm hơn và hỏi xin feedback, nhờ đó mình có thể biết được điểm yếu và cải thiện bản thân.

Stage 3: Senior Data Engineer

Đây cũng chính là công ty hiện tại của tui, anh em cứ lên coi profile để biết thêm chi tiết, bỏ vô đây mọi người nói tui quảng cáo cho công ty nữa. Với kinh nghiệm “rớt” từ lần trước, lần này tui chuẩn bị kĩ càng hơn, tui phỏng vấn 3 công ty, 1 đậu 2 rớt. Tỉ lệ đậu 33% tốt hơn so với 1/20 ~ 5% như lúc trước.

Tui là thành viên đầu tiên của team data, báo cáo thẳng cho sếp lớn luôn, sếp nhỏ lúc đó còn chưa được tuyển nữa mà. Công việc chính của tui vẫn là xây dựng data science platform, sếp lớn nghe tui chém gió lúc phỏng vấn thích quá nên ổng tuyển luôn. Tuy nhiên, quy mô hệ thống lần này lớn hơn trước rất nhiều, nó phải phục vụ được khoảng 30 đến 50 users cùng lúc và tự động hóa toàn bộ quá trình đưa model lên production. Chi tiết về quá trình xây dựng platform, tui sẽ dành 1 bài khác để nói về nó.

Dự án của team tui phần lớn hỗ trợ các team khác (stakeholders). Mỗi khi sếp giao, tui phải đi gặp trực tiếp users/stakeholder để lấy yêu cầu, hiểu vấn đề, đưa ra hướng giải pháp, thảo luận về deadline, chưa kể còn liên lạc với các team liên quan như backend / devops nhờ trợ giúp. Thời gian một ngày của tui thì code và fix bugs chỉ chiếm 60%, 40% còn lại là meeting. Công việc senior là vậy không cần code nhiều, để tụi nhỏ nó làm cho có kinh nghiệm.

Qua những lần nói chuyện với users/stakeholders, tui phát hiện ra, đối với những người không biết gì về “tech” như họ, nếu tui giải thích sâu về kiến trúc hệ thống hay những công nghệ liên quan dù có cố nói đến khô cổ thì họ vẫn không hiểu!

Thay vào đó, tui nói với họ về kết quả, deadline và những tính năng của dự án, họ sẽ khoái nghe hơn rất nhiều, thậm chí còn góp ý thêm cho tui mấy chỗ thiếu sót. Tất nhiên lúc đầu cũng khó khăn lắm chứ, nhưng tui nắm lấy cơ hội này để trau dồi thêm khả năng giao tiếp và nắm bắt tâm lý của khách hàng. Dân coder rất dễ mắc phải lỗi này, ai đang như vậy thì cố bỏ đi nha.

Khách hàng sẽ không hiểu về tech, thay vào đó hãy nói với họ về kết quả, deadline và những tính năng của sản phẩm.

Nói chung thì công ty hiện tại đối với tui rất là ổn, mọi thứ chưa có gì phải phàn nàn, chế độ đãi ngộ tốt, đồng nghiệp vui vẻ, sếp hỗ trợ nhiệt tình. Nếu có chuyện gì thay đổi tui sẽ cho anh em biết.

Anh em muốn nghe thêm chuyện gì thì comment hoặc inbox cho tui, hứa sẽ đọc hết. Cái nào hay hay nhiều người thích tui lên một bài hoặc live stream chém gió với mọi người.

Câu chuyện đến đây là hết, chúc mọi người sống đẹp như những con thiên nga của Tchaikovsky.

Credits: hình ảnh được lấy từ Unsplash