thảo luận [Tâm sự] Nghề dev Linux kernel ở Việt Nam

  • Người tạo chủ đề Người tạo chủ đề PhuThoDien
  • Ngày bắt đầu Ngày bắt đầu
Em làm 1 mình đến lúc xong thì chắc thế giới họ bỏ hẳn là để chuyển sang chơi game trên thế giới ảo rồi thím
Thím ngó cái xem

CV mà ghi là kernel dev cho ps4 pro, dùng đủ nhân thì chắc chúng nó auto nhận bác mà không cần xong 300 bài code thiếu nhi

Hiện cái kernel này nó k tối ưu cho ps4 pro, chạy gần như ngang bản thường trong khi hiệu năng pro là gần gấp đôi

Bác đầu tư vài năm xem, kể cả 3 năm nữa bác release thì vẫn bom tấn thôi
 
Thực ra ko đi xa được là do bạn chưa thực sự lao tâm để bức phá thôi.

Ở cấp độ kernel thì đúng là ngta expect phải có contribution, chứ knowledge là như la required rồi đâu có đem ra làm selling point đc. Trong ngành CNTT mà bảo là ko biết contribution cái gì thì chỉ có thể là do thiếu đam mê hoặc ko có thời gian hoặc chưa thực sự nghiêm túc thôi.

Mình nghĩ bạn cần thời gian đánh giá lại thế mạnh của mình và chọn được 1 hướng đi thích hợp hơn. Đã chuyên kernel thì phải contribution ko ít thì nhiều, OS là nơi để bạn thể hiện. Còn ko thì có thể rẽ hướng sang system programming, làm việc với threading, network, IO... chẳng hạn cũng là con đường tốt.
 
Anh vẫn thấy mọi người post bài lên hỏi. Còn về các topic sharing knowledge do đợt này anh bận quá nên ko viết được.
Anh đang tập trung học tiếng anh để dạy Linux cho người nước ngoài.
E nằm vùng nhưng đang làm bên design vi mạch. Cũng củ chuối như code Linux
 
E nghĩ code Linux bây giờ giống ngành vi mạch của e cách đây 4-5 năm.nhảy việc đc vài CTY, đi CTY nào cũng biết mặt. Gần đây tầm 1-2 năm thì mới nhiều CTY vào.
Nên e nghĩ chắc tầm 4-5 năm nữa cũng nhiều job ở VN
 
Respect bác thật sự. Ở xứ Đông Lào này, làm C/C++ vài ba năm là mình thấy nhiều ông nhảy tàu sang cái lập trình khác, ngôn ngữ khác, một phần là vì vợ con các kiểu, một phần lương cũng bèo so với bên Tây Lông.
Thấy trên glassdoor bảo Canonical, process CV tới 6 tháng lận nên có khi bác bị miss mail nó. Với lại bác làm về Linux kernel mà lại không có mối quan hệ tốt với open source community là điều thiếu sót quá lớn.

Bác lên reddit /cpp ấy, trong cái thread job nó cũng thường đăng bài tìm người làm mà có support visa các kiểu luôn ấy.

Sẵn tiện mình quánh dấu lại cái channel của bác để coi linux kernel thêm. Thanks bác nhé
 
Respect bác thật sự. Ở xứ Đông Lào này, làm C/C++ vài ba năm là mình thấy nhiều ông nhảy tàu sang cái lập trình khác, ngôn ngữ khác, một phần là vì vợ con các kiểu, một phần lương cũng bèo so với bên Tây Lông.
Thấy trên glassdoor bảo Canonical, process CV tới 6 tháng lận nên có khi bác bị miss mail nó. Với lại bác làm về Linux kernel mà lại không có mối quan hệ tốt với open source community là điều thiếu sót quá lớn.

Bác lên reddit /cpp ấy, trong cái thread job nó cũng thường đăng bài tìm người làm mà có support visa các kiểu luôn ấy.

Sẵn tiện mình quánh dấu lại cái channel của bác để coi linux kernel thêm. Thanks bác nhé
Thanks bác. Cái mảng kernel này ở Việt Nam nó như kiểu ném đá dò đường vì ko có cao nhân nào chỉ cho đường đi nước bước.
Mình cũng xác định thời gian tới sẽ contribute cho kernel community để tìm kiếm các mối quan hệ rồi bác.
 
Các dev về Linux kernel ở VN họ sẽ kiếm tiền bằng cách nào?

