Học gì cho công việc sắp tới hay chuẩn bị kiến thức “nền tảng” nào cho một tương lai gần luôn là vấn đề quan tâm hàng đầu của những người học và quan tâm về lập trình máy tính. Trước khi tiến hành những bước đi cụ thể, việc nhìn ra bức tranh lớn là thật sự cần thiết. Tâm huyết với điều này – với tư cách một người đi dạy và cũng từng “mù mờ” về tương lai – tôi đã có bài viết đưa ra một vài lời khuyên, những cuốn sách cần đọc, những ngôn ngữ nào nên học, v.v…nhưng cảm giác rằng vẫn cứ là chưa đủ. Bằng kinh nghiệm của mình, bằng sự hiểu biết qua việc đọc các blogs của những chuyên gia hàng đầu, tôi viết bài viết này với hy vọng nhỏ nhoi rằng, góp một ý kiến có ích cho một “ai đó” thấy được con đường đi của mình. Dẫu biết rằng, cuộc sống (cụ thể là công nghệ) đổi thay với tốc độ chóng mặt, nhưng những giá trị “cốt lõi” sẽ vẫn tồn tại mãi theo thời gian. Vậy ta cần gì?

Thứ nhất, chuẩn bị kiến thức nền: học lập trình C – đó là điều đầu tiên tôi muốn nói. Cho đến thời điểm này, mặc dù C ra đời từ rất lâu, nhưng C vẫn chiếm một vị trí trang trọng trong danh sách những ngôn ngữ lập trình được dùng phổ biến hiện nay. Nó là nền tảng của nhiều hệ thống, đồng thời nhiều ngôn ngữ mạnh hiện nay như C# hay Java, dù được xây dựng trên mô hình khác C, có những đặc điểm cơ bản mang phong cách C (C – style). Có thể đọc lại bài viết nghiên cứu về cách ngôn ngữ lập trình đầu tiên chúng ta học ảnh hưởng đến tư duy người lập trình như thế nào để thấy rằng, học C là cần thiết. Cũng có thể đọc lời khuyên của chuyên gia John Regehr với người bạn của mình, người chuẩn bị dạy ngôn ngữ C tại Cambridge, để có sự chuẩn bị kĩ lưỡng trước khi dạy và học C. Nếu là người xác định theo hướng phát triển web thì cũng cần trang bị thêm JavaScript. Tại sao? Tại vì, dù có nhiều nền tảng hay công nghệ khác nhau cho người phát triển web, nhưng phần lớn vẫn dựa trên JavaScript. Chuyên gia Scott Hanselman đã ví JavaScript là ngôn ngữ Assembly trong thế giới Web. Và thêm một điều nữa (….!), hiểu về Unicode và các tập kí tự là cực kì quan trọng.

Thứ hai, trang bị cho công việc trong tương lai gần: nếu bạn thích phát triển ứng dụng trên Windows, hãy học C#; nếu bạn yêu mã nguồn mở, hãy đến với Java; và phát triển web thì đây là danh sách không thể thiếu. Có thể tham khảo thêm lời khuyên của chuyên gia Scott Hanselman.

Cuối cùng, theo lời của một nhân vật trong bộ phim BlackHat (tạm dịch: tin tặc mũ đen), luôn luôn không để cho mình bị tha hoá bằng cách không ngừng hướng tới mục tiêu dài hạn hay sứ mệnh của mình với một cơ thể khoẻ mạnh và một tư duy sắc bén. Nếu bạn vẫn chưa thấy được sứ mệnh của mình – theo lời khuyên của Steve Jobs – hãy tiếp tục tìm kiếm, đừng dừng lại. (Có thể tham khảo thêm bài viết Nghĩ về tương lai hay Duy trì cảm hứng mỗi ngày hay Nghĩ về hiệu quả công việc).