Học lập trình mất bao lâu?
Thật ra thì rất khó để có thể xác định chính xác được học lập trình mất bao lâu, bởi vì chúng ta không thể nào “học xong” một ngôn ngữ lập trình được, học xong nhưng xong ở level nào nữa. Lập trình là một kỹ năng, mà kỹ năng thì phải thực sự rèn luyện mỗi ngày, trong một khoảng thời gian dài, chứ không phải đọc xong một cuốn sách hay xem xong một cái video dạy lập trình mà thành thạo được.
Cũng giống như một cầu thủ bóng đá, sẽ phải tập tâng bóng, chuyền bóng, sút bóng… và anh ta phải luyện tập những kỹ năng kể trên hàng triệu lần trước khi ra thi đấu chính thức.
Mình không hề phủ nhận lợi ích của những khóa học ngắn hạn, mình chỉ muốn nói rằng để học được thì chúng ta sẽ tốn nhiều thời gian hơn mà thôi. Đôi khi gặp lỗi tìm cả ngày, hoặc cài đặt môi trường, máy móc để nó chạy được hello world cũng đã mất mẹ nó nửa buổi rồi.
Chặng đường học lập trình sẽ diễn biến một cách từ từ, ban đầu bạn sẽ bắt chước một ai đó, lặp đi lặp lại, gặp lỗi, tìm cách sửa lỗi, mở rộng dần ra, phát triển và sáng tạo dần theo cách riêng của từng người, rồi tổng hợp chúng lại ở mức độ thuần thục tăng dần lên.
Các nhà nghiên cứu đã xác định rằng một người mất khoảng 10.000 giờ, tức là khoảng 10 năm để trở nên vĩ đại ở một lĩnh vực nào đó, từ chơi cờ, soạn nhạc, hội họa, chơi đàn dương cầm, bơi lội cho đến nghiên cứu vật lý lượng tử. Và thực tế thì việc học lập trình là một kỹ năng, nên cũng không nằm ngoài quy luật đó.
Ôi lâu thế? Đời người được mấy cái mười năm?
Tất nhiên chúng ta không cần phải học 10 năm rồi mới đi làm lập trình, 10 năm là con số lý tưởng để trở nên vĩ đại, chúng ta đặt một mục tiêu ngắn hạn hơn đó là “có thể đi làm được” đã. Rồi trong quá trình làm việc, chúng ta sẽ còn tự học và nâng cao trình độ dần lên sau.
Chúng ta có thể rút ngắn thời gian học lập trình xuống rất nhiều bằng cách xác định một lộ trình rõ ràng cho mình. Có nghĩa là bạn phải nắm đc con đường mình sẽ đi, trên con đường đó phải học những cái gì? học cái gì trước cái gì sau? Điều này thực sự quan trọng, nó giúp bạn biết sẽ gặp những khó khăn gì để mà tránh, đỡ mất thời gian hơn. Thế thì lộ trình lấy ở đâu? Điều này bạn có thể được trợ giúp, định hướng từ một người mentor đã từng đi trước.
Thứ hai đó là phải thực hành thật nhiều. Cách tốt nhất để học bất cứ thứ gì là chúng ta dự định làm ra cái gì đó cụ thể, để rồi trong quá trình làm ra sản phẩm chúng ta nhận ra những thứ chúng ta còn mơ hồ và lấn cấn, sau đó thì chỉ việc tìm hiểu rộng dần ra. Như đã nói ở trên, lập trình là một kỹ năng, mà kỹ năng thì phải thực sự rèn luyện. Đơn giản là code nhiều sẽ giỏi lên mà thôi.