Thường đa số sẽ làm về embedded Linux. Con số này chiếm trên 99%. Như ở HN thì số lượng job làm về embedded Linux/Android tương đương với embedded MCU, realtime OS. Lương bên mảng embedded ngang hoặc thấp hơn chút so với bên app, mà embedded học lại cực hơn. Nói chung ai đam mê điện tử thì theo. Embedded thì công nghệ nó thay đổi chậm hơn, coi như là 1 điểm cộng.

Em cũng làm embedded device driver tầm 3 năm. Em không giỏi về hardware nhưng tính cần cù nên dần dần cũng làm được.

Thế còn 1% còn lại ví dụ như em thì sẽ kiếm tiền bằng cách nào. Em đưa ra con số 1% thì theo em biết hiện tại ở HN chỉ có 2 dự án làm thuần về kernel/custom Linux OS. Em đang làm việc tại 1 trong 2 dự án đó. Mảng này nếu muốn tuyển dev từ ngoài vào thì xác định là phải đào tạo, mức độ nhiều hay ít tuỳ từng người. Em chưa từng gặp dev nào có kinh nghiệm cũng như mục tiêu làm về Linux kernel giống như em ở HN cả. Ở trong Sài Gòn không biết có bác nào không. Nghề này ở VN cũng hẹp, ít chỗ nhảy việc nên các bạn khác có join vào dự án thì họ cũng không khoái lắm.

Cũng vì thế nên member như em được công ty rất quý, tạo mọi điều kiện cho em làm việc được thoải mái. Lương cũng ổn. Thu nhập mỗi tháng của em tầm 100 trước thuế, đến từ những nguồn sau:
1. Lương.
2. Đi dạy embedded Linux cho các cty khác. Học viên của em đa số là các bạn dev làm về embedded. Họ có back ground tốt về hardware. Người ít thì 1, 2 năm kinh nghiệm, người nhiều thì 10 - 20 năm cũng có. Có khá nhiều bạn đang làm ở nước ngoài như us, eu, jav. Mỗi lớp có tầm 20% học viên đang làm ở nước ngoài. Việc đi dạy ngoài kiếm tiền thì nó còn khá vui nữa. Em được kể chuyện và lan toả đam mê của mình cho người khác.
3. Support các cty khác. Chủ yếu là mảng embedded Linux. Tuy nhiên khi người ta tìm đến em thì họ đã khoanh vùng công việc liên quan đến hệ điều hành rồi. Ví dụ như giảm kích thước hệ điều hành, giảm thời gian boot, viết driver... Việc ở ngoài thì em ít khi code trực tiếp mà đa số đưa ra ý tưởng, thiết kế rồi thuê lại đội dev của em làm.

Em làm vì đam mê là chủ yếu chứ không quá nặng nề về tài chính. Nên tuy làm nhiều việc một lúc nhưng cũng không quá vất vả vì em bỏ tiền ra thuê người làm cũng nhiều. Ngày làm khoảng 8h + tự học 1 - 2h. Tuần làm tầm 6 ngày. Từ thứ 2 - 6 + 1 ngày chủ nhật.

Nếu ở Vn có nhiều người làm về kernel giống em thì công việc của em sẽ tốt hơn hay xấu đi? Mình nghĩ là sẽ tốt hơn. GDP của nước mình thấp nên mảng lập trình này vẫn luôn là việc thừa người thiếu. Em thấy 1 số dự án làm về OS mở ra rồi lại đóng vì không tuyển được người hoặc người làm không đảm bảo chất lượng.

Em sẽ có 1 bài viết khác giải thích cụ thể hơn các dự án về Linux kernel ở VN họ sẽ làm gì?
 
Sửa lần cuối:
Các dev về Linux kernel ở VN họ sẽ kiếm tiền bằng cách nào?

Thường đa số sẽ làm về embedded Linux. Con số này chiếm trên 99%. Như ở HN thì số lượng job làm về embedded Linux/Android tương đương với embedded MCU, realtime OS. Lương bên mảng embedded ngang hoặc thấp hơn chút so với bên app, mà embedded học lại cực hơn. Nói chung ai đam mê điện tử thì theo. Embedded thì công nghệ nó thay đổi chậm hơn, coi như là 1 điểm cộng.

Em cũng làm embedded device driver tầm 3 năm. Em không giỏi về hardware nhưng tính cần cù nên dần dần cũng làm được.

