Mình tư vấn theo kinh nghiệm của bản thân nhé.
1. Ít nhất một ngôn ngữ dynamic/scripting như Python, Ruby, PHP, Lua, TypeScript/JavaScript...
Nhóm ngôn ngữ này nhìn chung thì tương đối dễ học dễ làm, ra sản phẩm ngay nên nói chung phù hợp đa số anh chị em mới tiếp cận lập trình cả chuyên và không chuyên.
Mình từng làm cả Lua, PHP và Python thì mình vote Python vì nó đa năng hầu như làm gì cũng dc, sau này có nhảy qua ngôn ngữ khác cũng ko khó.
2. Ít nhất một ngôn ngữ "enterprise". Cái này thì hiện giờ chắc chỉ có JVM-based languages (tiêu biểu là Java, Kotlin) và DotNet-based languages (tiêu biểu là C#)
Bên nhóm "enterprise" này sẽ học được nhiều thứ về tổ chức lớp lang bài bản. Bên này lại nhiều patterns, nhiều best practices nên rất thích hợp rèn luyện tư duy tổ chức software, architecture...
Mình thì từng làm Java nên vote luôn Java vì nó mature, nhiều tool, strict... nói chung nhiều thứ hay ho. Bị cái ngôn ngữ hơi dài dòng do lâu đời nhưng mà dạo gần đây cải tiến cũng nhiều rồi.
3. Ít nhất một ngôn ngữ biên dịch. Vd như C/C++, Go, Rust...
C/C++, Rust hơi niche một chút nhưng mà cung cấp kiến thức hiểu sâu về hệ thống, trình biên dịch... Nói chung nó hơi hàn lâm tí nhưng mà rất bổ ích nếu muốn phát triển sau này.
Mình từng làm Go thì mình vote Go, đơn giản là vì nó dễ học dễ làm. Sau này trình lên cao rồi thì thử nhảy lại đám C/C++, Rust... cũng dc.
4. Optional thì học thêm một functional language kiểu Haskell, Ocaml, Erlang, Scala...
Cái này optional thôi vì thực sự nó cũng hơi khó.