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

Mình trước đây cũng nghịch lập trình Linux driver với sửa lại nhân và dịch nhân hệ điều hành một chút. Mình trước đâu nghịch OpenWrt. Theo bạn thì để phát triển ngành này lên ở Việt Nam cần những gì? Thí dụ như thiếu người hay do thiếu dự án tốt?
Thiếu người thôi thím, giờ thế giới hội nhập rồi, lập trình viên có tiếng anh có thể làm remote sang các nước khác hoặc làm outsourcing.
Giờ nghề lập trình mình thấy gần như không bị rào cản bởi quốc gia nữa rồi.
 
Phần 10: Môi trường làm việc ở Big Tech.

Mình làm việc remote cho Intel được khoảng nửa năm rồi, mô hình là ký hợp đồng qua 1 công ty của Ấn độ, công ty của Ấn ngoài mình thì có 6 bạn nữa làm cùng team. Tổ chức của team thì có 6 Ấn, 3 - 4 Ireland, 3 - 4 US, 1 Việt Nam.

Ở đây thì chủ yếu mình sẽ review về process làm việc, văn hóa công ty, còn về phúc lợi thì công ty ấn trả tiền cho bọn mình nên tất nhiên lương ko cao như mức lương của Software engineer ở US.
Quay về vấn đề process làm việc, mình thấy khác nhau khá nhiều so với khi làm việc cho các công ty ở VN. Plan công việc của dự án sẽ chia thành đơn vị là Sprint, mỗi Sprint sẽ kéo dài 3 tuần. Mỗi task trong sprint sẽ được đánh số Story point, nhiều hay ít dựa theo độ khó của task đấy. Mỗi dev sẽ được assign 1 số lượng task, dự án sẽ quy định số Story point mà 1 dev phải hoàn thành trong 1 sprint, nhiều hay ít tùy theo level của bạn đó. Ví dụ như Senior của Intel tối thiểu 14 - 15 point, Junior của Intel là 7 point. Như mình và 6 bạn Ấn được xếp vào level Junior nên chỉ yêu cầu hoàn thành 7 point là đủ ^^.
Tất cả các dev đều làm remote với nhau, công ty không quản lý thời gian, miễn là bạn hoàn thành được số point mà dự án quy định theo level. Vậy việc hoàn thành được 7 point có khó không? Thực ra level Junior ở Intel mình thấy ngang với level Senior cứng ở VN. Level Senior của họ thì ở VN mình chưa được làm việc với ai có trình độ ngang bằng. Ở đây là mình chỉ nói trong lĩnh vực Linux kernel thôi.
Các task về kernel thực ra phần code của nó không có nhiều, 1 task 7 point thì trung bình code chỉ khoảng 50 - 100 dòng. Vậy nên thời gian để gõ code không nhiều, chủ yếu là tìm hiểu về hệ thống để biết cách code ra những dòng code đó. Nếu kiến thức và kinh nghiệm nhiều, thì thời gian hoàn thành 1 task sẽ ít và ngược lại.
Ví dụ như cá nhân mình thì mình thường làm việc từ 12h30 trưa đến 5h30 chiều, 1 sprint mình hoàn thành được khoảng 9 - 10 point. Các bạn người Ấn cùng team thì được khoảng 3 - 4 point cho 1 sprint, 1 thời gian nữa thì chắc họ cũng đáp ứng đủ con số 7 point mà dự án yêu cầu.
Nói chung là văn hoá làm việc của họ thực sự tự do, làm việc remote tự quản lý thời gian miễn là hoàn thành được công việc. Trong 1 sprint thì các buổi meeting sẽ có plan từ trước, các buổi họp phát sinh thường họ cũng có plan trước ít nhất 1 ngày, vậy nên nếu mình làm việc ở nhà thì có thể tự do ra ngoài hoặc làm gì theo ý thích đều được. Khi làm việc thì mình luôn cố gắng tập trung và tìm cách làm sao cho hiệu quả, để có thể hoàn thành sớm, có thêm thời gian rảnh làm việc khác.
 
Last edited:
anh phú cho em hỏi, hiện em đang làm linux embedded, nhưng gần đây em cũng có hứng thú với mảng security. Thì không biết em có thể chuyển sang nhánh nào của security liên quan tới nhúng được ạ.
 