Thế còn 1% còn lại ví dụ như em thì sẽ kiếm tiền bằng cách nào. Em đưa ra con số 1% thì theo em biết hiện tại ở HN chỉ có 2 dự án làm thuần về kernel/custom Linux OS. Em đang làm việc tại 1 trong 2 dự án đó. Mảng này nếu muốn tuyển dev từ ngoài vào thì xác định là phải đào tạo, mức độ nhiều hay ít tuỳ từng người. Em chưa từng gặp dev nào có kinh nghiệm cũng như mục tiêu làm về Linux kernel giống như em ở HN cả. Ở trong Sài Gòn không biết có bác nào không. Nghề này ở VN cũng hẹp, ít chỗ nhảy việc nên các bạn khác có join vào dự án thì họ cũng không khoái lắm.

Cũng vì thế nên member như em được công ty rất quý, tạo mọi điều kiện cho em làm việc được thoải mái. Lương cũng ổn. Thu nhập mỗi tháng của em tầm 100 trước thuế, đến từ những nguồn sau:
1. Lương.
2. Đi dạy embedded Linux cho các cty khác. Học viên của em đa số là các bạn dev làm về embedded. Họ có back ground tốt về hardware. Người ít thì 1, 2 năm kinh nghiệm, người nhiều thì 10 - 20 năm cũng có. Có khá nhiều bạn đang làm ở nước ngoài như us, eu, jav. Mỗi lớp có tầm 20% học viên đang làm ở nước ngoài. Việc đi dạy ngoài kiếm tiền thì nó còn khá vui nữa. Em được kể chuyện và lan toả đam mê của mình cho người khác.
3. Support các cty khác. Chủ yếu là mảng embedded Linux. Tuy nhiên khi người ta tìm đến em thì họ đã khoanh vùng công việc liên quan đến hệ điều hành rồi. Ví dụ như giảm kích thước hệ điều hành, giảm thời gian boot, viết driver... Việc ở ngoài thì em ít khi code trực tiếp mà đa số đưa ra ý tưởng, thiết kế rồi thuê lại đội dev của em làm.

Em làm vì đam mê là chủ yếu chứ không quá nặng nề về tài chính. Nên tuy làm nhiều việc một lúc nhưng cũng không quá vất vả vì em bỏ tiền ra thuê người làm cũng nhiều. Ngày làm khoảng 8h + tự học 1 - 2h. Tuần làm tầm 6 ngày. Từ thứ 2 - 6 + 1 ngày chủ nhật.

Nếu ở Vn có nhiều người làm về kernel giống em thì công việc của em sẽ tốt hơn hay xấu đi? Mình nghĩ là sẽ tốt hơn. GDP của nước mình thấp nên mảng lập trình này vẫn luôn là việc thừa người thiếu. Em thấy 1 số dự án làm về OS mở ra rồi lại đóng vì không tuyển được người hoặc người làm không đảm bảo chất lượng.

Em sẽ có 1 bài viết khác giải thích cụ thể hơn các dự án về Linux kernel ở VN họ sẽ làm gì?
Mảng này còn đi làm ngoài dc.mảng vie mạch của e liên quan đến nhiều bản quyền nên ko đá ngoài đc.
Ngành khó mà lương bèo bọt,thua code xa
 
Lão này phải Phú xấu xa gì không ? Nếu đúng thì cám ơn anh đóng góp cho cộng đồng nhé. NHƯNG mai mốt có gì a đừng tag mấy thẵng nhõi năm 3 năm 4 vào trả lời nhé, đang hỏi kinh nghiệm thực tế tag tụi nhỏ vào chia sẻ kiến thức "giấy" làm gì
4gmOAMB.png
 
Một lĩnh vực hẹp mà nhiều thím đang làm về lập trình cũng không biết nó là cái gì.
Hệ điều hành bao gồm 2 khối, khối bên ngoài là tầng application tương tác với người dùng, khối bên trong là tầng nhân - kernel. Kernel phụ trách những công việc quan trọng như lập lịch, quản lý phần cứng.

Ở Việt Nam thì gần như không có job về mảng này, đơn giản là nước ta không tự làm được hệ điều hành, và cũng không tham gia phát triển những hệ điều hành open source như Linux và Android. Đôi khi cũng có những dự án yêu cầu can thiệp vào tầng nhân, nhưng thường chết yểu vì không có người làm được. Cũng may là có mảng embedded Linux gỡ gạc lại. Embedded Linux muốn làm được thì cần 1 phần nhỏ kiến thức về nhân. Cụ thể là cần hiểu về module driver - một trong số nhiều khối của kernel. Như mình thấy hiện tại thì nhiều bạn sinh viên đã biết về xu thế công nghệ trong lĩnh vực embedded đang chuyển dịch từ thuần vi điều khiển sang sử dụng Linux hoặc Android. Nên nhiều bạn cũng mày mò học về cách code driver trên Linux.

