- Tốt nghiệp Đại học chuyên ngành CNTT hoặc ĐTVT
- Có ít nhất 3 năm kinh nghiệm làm về phần mềm nhúng Linux, MCU hoặc Android
Yêu cầu bắt buộc:
- Thành thạo với cấu trúc system files của hệ điều hành Linux.
- Thành thạo về lập trình C cơ bản: Makefile, biến, mảng, con trỏ, cấp phát bộ nhớ, File, List, Socket, Timer, Lock, Shared memory, Thread,...
- Thành thạo việc sử dụng cross-compiler.
- Có kinh nghiệm ngôn ngữ kịch bản: Shell script,...
- Có kinh nghiệm lập trình với các drivers cho các phần cứng như: Wireless, USB, Flash, điều khiển I/O,...
- Có kinh nghiệm lập trình Web cấu hình của thiết bị nhúng sử dụng HTML, CSS và JS.
- Có kiến thức về Kernel Networking Data Path.
- Có kiến thức về Kernel Memory Management.
Có kiến thức trao đổi bản tin và tham số quan trọng của các giao thức mạng cơ bản: TCP/IP, ARP, DHCP, PPPoE, DNS, SIP.
Có kinh nghiệm trong việc debug mã nguồn sử dụng: Logs, GDB, Call Trace,...
Có thể sử dụng công cụ để phân tích gói tin: Wireshark, Packet dump, GPON Doctor, WiFi Packet analyzer,...
Có kinh nghiệm thiết kế các module thành phần của một sản phẩm tương đồng là một lợi thế như: Wireless (Band/AP steering, Auto channel selection, WDS, Mesh), PON (OMCI, PLOAM), TR069, MQTT,...
Đối với kỹ sư lập trình nhúng Android:
o Thành tạp phát triển và tích hợp các modules, thư viện vào hệ thống Android.
o Có kinh nghiệm làm việc và hiểu sâu về quyền và các tính năng bảo mật của Android (SecureBoot, Selinux).
o Thành thạo ngôn ngữ Java/Kotlin
Đối với kỹ sư lập trình nhúng MCU:
o Có kinh nghiệm làm việc với giao tiếp Zigbee, BLE-Mesh,...
o Có kinh nghiệm làm việc với các ngôn ngữ kịch bản: Python, Batch và Perl.