Tại sao ở VN lập trình viên mới qua tuổi 36 nhiều người đã không còn lập trình nữa trong khi ở nước ngoài nhiều lập trình viên còn lập trình đến năm 55-60 tuổi. Nhiều mã nguồn mở chất lượng được các lập trình ở tuổi 4x tạo ra.

Sự khác biệt của Dev Tây và Ta có nhiều điểm. Tôi sẽ nói ở một bài khác. Nhưng có một điểm thấy rõ, sức học, và đam mê học hỏi của Dev Ta chỉ bùng nổ trong vòng 5 năm đầu tiên đi làm lập trình viên, sau đó đi ngang rồi xuống dốc thảm hại.

Trong bài này tôi đề xuất một bước để lập trình viên có thể làm chủ một công nghệ sau 100 ngày liên tục học hỏi. Để cuộc sống cân bằng tôi giả định lập trình viên đó chỉ đi làm 5 ngày 1 tuần, thứ 7, CN nghỉ ở nhà, vẫn ngủ đủ 1 ngày 8 tiếng.

  1. Chọn ra 1 quyển sách có ví dụ mẫu trên Github hoặc một khoá học trực tuyến tốt. Cần xem review sách trên Amazon và xem qua mục lục Table Content và cả source code mẫu trên Github.
    Xem quá nhiều sách, quá nhiều khoá học đối khi bạn sẽ phạm phải sai lầm số 1
     
  2. Lập một kế hoạch cho 10 giai đoạn. Mỗi giai đoạn 10 ngày tương đương với 2 tuần. 20 ngày tương đương 1 tháng. Như vậy 100 ngày tương đương 5 tháng. Nếu bạn biết tận dụng cả thứ 7 và CN, thì dự án học 100 ngày sẽ rút xuống còn 3.5 - 4 tháng.
    Dùng công cụ mind map để vẽ ra, còn lộ trình học hãy lấy từ quyển sách.
    Nếu bạn không thể hình dung được mình sẽ làm gì ở sau ngày thứ 10, vì công nghệ quá mới, thì cứ bắt đầu đi, chúng ta sẽ điều chỉnh dần kế hoạch.
     
  3. Mỗi ngày dành ra 3 tiếng để học công nghệ mới. Thời gian chia như sau: 20 phút đọc sách, xem video. Sau đó code theo, không cần cải tiến vội, cứ code theo và debug từng dòng một. Việc này sẽ mất khoảng 30 phút. Nếu sách đã có code sẵn thì tải về cho nhanh. Sau đó tự code theo cách bạn muốn cải tiến, xem thêm bước 4. Thời gian còn lại viết blog, xem bước 6.
    Nếu bạn không thể tập trung học được:
    + Hãy bán Tivi !
    + Hãy tắt Facebook, nhưng đừng chặn trang techmaster.vn là được !
    + Mang laptop vào một góc Coworking thử xem sao.
     
  4. Tạo Git repo kiểu như LearnXYZ100Days đẩy lên github. Nhớ viết ReadMe.md cẩn thận để có sau này còn biết repo nào, cho mục đích gì. Chia thư mục ra như sau
    00SomeThing
    01SomeThingMore
    02AndMore
    ..
    99TheLastDayILearnXYZ
    Trong mỗi thư mục tương đương một ngày học lại viết một file ReadMe.md mô tả code bạn viết.
     
  5. Viết blog trên Medium hoặc đâu đó để chia sẻ lại kinh nghiệm.
    Trình bạn lùn, nhưng không có nghĩa bạn không được phép chia sẻ vì còn nhiều người còn chưa biết gì. Nếu bạn viết lách chưa giỏi hãy áp dụng mẫu tập làm văn sau đây:
    + Viết khoảng 3 -5 câu giới thiệu để trả lời các câu hỏi What, Why, Who, When, How, Where
    + Thân bài thì chia bước từ dễ đến khó để mọi người làm theo được. Chèn code ví dụ mẫu từng bước.
    + Nếu có thời gian thì vẽ diagram sử dụng LucidChart hoặc bất kỳ tool nào

    Hãy viết blog vì niềm vui. Và khi bạn đăng một bài viết hay sẽ có nhiều người cảm ơn, góp ý. Đây là động lực để bạn tiếp tục học tiếp, code tiếp và đăng bài tiếp.
  6. Làm một project nhỏ
    Để bắt đầu làm một dự án nhỏ, đối với nhiều người cần một sự dũng cảm lớn. Đặc biệt là với lập trình đang lập trình dự án gia công, đề bài có sẵn, thiết kế rõ ràng, thì làm một dự án nhỏ từ đâu đôi khi rất ngại. Chả biết bắt đầu từ đâu thì hãy bắt đầu với ToDoList, kiểu như thế này http://todomvc.com/ hay https://github.com/gothinkster/realworld
     
  7. Dạy học là cách tốt nhất để học
    Đối với những lập trình viên có kinh nghiệm. Khi học một công nghệ mới, cách hiệu quả nhất là đi dạy lớp về công nghệ đó. Việc đứng trước lớp sẽ tạo một áp lực cực kỳ lớp khiến chúng ta không thể mất tập trung hay lơ là. Đến ngày đến giờ phải nắm vững một kỹ thuật để dạy. Làm slide hay code mã nguồn mẫu, chính giảng viên lại là người học được nhiều nhất.
    Techmaster đang tuyển giảng viên đây nhé. Nếu thích hãy tham gia đội của chúng tôi.