Làm về embedded Linux thì cần kiến thức tốt về hardware, lập trình vi điều khiển. Bản thân mình lại xuất thân từ software application. Mình cũng có nhiều kinh nghiệm làm về embedded, hiện tại nếu theo embedded thì lương cũng rất ổn. Tuy nhiên mình luôn ước mơ 1 ngày nào đó sẽ có cơ hội làm chung team với những chuyên gia về Linux kernel của thế giới. Nếu theo hướng embedded thì giấc mơ này sẽ không bao giờ thành hiện thực được. Tạm hiểu là nếu theo embedded Linux, device driver thì mình chỉ có thể đạt level senior developer chứ không thể lên mức expert được.

Tính đến hiện tại, mình đã học về kernel được gần 10 năm. Từ hồi bắt đầu đi làm đến giờ mình đều làm việc xoay quanh nó, về nhà lại dành thêm 1 - 2 tiếng để tự học thêm. Tiếng anh mình giao tiếp cũng tốt. Mình nghĩ hiện tại ở VN khó có ai am hiểu về lĩnh vực này hơn mình. Nếu như nó là một công nghệ phổ biến như lập trình app, web hoặc AI thì mình đã có rất nhiều đất để diễn. Tuy nhiên tình trạng của mình hiện tại nó giống như kiểu hoạ sĩ vẽ tranh đem bán ở làng quê vậy.

Nhiều bạn sẽ hỏi tại sao mình không đi nước ngoài làm việc. Kể cả ở những nước phát triển thì số lượng công ty làm về cái này cũng không nhiều. Thường là những công ty thuôc dạng khủng như kiểu Google, Facebook, Amazon... họ mới làm. Để join vào những công ty này một là bạn phải đi học ở trường top rồi thực tập và làm việc giống như Fresher ở Việt Nam. Cửa thứ 2 là bạn là chuyên gia trong lĩnh vực đó, đã có nhiều kinh nghiệm, bạn phỏng vấn và vào thẳng dự án. Vấn đề của mình nằm ở đây, mình đã có gia đình và quá già cho cách một nhưng lại không có đủ skill và kinh nghiệm để vào bằng cách 2. Mình làm về kernel ở VN được gần 10 năm, nhưng đa số công việc cũng chỉ sử dụng kiến thức về kernel chứ không phải trực tiếp phát triển nó. Mà cái những công ty kia yêu cầu là kinh nghiệm phát triển trực tiếp những đoạn code nằm trong nhân.

Nếu bây giờ mình tạm gác ước mơ lại. Tiêp tục làm về embedded, học nâng cao thêm kiến thức về phần cứng. Mình sẽ có một mức lương cao ở VN. Nếu muốn đi nước ngoài làm việc chắc cũng không khó vì học sinh của mình có nhiều bạn đang làm ở nước ngoài. Có thể nhờ họ giới thiệu cho vào làm cùng công ty.

Nhưng cuộc sống này ai cũng chỉ được sống một lần, mình muốn cố gắng hết sức để sau này khi về già không phải hối tiếc. Vậy nên mình vẫn chọn đi tiếp con đường chông gai. Thời gian tới mình sẽ làm những video training Linux kernel bằng tiếng anh, tìm cách tham gia vào phát triển Linux kernel cùng với community của họ, tất nhiên là không được đồng nào cả. Hi vọng sau vài năm nữa, mình sẽ có được mối quan hệ với các developer đang phát triển nhân Linux kernel. Từ đó có thể sang nước ngoài và làm việc cùng họ.

Linux kernel có gì mà mình lại yêu thích nó đến vậy? Đơn giản là do mình có cảm giác quen thuộc với nó, giống như đôi bàn tay của mình. Hoặc mỗi khi có ai đó hỏi mình về một vấn đề khó khăn mà họ bế tắc cả tháng trời, mình lại nhanh chóng đưa ra một cách giải quyết đơn giản. Lúc đó mình có cảm giác là họ ngạc nhiên giống như mình đang làm ảo thuật vậy. Có thể kể ra một vài câu chuyện khá buồn cười sau đây:

