Nếu bạn muốn trở thành bằng chứng trong tương lai, lời khuyên tốt nhất tôi có thể cung cấp cho bạn là đừng bao bọc bản thân vào một công nghệ.
Vì vậy, đừng học API một cách mù quáng. Tìm hiểu làm thế nào họ được thụ thai. Những triết lý đằng sau hậu trường là gì? Ưu điểm và sai sót của họ là gì? Hãy nghĩ rằng phần mềm nói chung, không phải là một công nghệ cụ thể.
Bạn cũng có thể làm việc về việc thụ thai chương trình tốt, đi đến OOP và AOP là một lựa chọn tốt IMO. Nhưng đừng hiểu cơ chế, hãy thực sự nghiên cứu triết lý đằng sau cơ chế này.
Đừng bỏ qua khoa học máy tính nói chung, như các cấu trúc dữ liệu và thuật toán, bởi vì chúng là kiến thức công nghệ chéo luôn hữu ích.
Cũng đi cho thực hành tốt. Bạn thường có hàng tá cách để làm một cái gì đó, nhưng hầu hết trong số chúng là tào lao: dễ bị lỗi, khó bảo trì, khó hiểu sau này hoặc bởi một lập trình viên khác, v.v. . . Thông thường, mã khó đọc hơn viết. Vì vậy, hãy học cách dành một chút nỗ lực hơn cho việc viết để làm cho việc đọc dễ dàng hơn (vì bạn sẽ đọc mã nhiều hơn bạn viết).
Tìm hiểu các kỹ thuật hiệu quả để gỡ lỗi (sử dụng thông minh nhật ký và trình gỡ lỗi) và kiểm tra (cách viết mã có thể được kiểm tra đơn vị dễ dàng và cách tự động hóa các kiểm tra này).
Sau đó, bạn sẽ cần một nền tảng công nghệ chung. Tôi đang nói về kiến thức rất rộng, như cách bộ xử lý hoạt động (bộ nhớ cache hoặc dự đoán nhánh là khởi đầu tốt), về các hệ thống UNIX, về các giao thức mạng như IP, TCP và Ethernet, v.v. . .
Cuối cùng, học cách học. Nếu bạn biết cách học, thì bạn có thể thích nghi.
Bạn sẽ cần một số kiến thức vững chắc về các công nghệ cụ thể để có thể tìm được việc làm, nhưng những công nghệ đó đã lỗi thời rất nhanh (ví dụ như về COBOL, hoặc lập trình web tại thời điểm chiến tranh IE / Netscape). Vì vậy, đừng dựa vào chúng để làm bằng chứng trong tương lai. Họ sẽ là chìa khóa để được tuyển dụng, nhưng chắc chắn không phải là thứ tạo nên một lập trình viên tuyệt vời và điều gì sẽ khiến kỹ năng của bạn bền bỉ theo thời gian.
EDIT: Nếu bạn chỉ mới bắt đầu, bạn chắc chắn nên hoàn thành một cái gì đó. Cái gì đó thật sự. Một trò chơi như Tetris hoặc con rắn là một khởi đầu tốt và thú vị. Nếu bạn không hoàn thành công việc, bạn sẽ dành nhiều thời gian để học và thực sự không có được kinh nghiệm cần thiết để hiểu đầy đủ những gì bạn học.
Hãy làm một ví dụ với các mẫu thiết kế. Các mẫu thiết kế là tuyệt vời và bạn nên sử dụng chúng một cách dứt khoát. Nhưng nếu quá lạm dụng, chúng sẽ khiến mã của bạn trở nên phức tạp và khó hiểu. Bạn sẽ phải đối mặt với vấn đề mà một mẫu thiết kế giải quyết và mất một thời gian cố gắng giải quyết nó hoặc các tác dụng phụ của nó để hiểu đầy đủ về mẫu thiết kế đó là về cái gì. Các mẫu thiết kế phải được sử dụng như các phép tái cấu trúc nhỏ theo thời gian khi mã phát triển. Và bạn sẽ biết khi nào cần một mẫu thiết kế khi lợi ích của nó lớn hơn độ phức tạp của mã gây ra bởi việc sử dụng nó. Điều này đòi hỏi kinh nghiệm.
Vì vậy, dứt khoát, hoàn thành công việc, họ học hỏi từ những sai lầm của bạn. Tôi không thể nhấn mạnh thêm: NHẬN NHỮNG ĐIỀU !