Lập trình mạng là thứ khó nhai nhất trong lập trình, phải hiểu rõ cấu trúc của các frimware cũng như hệ điều hành, đòi hỏi phải có tư duy thuật toán khá cao và làm trong môi trường lệnh code khá nhiều, nó là các phương thức sử lí truyền dẫn, ngăn chặn, sử dụng các dao thức như TCP/IP..., nói chung là chua lè.
Biết tiếng Anh thì học CS50 của Harvard cho có cái nền, muốn đi cái gì thì ra trung tâm đóng tiền học tiếp
Học lập trình thì không có cái nào hiệu quả bằng làm việc thực tế. Nếu không xin được việc thì tìm mấy cái freelance hay open source projects mà làm. Mà mới vào thì chịu khó google với stackoverflow. Vừa làm vừa học lý thtyết song song để có nền tảng. Nói chung thời buổi thông tin phát triển như bậy giờ nếu muốn học cái gì đó thì chưa bao giờ là muộn.