1. Bạn A code hàm đọc dữ liệu từ phần cứng. Hệ thống thỉnh thoảng bị crash. Sau một thời gian dài debug thì bạn ý phát hiện là lỗi liên quan đến con trỏ truy cập vào vùng nhớ không hợp lệ. Bạn ý check lại tất cả những đoạn code gọi hàm malloc, tất cả các con trỏ đều kiểm tra khác NULL trước khi sử dụng. Nhưng thỉnh thoảng bug vẫn xuất hiện. Khi bạn ý hỏi mình, mình bảo bạn ý là nên thay hàm malloc bằng hàm calloc, bạn ý làm theo và bug biến mất.
2. Thiết bị sau khi xuất xưởng được chạy test tự động, sau vài ngày chạy test thì ngẫu nhiên có 1 thiết bị bị khởi động lại. Khách hàng bắt team ở VN kiểm tra, team ở VN cũng không biết tại sao. Bug có log nhưng lại không tái hiện lại được. Team thử upgrade kernel version lên thì thấy chạy test không bị lỗi đấy nữa. Dò theo log cũ thì phát hiện ra 1 commit trong kernel nhìn có vẻ liên quan đến việc fix bug đó. Nhưng đọc commit message mãi không hiểu được họ nói gì. Cả team khách hàng bên Nhật lẫn đội bên VN đều chịu. Mà bug nó xuất hiện ngẫu nhiên với tần xuất nhỏ, nên cũng không ai dám chắc là đã được fix thật chưa. Về sau họ gửi mail hỏi khắp cty xem có ai biết về Linux kernel không để support. Mình đọc commit message, tìm hiểu các khái niệm xung quanh rồi giải thích cho họ. Sau đó mình tái hiện được lại bug. Từ đấy họ gọi mình là super man. Về sau có 1 lần khách hàng họ sang họp, họ gọi mình vào để giới thiệu mặc dù không cùng dự án. Họ trong Sài Gòn còn mình ở HN.
3. Hàm gettimeofday() trong thư viện của C bị lỗi memory leak. Bạn dev đó fix 2 tháng lỗi memory leak mà không biết nguyên nhân vì đâu. Quan trọng là ngay từ ban đầu không ai nghĩ các hàm của libc có thể bị lỗi này, nên lúc review code mặc định chúng ta bỏ qua. Về sau mình hướng dẫn bạn ý dò ra được lỗi, sau đó report lại cho bên làm trình biên dịch của hãng chip để họ fix.
4. Ngoài ra thì còn vô số những kỷ niệm buồn cười khác, có cái mình nhớ và có cái mình quên rồi.

Nói chung nếu không tính embedded Linux thì Linux kernel không phát triển ở Việt Nam. Vì theo nghề này mà mình cũng có nhiều kỷ niệm vui buồn lẫn lộn. Nhưng trên hết là nhờ nó mà mình được sống một cuộc sống có ý nghĩa, được quen biết nhiều người. Cũng có lúc thấy hơi nản vì con đường theo nó sao mà chông gai. Nhưng kệ thôi, còn sống là còn chiến đấu.

Nay tâm trạng chán đời nên bài viết lan man quá, cám ơn các bạn đã đọc bài.

P2: Các dev về Linux kernel kiếm tiền như thế nào?
Dài quá , hóng tóm tắt
 
Lão này phải Phú xấu xa gì không ? Nếu đúng thì cám ơn anh đóng góp cho cộng đồng nhé. NHƯNG mai mốt có gì a đừng tag mấy thẵng nhõi năm 3 năm 4 vào trả lời nhé, đang hỏi kinh nghiệm thực tế tag tụi nhỏ vào chia sẻ kiến thức "giấy" làm gì
4gmOAMB.png
Rồi anh xin lỗi, hứa sẽ rút kn.
 
Mảng này còn đi làm ngoài dc.mảng vie mạch của e liên quan đến nhiều bản quyền nên ko đá ngoài đc.
Ngành khó mà lương bèo bọt,thua code xa
Âu cũng là do nền công nghiệp nước nhà không phát triển.

Thôi ráng cày English mà qua bển em à
 
Em đang thuần nhúng vđk, đợt này có thời gian tính vọc qua linux embedded, start với kit BBB. Nhưng có quen mấy ông anh 96 làm nhúng khuyên bỏ đi code app. Em theo nhúng thực sự là đam mê, nếu tiếp tục khả năng ở VN chỉ mức này vài năm tới còn đội làm app sẽ x2 x3. Cũng đắn đo quá bác ạ =((
 
Ngày xưa em nhớ bên kipacast có một ông làm ở Canonical, cơ mà ko phải bên kernel mà là bên infra. Thím thử tìm lại và tìm cách liên lạc xem, nhỡ đâu có thể có kèo refer?
Host của kipacast là thím huydx cũng dùng voz: @huydXxX
 

Thống kê chủ đề

Ngày tạo
PhuThoDien,
Người trả lời cuối
picolami,
Trả lời
445
Lượt xem
114.913
Quay lại
Lên đầu trang