- 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:
- 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.
- 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).
- Thành thạo ngôn ngữ Java/Kotlin
- Đối với kỹ sư lập trình nhúng MCU:
- Có kinh nghiệm làm việc với giao tiếp Zigbee, BLE-Mesh,...
- Có kinh nghiệm làm việc với các ngôn ngữ kịch bản: Python, Batch và Perl.