Tất cả lập trình viên đều tự học

9766-still-learning

Có rất nhiều cách để trở thành một lập trình viên mà không cần đến bằng cấp về khoa học máy tính (computer science). Nếu bạn đi theo con đường tự học, rất nhiều khi bạn sẽ phải tự hỏi  làm thế nào để theo kịp những người có bằng cấp, những người đã dành nhiều năm trên giảng đường và được đào tạo về lập trình và máy tính.

Trên thực tế, tôi nhận thấy rằng sự cạnh tranh này không hề tồn tại. Điều quan trọng là bạn có thể làm được gì với những kỹ năng mình có. Không có con đường duy nhất để trở thành một lập trình viên. Trên thực tế, chẳng có mấy ai trở thành một web developer hay ios developer từ trường lớp cả.

Những ngừoi làm việc trong lĩnh vực công nghệ này phần lớn đều tự học và cải thiện kỹ năng của mình trong quá trình làm việc. Tôi đăng ký vào rất nhiều lớp liên quan đến máy tính trong quá trình học đại học, nhưng rất ít trong số này giảng dạy chuyên sâu về lập trình web. Ngay cả khi có thì thường giáo trình cũng đã quá lỗi thời bởi công nghệ hiện nay biến đổi từng ngày.

Đọc  đến đây, có thể bạn sẽ tự hỏi nếu những kỹ năng chuyên sâu như lập trình web và mobile không thể học được trên giảng đường thì việc theo đuổi bằng cấp có ý nghĩa gì? Vai trò của việc theo đuổi giáo trình đại học nó sẽ giúp bạn trở thành một generalist – với nền tảng kiển thức rộng về khoa học máy tính. Bạn sẽ phải làm quen với khái niệm như database, thuật toán, networking, design pattern, những điều sẽ không thể có được nếu như bạn chỉ tập trung chuyên sâu vào một khoá học ngắn hạn về một ngôn ngữ lập trình.

Mục tiêu của bạn không phải là trở thành chuyên gia trong tất cả những mảng kiến thức này. Bạn chỉ cần biết rằng chúng tồn tại và áp dụng vào công việc thực tế. Tất cả những kiến thức bạn học được sẽ đóng vài trò như là một bộ công cụ giúp bạn sẵn sàng sử dụng khi cần đến. Những kỹ năng này chỉ là điểm khởi đầu để cho bạn có thể đào sâu hơn khi bắt tay vào công việc.

Nếu bạn không có những kiến thức này khi ngồi trên ghế nhà trường, bạn có thể tự học thông qua sách vở, tài liệu. Không có sự khác biệt giữa kiến thức trong trường học và trong sách vở, chỉ có điều lộ trình học trên ghế nhà trường đã được tối ưu, đỡ mất thời gian mò mẫm.

Những kiến thức này sẽ stick khi bạn bắt đầu sử dụng chúng để ứng dụng vào công việc thực tế. Bạn sẽ dần nhận thấy mình trở thành chuyên gia trong một số lĩnh vực mà mình quan tâm.

Những gì bạn học được trên trường lớp thực chất là chưa hoàn thiện. Bạn sẽ phải làm việc với từng dự án nhỏ để hiểu được các khái niêm đã gặp trên sách vở. Trong thực tế, công việc chưa dừng lại khi bạn đưa ra sản phẩm đầu tiên. Bạn sẽ phải học kỹ năng bào trì, fix bug, phát triển phẩn mềm trong cả team khi mà mỗi người lại có một chuyên môn khác nhau.

Điều quan trọng nhất là bạn phải duy trì được thói quen tự học mỗi ngày!