Viettel R&D, Vinfast, Fsoft , Bosch ( riêng cty này ở sài gòn)
Recommend tiếng nhật. Giờ đi nhật dễ lắm, tốt nghiệp BK + chứng chỉ N3 là đi được rồi, fresher cũng được tầm 2k5.
Kiến thức ở trường dạy cho là background nền tảng, họ dạy môn nào cứ học môn đó đi. Đặc biệt là các môn : hệ điều hành, mạng máy tính, kiến trúc máy tính, cấu trúc dữ liệu và giải thuật, kỹ thuật lập trình. Kiến thức về vi xử lý chắc trong trường cũng sẽ có môn này
Còn tự học là cái bổ sung,bạn có thể tham khảo (mảng embedded nó cũng chia thành nhiều mảng con nữa, cái em nói ở đây là phần mềm( các hệ thống nhúng ko dùng OS), không phải dạng thiết kế phần cứng)
Tự học bằng đọc sách + tutorial:
- Học lập trình C, vì phần lớn công việc là code bằng C. K&R C là quyển kinh điển, học xong nó là coi như chắc C cơ bản.Muốn đi sâu hơn thì đọc thêm vài quyển(mức độ khó tăng dần) : Practice C, The practice of programming, Expert C- deep secret.
- Học lập trình embedded : nên đọc Programming embedded system (Michael Bar) để có cái nhìn tổng thể về 1 embedded system. 1 quyển khác cung rất hay là making embedded systems( ko cần phải chạy code example )
- Học assembly. Assembly chỉ cần học để có thể đọc hiểu code
- Thực hành : cái này tùy, có nhiều kits để vọc lắm. Ví dụ kiếm kít Renesas rồi down datasheet của nó học code các module như LED, AD, PWM, UART…
Nếu chưa có điều kiện thực hành thì cũng chả cần lo lắng, chỉ cần học để hiểu tổng quan, say này đi làm mình sẽ dần dần tích lũy và tự học thêm. Vì những thứ như CAN, SPI, UART, AD… ko có thiết bị kiểu như Olliscope hay tool như Canalyzer thì cơ bản cũng chả làm ăn được gì.
Về thực tế : fresher ban đầu làm test, ko cần kiến thức gì nhiều, vì căn bản đọc hiểu tài liệu , làm việc với các tool , dân không phải IT ( mấy con đàn bà học tiếng Đức ra cũng làm ngon )
Cứng cứng hơn thì viết code, chủ yếu là đọc datasheet để code C. Việc này cũng ko khó, căn bản làm đúng theo hướng dẫn của datasheet là nó sẽ chạy.Quanh quẩn hệ thống nhúng cũng chỉ có vài module lặp đi lặp lại : SPI, IIC, PMW, AD, LED,CAN … Cái khó là viết code sao cho nó tối ưu.
Một road khác là học theo chương trình Automotive của FUNIX. Họ dạy C++ và QT, tức là hướng này sẽ làm phần giao diện cho phần mềm nhúng( tức phần “nổi” nhất) vì QT là cái để làm UI bằng C++. Hướng này dễ hơn nhiều, chỉ cần học C++ và làm phần mềm desktop với QT là đủ . UI cơ bản là kéo thả trên QT creator rồi viết code C++ điều khiển cho nó, nếu đã biết cách làm desktop app với QT thì chuyển sang embedded chắc cũng không khó khăn lắm