anh phú cho em hỏi, hiện em đang làm linux embedded, nhưng gần đây em cũng có hứng thú với mảng security. Thì không biết em có thể chuyển sang nhánh nào của security liên quan tới nhúng được ạ.
Em có thể chuyển qua cyber security cho các thiết bị embedded. Ở VN cũng có 1 số cty đang tuyển về mảng này ví dụ như fsoft, Viettel.
 
Em đang có Job Senior C Developer làm việc tại HN, công ty của Mỹ, range lương upto 3800 gross.
Yêu cầu:
-2-3 years experience in Linux kernel, C/C++ language
- 4+ years experience in a software developer role
Bác nào quan tâm inbox em nhé
 
mảng này thực sự ít job quá anh nhỉ. Em thấy toàn tuyển security bên cloud,server
Uhm, security cho server thì có từ mấy chục năm trước. Còn security cho embedded thì gần đây mới có.
Nhưng anh nghĩ nó là xu hướng của tương lai, khi mà các thiết bị embedded đều kết nối vào internet và cần phải bảo mật.
 
Phần 10: Môi trường làm việc ở Big Tech.

Mình làm việc remote cho Intel được khoảng nửa năm rồi, mô hình là ký hợp đồng qua 1 công ty của Ấn độ, công ty của Ấn ngoài mình thì có 6 bạn nữa làm cùng team. Tổ chức của team thì có 6 Ấn, 3 - 4 Ireland, 3 - 4 US, 1 Việt Nam.

Ở đây thì chủ yếu mình sẽ review về process làm việc, văn hóa công ty, còn về phúc lợi thì công ty ấn trả tiền cho bọn mình nên tất nhiên lương ko cao như mức lương của Software engineer ở US.
Quay về vấn đề process làm việc, mình thấy khác nhau khá nhiều so với khi làm việc cho các công ty ở VN. Plan công việc của dự án sẽ chia thành đơn vị là Sprint, mỗi Sprint sẽ kéo dài 3 tuần. Mỗi task trong sprint sẽ được đánh số Story point, nhiều hay ít dựa theo độ khó của task đấy. Mỗi dev sẽ được assign 1 số lượng task, dự án sẽ quy định số Story point mà 1 dev phải hoàn thành trong 1 sprint, nhiều hay ít tùy theo level của bạn đó. Ví dụ như Senior của Intel tối thiểu 14 - 15 point, Junior của Intel là 7 point. Như mình và 6 bạn Ấn được xếp vào level Junior nên chỉ yêu cầu hoàn thành 7 point là đủ ^^.
Tất cả các dev đều làm remote với nhau, công ty không quản lý thời gian, miễn là bạn hoàn thành được số point mà dự án quy định theo level. Vậy việc hoàn thành được 7 point có khó không? Thực ra level Junior ở Intel mình thấy ngang với level Senior cứng ở VN. Level Senior của họ thì ở VN mình chưa được làm việc với ai có trình độ ngang bằng. Ở đây là mình chỉ nói trong lĩnh vực Linux kernel thôi.
Các task về kernel thực ra phần code của nó không có nhiều, 1 task 7 point thì trung bình code chỉ khoảng 50 - 100 dòng. Vậy nên thời gian để gõ code không nhiều, chủ yếu là tìm hiểu về hệ thống để biết cách code ra những dòng code đó. Nếu kiến thức và kinh nghiệm nhiều, thì thời gian hoàn thành 1 task sẽ ít và ngược lại.
Ví dụ như cá nhân mình thì mình thường làm việc từ 12h30 trưa đến 5h30 chiều, 1 sprint mình hoàn thành được khoảng 9 - 10 point. Các bạn người Ấn cùng team thì được khoảng 3 - 4 point cho 1 sprint, 1 thời gian nữa thì chắc họ cũng đáp ứng đủ con số 7 point mà dự án yêu cầu.
Nói chung là văn hoá làm việc của họ thực sự tự do, làm việc remote tự quản lý thời gian miễn là hoàn thành được công việc. Trong 1 sprint thì các buổi meeting sẽ có plan từ trước, các buổi họp phát sinh thường họ cũng có plan trước ít nhất 1 ngày, vậy nên nếu mình làm việc ở nhà thì có thể tự do ra ngoài hoặc làm gì theo ý thích đều được. Khi làm việc thì mình luôn cố gắng tập trung và tìm cách làm sao cho hiệu quả, để có thể hoàn thành sớm, có thêm thời gian rảnh làm việc khác.
Review code thế nào my fen, có design trước ko

