Từ lúc còn nhỏ mình đã luôn tự hỏi bên trong cái máy tính nó hoạt động như thế nào? Tại sao nó lại chạy được? Về sau khi đi học công nghệ thông tin (CNTT), mình thích nhất các môn liên quan đến hệ điều hành.
Cuối năm 2013, mình bắt đầu đi làm. Mình phỏng vấn mấy chỗ đều không qua vì khi ấy mình chưa có bằng cấp gì. Nhưng có lẽ, “ông trời không phụ lòng người” duy nhất một công ty mình phỏng vấn và được nhận. Lúc vào công ty đó mình được phân vào làm dự án về nhân kernel của MacOS. Đến tận bây giờ, mình cũng không thể giải thích được tại sao lại có sự trùng hợp đến như vậy. Cho dù hiện tại embedded Linux rất phổ biến ở Hà Nội, nhưng những dự án làm thuần về nhân kernel cũng chỉ có 1 2 cái. Phải nói là rất hiếm.
Mình phải kể xa như vậy vì cái này có liên quan đến việc đi dạy về sau của mình. Công ty chuyên làm web, app. Có duy nhất mình làm về MacOS kernel nên đơn giản là không ai hiểu mình đang làm cái gì, dễ hay khó. Làm về kernel nên năng suất code chậm, gần như không được tăng lương. Review performance thì luôn bị đánh giá thấp. Đến thời điểm 1 năm rưỡi sau, lúc đó lương mình vẫn thấp hơn lương của 1 bạn sinh viên mới ra trường vào dự án để mình hướng dẫn. Mặc dù rất đam mê nhưng có lẽ giọt nước tràn ly, mình quyết định nghỉ.
Nghỉ xong mình qua 1 công ty về trò chơi giải trí để code C/C++. Hồi đấy mình vẫn chưa học xong, nên thỉnh thoảng vẫn tâm sự với thầy giáo của mình. Tất cả các đồ án trên trường nếu được tự chọn đề tài mình đều làm về kernel như kiểu quản lý usb, viết driver… Thấy thấy mình chập chững chuyển hướng qua làm game nên giới thiệu sang 1 công ty thầy quen mà người ta đang làm về embedded Linux. Cái này phải nói là đỏ lần 2.
Bên công ty mới thì làm embedded nhưng thiên về network application, phần BSP thì chi nhánh nước ngoài họ làm. Do không có ai biết sâu kề kernel nên các bug về kernel mình hay xung phong làm. Mới đầu làm cũng rất vui vì công việc đúng chuyên môn. Nhưng lâu dần về sau nhiều vấn đề khác lại phát sinh. Đấy là hầu hết dev trong công ty đều giỏi về network nhưng mình gần như lại không biết gì. Cảm giác 1 mình làm 1 mảng không biết chia sẻ với ai nên cảm thấy rất cô đơn. Được tầm 1 năm rưỡi 2 năm thì mình lại nghỉ.
Thời điểm đó, mình bị mất phương hướng hoàn toàn vì cảm giác cái lĩnh vực này không có ứng dụng gì ở Việt Nam. Lúc đang mông chưa biết đi đầu về đâu thì lại được HR bên Fsoft gọi phỏng vấn. Đơn vị cũ của mình bên Fsoft lúc đấy có vài trăm người đang làm về embedded MCU rồi và họ muốn build mảng embedded Linux device driver lên. Mình không có nền tảng về MCU nhưng công ty vẫn tạo điều kiện cho thực tập dần dần. Nhờ vào đây mình mới phát hiện kết hợp kiến thức giữa Linux kernel và lập trình vi điều khiển sẽ thành embedded Linux. Vì không có người định hướng từ đầu nên phải mất 4 năm tự mày mò mình mới phát hiện ra 1 thứ xưa như trái đất.
Do 4 năm đầu lúc nào cũng làm việc một mình trong công ty nên cảm giác rất cô đơn. Việc mình sau này luôn muốn chia sẻ kiến thức mình biết có lẽ cũng xuất phát từ đây. Sang công ty mới mặc dù mọi người cũng chưa biết Linux nó như thế nào nhưng ai cũng muốn học vì nó như 1 bản nâng cấp khi đã nắm vững kiến thức về vi điều khiển. Mình vừa làm việc trong dự án, vừa đào tạo Linux cho anh em. Công việc thực sự rất vui. Mọi người dạy cho mình về vi điều khiển, còn mình mở lớp Linux để dạy cho anh em trong công ty. Lớp Linux đầu tiên mình mở luôn tại nhà, mà nhà mình lại ở rìa Hà Nội, vậy mà mọi người vẫn đi học không sót buổi nào.
Sau buổi học đầu tiên thì mình tạo 1 nhóm trên facebook để mọi người tiện trao đổi. Và úmbala, nhóm “Cùng Nhau Học Linux Kernel” ra đời. Sở dĩ ban đầu mình chỉ nghĩ là tạo 1 nhóm kín cho vài anh em trong đó thảo luận nên việc đặt tên cũng không suy nghĩ nhiều. Giờ lại thấy hơi hối hận vì tên nhóm nghe sến quá. (Cả cái tên facebook cá nhân của mình do đặt từ hồi sinh viên nên cũng chẳng ra làm sao). Nhưng do nhiều người biết đến cái tên này nên giờ mình cũng ngại đổi.
Nhóm đi vào hoạt động được một thời gian thì anh em đề xuất là nên công khai, vì có thể ở bên ngoài cũng có những người đang gặp khó khăn khi tìm hiểu về lĩnh vực này. Sau này, việc nhóm được mọi người ủng hộ khiến mình rất bất ngờ. Nhờ có nhóm nên nhiều người biết đến mình hơn, mình mở được lớp ở ngoài. Việc đi dạy chuyển từ đam mê sang 1 nghề tay trái, thu nhập tương đối ổn định.
Sau đó, mình đi dạy cho công ty: Công ty đầu tiên thuê mình dạy là Viettel. Đi dạy cho công ty theo hình thức thuê khoán rất phức tạp. Mình bắt đầu tìm hiểu về thủ tục đấu thầu, chứng minh năng lực… Giáo trình bài giảng cũng làm lại để chuyên nghiệp hơn. Về sau mình dạy cho nhiều công ty khác nữa nhưng do biết cách làm thủ tục nên cũng đơn giản. Việc có thể đi dạy cho các công ty cũng là 1 điều khiến mình tự hào vì đã khẳng định được năng lực.
Embedded Linux bắt đầu phát triển ở Việt Nam:
Tầm năm 2018, 2019 thì Vinfast ra đời. Ô tô thì cần 1 màn hình Android phía trước. Lương họ trả thì rất cao so với thị trường khiến cho mảng embedded đặc biệt là embedded Linux phát triển hẳn lên. Tất nhiên là lương cao thì sẽ khiến nhiều người giỏi tham gia vào học. Embedded Linux trên thế giới đã phát triển rất lâu rồi, nhưng trước đó ở VN thì khá èo uột do không được đào tạo ở đại học. Không có người làm thì không nhận được dự án outsource cho nước ngoài, không có dự án thì không có người làm để có kinh nghiệm. Nhờ có Vinfast mà cái vòng luẩn quẩn đấy bị phá vỡ. Từ năm 2018 đến bây giờ thì có nhiều công ty nước ngoài nhảy vào Việt Nam và tuyển dụng về mảng này. Anh em làm về embedded Linux giờ không phải lo chuyện tìm việc lương cao.
Tất nhiên lĩnh vực Linux ở Việt Nam phát triển thì mình cũng được thơm lây. Có nhiều người đăng ký học hơn. Nhưng có lẽ điều khiến mình tự hào nhất khi được làm thầy giáo đó là nhìn học sinh của mình thành đạt, trở thành thành viên chủ chốt trong các dự án. Thường các bạn đó có nền tảng về hardware nên về sau có khi còn giỏi hơn thầy. Niềm vui này không tiền bạc nào có thể so sánh được!
Mong rằng embedded Linux sẽ càng ngày càng phát triển ở Việt Nam. Mình xin dừng bút tại đây. Cảm ơn mọi người đã đọc.