Trước tôi làm thì code 1 tiếng, review 5 tiếng, hoặc 3 4 vòng mới xong 1 task
 
Review code thế nào my fen, có design trước ko

Trước tôi làm thì code 1 tiếng, review 5 tiếng, hoặc 3 4 vòng mới xong 1 task
Code thì chỉ có design ở mức diagram và mô tả của chức năng đấy thôi thím. Chưa đến mức detail design.
Review code thì mình code xong đẩy lên branch do mình tạo ra, sau khi tất cả reviewer approve thì ông branch master sẽ merge vào nhánh chính. Họ review kỹ lắm, ví dụ tôi thay đổi tầm trăm dòng code nhưng có khi phải đến 1 - 2 trăm comment của reviewer, có cái thì mình phải sửa lại code, có cái thì mình giải thích lại cho họ. Ngoài ra thì mình phải tổ chức một số buổi họp coding review cho phần mình làm, trong buổi đấy sẽ là giải thích về cách hiểu, solution của mình....
 
up topic hữu ích.
Ví dụ mấy cái mạch single-board computer không muốn dùng image (debian) sẵn của nhà sản xuất mà muốn tự tạo image của riêng mình (void) cũng phải nghiên cứu về cái này đúng không bạn.
 
up topic hữu ích.
Ví dụ mấy cái mạch single-board computer không muốn dùng image (debian) sẵn của nhà sản xuất mà muốn tự tạo image của riêng mình (void) cũng phải nghiên cứu về cái này đúng không bạn.
Đúng rồi bạn, nhưng làm mấy cái custom image đấy thì chỉ cần kiến thức cơ bản về os thôi ko cần sâu đâu. Làm mấy cái rom cook cho điện thoại Android, đội non it họ vọc vạch cũng làm đc.
 
Đúng rồi bạn, nhưng làm mấy cái custom image đấy thì chỉ cần kiến thức cơ bản về os thôi ko cần sâu đâu. Làm mấy cái rom cook cho điện thoại Android, đội non it họ vọc vạch cũng làm đc.
Mình non-it mà. Đang có mấy con Orange Pi Zero mà không thích image của nó, vậy nên mới tìm hiểu tạo image Void Linux vì mình không thích xài Debian.
 
E mới bị đá đít, trước giờ chỉ làm với RTOS, giờ muốn thử qua linux embedded thì nên từ đâu nhỉ, nên bắt đầu tự compile kernel, nghiên cứu bootloader, rootfs, hay là học cách giao tiếp với các peripheral, device driver nhỉ. Mảng này rộng quá :p
 
em đang làm autosar mà mới vô nên công ty cho làm test thôi, giờ em muốn làm mảng này thì có cơ hội nhiều ko anh
 
Em đang có Job Senior C Developer làm việc tại HN, công ty của Mỹ, range lương upto 3800 gross.
Yêu cầu:
-2-3 years experience in Linux kernel, C/C++ language
- 4+ years experience in a software developer role
Bác nào quan tâm inbox em nhé
Job lương tốt quá, chúc bác sớm tuyển được người phù hợp.
 
E mới bị đá đít, trước giờ chỉ làm với RTOS, giờ muốn thử qua linux embedded thì nên từ đâu nhỉ, nên bắt đầu tự compile kernel, nghiên cứu bootloader, rootfs, hay là học cách giao tiếp với các peripheral, device driver nhỉ. Mảng này rộng quá :p
Ko em, mới bắt đầu thì nên bắt đầu bằng việc code app C/C++ trên môi trường Linux, lập trình đa luồng, thao tác với file, socket, tập sử dụng command line.
Làm quen Linux xong rồi thì chuyển qua học những thứ như em vừa liệt kê.
 
Back
Top