Rất hiếm khi có ai đó bỏ cuộc ngay ngày đầu tiên của thử thách 100 ngày học code.
Ngày đầu tiên luôn là phần thú vị nhất. Bạn viết vài dòng code, cảm thấy mình như một thiên tài, rồi đăng một dòng trạng thái kiểu như "ngày 1 của #100DaysOfCode đã xong, vừa viết xong hàm (function) đầu tiên!"
Ngày thứ hai cảm giác vẫn rất tuyệt.
Khó khăn chỉ thực sự bắt đầu sau đó. Khoảng tuần thứ ba, sự hào hứng ban đầu sẽ nhạt dần. Những dòng code bạn viết tuần trước giờ nhìn lại chẳng hiểu gì, và hành trình 100 ngày bỗng nhiên trở nên dài dằng dặc.
Chẳng ai cho bạn thấy giai đoạn giữa chừng đó cả. Trên mạng xã hội, bạn chỉ thấy những khoảnh khắc rực rỡ: ảnh chụp màn hình streak, những bài đăng đầy năng lượng, hay những người tìm được việc làm trước khi kết thúc ba tháng. Bạn sẽ không thấy được giai đoạn giữa đầy hỗn độn, nơi một số người bỏ cuộc và số khác tìm thấy động lực để tiếp tục bước đi.
Vì vậy, hãy cùng điểm qua thử thách 100 ngày học code cùng Coddy sẽ diễn ra như thế nào, qua từng ngày, từng cung bậc cảm xúc, trước khi bạn chính thức bắt đầu ngày đầu tiên.

Thử thách 100 ngày học code là gì?
Ngay từ cái tên đã nói lên tất cả: viết code liên tục mỗi ngày trong suốt 100 ngày! Chỉ đơn giản vậy thôi, không được bỏ sót ngày nào.
Thử thách này trở nên phổ biến vì nó giải quyết một vấn đề thực tế. Nhiều người thất bại khi học lập trình không phải vì kiến thức quá khó, mà vì họ chưa bao giờ xây dựng được thói quen duy trì đều đặn hằng ngày.
Thử thách 100 ngày giúp bạn rèn luyện thói quen đó bằng cách biến chính chuỗi streak thành mục tiêu, ít nhất là trong giai đoạn đầu.
Một số nguyên tắc cơ bản mà mọi người thường áp dụng:
- Dành ra một khoảng thời gian nhất định để viết code mỗi ngày, dù chỉ là 10 hay 15 phút (thậm chí 5 phút cũng được tính!)
- Chia sẻ tiến độ của bạn ở đâu đó: mạng xã hội, blog cá nhân hoặc một cuốn nhật ký riêng
- Chọn một ngôn ngữ lập trình hoặc một dự án và kiên trì với nó đủ lâu để thấy được sự tiến bộ
- Nếu lỡ mất một ngày, bạn có thể bắt đầu lại từ ngày 1 hoặc ghi nhận lại rồi tiếp tục hành trình, tùy thuộc vào phiên bản thử thách bạn chọn
Bạn có nhận ra không một nguyên tắc nào đề cập đến việc bạn phải học bao nhiêu trong một ngày không? Đó hoàn toàn là chủ ý. Thử thách này không nhằm mục đích giúp bạn thành thạo một ngôn ngữ trong 100 ngày, mà là để chứng minh cho bản thân thấy rằng bạn có thể bắt đầu ngay cả khi không có chút hứng thú nào.
Coddy tự động ghi nhận tiến độ hằng ngày của bạn, giúp bạn luôn biết chính xác mình đang ở đâu.
Cách thức hoạt động trên Coddy
Đây chính là lúc yếu tố cùng Coddy phát huy tác dụng. Bạn không cần phải thiết lập trình soạn thảo code, cài đặt bất kỳ phần mềm nào, hay loay hoay tìm nơi để viết dòng code đầu tiên. Bạn chỉ cần mở Coddy, truy cập mục Challenges và đưa ra hai lựa chọn.
Đầu tiên là ngôn ngữ. Hiện tại, bạn có thể chọn giữa Python, JavaScript, C++, Java hoặc C# (đừng lo lắng, chúng tôi sẽ sớm cập nhật thêm nhiều ngôn ngữ khác!). Nếu chưa biết chọn gì? Hãy cứ chọn bất kỳ ngôn ngữ nào bạn thấy thú vị và bắt đầu. Bạn luôn có thể thay đổi sau này.
Thứ hai là độ khó: dễ (easy), trung bình (medium) hoặc khó (hard). Trong ngày đầu tiên, chọn mức dễ là quyết định sáng suốt nhất, dù bạn có muốn chứng tỏ bản thân đến mức nào đi nữa.

Đó là tất cả những gì bạn cần làm để bắt đầu thử thách. Chỉ với hai lựa chọn là bạn đã có thể bắt đầu viết code. Điều này quan trọng hơn bạn nghĩ rất nhiều đối với một hành trình 100 ngày! Mỗi bước rườm rà phát sinh giữa bạn và thử thách của ngày hôm nay sẽ là một lý do để bạn trì hoãn, và trì hoãn chính là kẻ thù giết chết các chuỗi streak.
Các giai đoạn của thử thách
Nếu trò chuyện với đủ số người đã hoàn thành (hoặc từng thử sức với) thử thách này, bạn sẽ nhận ra một quy luật chung. Hành trình này hầu như không bao giờ là một đường thẳng đi lên đều đặn, mà giống như một chuyến tàu lượn siêu tốc với những khúc cua và dốc xuống có thể dự đoán trước.
Từ ngày 1 đến ngày 10: Giai đoạn trăng mật
Mọi thứ đều mới mẻ và đầy hứng khởi. Bạn học cú pháp, xây dựng các dự án nhỏ, và mỗi thành công nhỏ đều mang lại niềm vui. Đây là khoảng thời gian dễ dàng nhất của thử thách, chủ yếu vì sự mới lạ luôn giữ cho bạn tràn đầy năng lượng.
Từ ngày 11 đến ngày 30: Đối mặt với thực tế
Sự hào hứng bắt đầu nhạt dần, hoặc ít nhất là giảm đi một chút. Các khái niệm trở nên khó hơn. Bạn bắt đầu so sánh bản thân với những người trên mạng, những người dường như đang tiến bộ nhanh hơn, làm được những dự án xịn hơn và hiểu mọi thứ ngay lập tức (thực ra có thể họ không như vậy đâu, nhưng bạn lại có cảm giác thế). Đây chính là giai đoạn mà rất nhiều người bỏ cuộc.
Từ ngày 31 đến ngày 70: Chuyển đổi nhận thức
Nếu bạn vượt qua được giai đoạn đối mặt với thực tế, một điều thú vị sẽ xảy ra. Việc viết code không còn là một nhiệm vụ bắt buộc bạn phải gượng ép bản thân thực hiện nữa, mà trở thành một thói quen tự nhiên hằng ngày. Tiến độ có thể vẫn chậm, nhưng thói quen hằng ngày không còn làm bạn cảm thấy mệt mỏi nữa.
Từ ngày 71 đến ngày 100: Xây dựng sự tự tin
Đến thời điểm này, khi nhìn lại những dòng code của ngày đầu tiên, bạn có thể sẽ không nhận ra đó là do chính mình viết. Chặng đường cuối cùng thường không tập trung vào việc học những kiến thức hoàn toàn mới, mà là áp dụng những gì bạn đã biết vào các bài toán lớn hơn. Đây cũng là lúc mọi người bắt đầu tự xây dựng các dự án thực tế thay vì chỉ làm theo các bài hướng dẫn (tutorial).
Một ngày bình thường sẽ diễn ra thế nào?
Nhiều người tưởng tượng 100 ngày học code nghĩa là phải dành hàng giờ tập trung cao độ mỗi ngày. Thực tế, cách làm đó sẽ nhanh chóng khiến bạn kiệt sức (burnout) chỉ sau một hoặc hai tuần.
Thay vào đó, hãy xem một lịch trình bền vững sẽ như thế nào:
- Có những ngày: Dành 10 đến 15 phút để giải quyết một thử thách nhỏ hoặc ôn lại một khái niệm
- Những ngày khác: Dành 45 phút đến một tiếng để xây dựng một dự án lớn hơn
- Những ngày nghỉ "ngụy trang": Đọc tài liệu hướng dẫn (documentation), xem một video ngắn hoặc xem lại code cũ mà không cần viết thêm gì mới
Tài liệu có thể chạy thử luôn tốt hơn tài liệu chỉ để đọc. Đọc tài liệu hướng dẫn là một lựa chọn tuyệt vời cho những ngày nghỉ ngơi. Nhưng bạn sẽ hiểu một khái niệm nhanh hơn nhiều khi có thể chạy thử ví dụ và thay đổi nó. Đó chính là ý tưởng đằng sau tài liệu hướng dẫn có thể chạy trực tiếp.
Ý cuối cùng cực kỳ quan trọng. Không phải ngày nào bạn cũng cần phải gõ những dòng code mới. Việc ôn lại những gì đã học, sửa một lỗi (bug) cũ hay đọc code của người khác vẫn được tính là bạn đã tham gia! Những hành động nhỏ, lặp đi lặp lại chính là những thói quen hằng ngày giúp bạn trở thành một lập trình viên giỏi hơn.
Tại sao mọi người thường bỏ cuộc vào khoảng tuần thứ ba?
Nếu thử thách chỉ đơn giản là duy trì sự hiện diện mỗi ngày, tại sao một việc dễ dàng như vậy lại khiến nhiều người bỏ cuộc đến thế?
Câu trả lời thường nằm ở một trong những lý do sau:
- Họ đặt mục tiêu hằng ngày quá cao (dành hai tiếng mỗi ngày nghe thì rất hay cho đến khi cuộc sống bận rộn cuốn bạn đi)
- Họ chọn một dự án hoặc ngôn ngữ mà bản thân không thực sự hứng thú, chỉ vì nó đang là xu hướng
- Họ không có cách nào để theo dõi tiến độ, dẫn đến cảm giác như mình không tiến bộ chút nào dù thực tế không phải vậy
- Họ lỡ mất một ngày, cảm thấy mình thất bại và quyết định bỏ cuộc luôn thay vì tiếp tục
Không có lý do nào ở trên liên quan đến trí thông minh hay tài năng cả. Tất cả là do cách bạn chuẩn bị. Thử thách này khó không phải vì lập trình khó, mà vì việc xây dựng thói quen rất khó, và nhiều người bắt đầu mà không có kế hoạch cho những ngày mệt mỏi, thiếu động lực.
Coddy gửi các thông báo nhắc nhở hằng ngày và các thử thách nhỏ gọn, giúp việc bỏ lỡ một ngày trở nên khó khăn hơn là việc tham gia.
Làm thế nào để đi đến ngày thứ 100
Nếu bạn muốn tăng cơ hội hoàn thành thử thách, một vài điều chỉnh nhỏ sau đây sẽ mang lại hiệu quả lớn hơn nhiều so với việc chỉ dựa vào ý chí.
1. Đặt ra một mục tiêu tối thiểu cực kỳ nhỏ. Thay vì tự hứa sẽ học một tiếng mỗi ngày, hãy hứa với bản thân chỉ cần dành ra mười phút. Vào những ngày tâm trạng tốt, bạn thậm chí sẽ làm được nhiều hơn thế. Vào những ngày tồi tệ, mười phút vẫn là một chiến thắng, và chiến thắng đó sẽ giúp bạn duy trì chuỗi streak!
2. Chọn thứ gì đó khiến bạn cảm thấy hào hứng. Nếu bạn ghét dự án mình đã chọn, ngày thứ 30 sẽ không khác gì một cực hình. Hãy chọn một ngôn ngữ hoặc một ý tưởng dự án khiến bạn tò mò muốn mở máy tính lên, ngay cả khi đang mệt mỏi.
3. Theo dõi tiến độ ở nơi dễ thấy. Một bộ đếm streak, một cuốn lịch treo tường để bạn gạch chéo mỗi ngày, một bài đăng công khai, bất cứ thứ gì có thể biến sự tiến bộ vô hình thành thứ bạn có thể nhìn thấy được.
4. Lên kế hoạch cho những ngày bị lỡ trước khi chúng xảy ra. Hãy quyết định ngay từ bây giờ bạn sẽ làm gì nếu lỡ mất một ngày. Bạn sẽ bắt đầu lại từ đầu? Hay bạn sẽ tiếp tục và ghi chú lại khoảng trống đó? Việc quyết định trước giúp bạn không rơi vào cái bẫy bỏ cuộc ngay khi cuộc sống trở nên bận rộn (vì chắc chắn sẽ có lúc như vậy).
5. Tìm kiếm sự ràng buộc trách nhiệm. Đó có thể là một người bạn cùng tham gia thử thách, một cộng đồng trực tuyến hoặc một ứng dụng nhắc nhở khi bạn im hơi lặng tiếng. Chúng ta thường có tính kỷ luật cao hơn nhiều khi biết có ai đó hoặc thứ gì đó đang dõi theo.
Những thay đổi khi bạn chạm mốc ngày 100
Mọi người thường mong đợi ngày thứ 100 sẽ giống như một vạch đích rực rỡ với pháo hoa chào mừng. Nhưng thực tế, cảm giác lại hơi khác một chút, và tuyệt vời hơn thế nhiều.
Đến ngày thứ 100, nhiều người nhận ra rằng:
- Việc đọc code không còn giống như đang giải mã một ngôn ngữ xa lạ nữa, mà thực sự giống như đang đọc một cuốn sách bình thường
- Những lỗi nhỏ từng khiến bạn hoảng loạn giờ đây chỉ giống như những câu đố bình thường có thể giải quyết được
- Họ đã tự tay xây dựng được hai hoặc ba dự án nhỏ thay vì chỉ làm theo hàng tá bài hướng dẫn dang dở
- Ý tưởng viết code hằng ngày không còn là một thử thách nữa, mà đã trở thành một phần công việc tự nhiên của họ
Hành trình 100 ngày chưa bao giờ chỉ xoay quanh những dòng code, mà là để chứng minh rằng sự kiên trì, dù chỉ với những bước đi nhỏ, luôn chiến thắng sự nỗ lực dồn dập nhưng ngắn hạn. Một khi bạn tự mình trải nghiệm và nhận ra điều đó thay vì chỉ nghe từ người khác, bài học đó sẽ ở lại với bạn mãi mãi.
Bạn nên xây dựng những gì trong 100 ngày?
Trong phần lớn thời gian của thử thách, bạn có thể không cần xây dựng một dự án hoàn chỉnh nào cả, và điều đó hoàn toàn bình thường. Trên Coddy, các thử thách hằng ngày chính là bài tập của bạn. Hãy chọn ngôn ngữ, chọn độ khó, giải quyết những gì hiển thị trước mắt và để điều đó dẫn dắt bạn qua những tuần đầu tiên.
Tuy nhiên, đến một thời điểm nào đó ở giai đoạn giữa, khi các kiến thức cơ bản đã vững vàng hơn, nhiều người sẽ bắt đầu nhen nhóm ý định tự tay làm một cái gì đó của riêng mình.
Khi mong muốn đó xuất hiện, thay vì dành hàng giờ lướt tìm các ý tưởng dự án, hãy tự hỏi bản thân một câu hỏi thực tế hơn: có công cụ nhỏ nào bạn ước gì nó đã tồn tại, hoặc có thứ gì bạn hơi tò mò về cách hoạt động của nó không?
Một vài hướng đi rất phù hợp cho hành trình 100 ngày:
- Một công cụ nhỏ giải quyết một vấn đề phiền toái trong cuộc sống của chính bạn, chẳng hạn như ứng dụng theo dõi chi tiêu hoặc nhật ký thói quen
- Một trò chơi đơn giản, thậm chí cơ bản như cờ ca-rô (tic-tac-toe), vì trò chơi sẽ buộc bạn phải tư duy logic và thiết lập các quy luật
- Tái tạo một phần nhỏ của một trang web hoặc ứng dụng bạn đang sử dụng, chỉ để xem cách nó hoạt động bên dưới hệ thống
- Một chuỗi các thử thách nhỏ không liên quan đến nhau, nếu việc cam kết thực hiện một dự án lớn khiến bạn cảm thấy e ngại trong giai đoạn đầu này
Nếu bạn cần một danh sách đầy đủ, hãy bắt đầu với các ý tưởng được thiết kế riêng cho ngôn ngữ của bạn. Những ai học Python có thể khám phá 13 dự án Python dễ dàng giúp bạn tự tin hơn trong quá trình học. Nếu bạn chọn JavaScript, những dự án JavaScript cho người mới bắt đầu này sẽ giúp bạn bắt tay vào thực hành ngay từ ngày đầu tiên.
Không có dự án nào trong số này cần phải quá hoành tráng. Điểm mấu chốt là chọn một thứ đủ cụ thể để bạn không phải ngồi nhìn chằm chằm vào một tệp tin trống rỗng và tự hỏi phải bắt đầu từ đâu. Việc thay đổi dự án giữa chừng cũng hoàn toàn bình thường. Bạn có thể bắt đầu với một ý tưởng, sau vài tuần cảm thấy nó đã quá dễ dàng, và chuyển sang một dự án tham vọng hơn khi kỹ năng của bạn đã tiến bộ.
Bạn có cần phải học điều gì đó mới mẻ mỗi ngày không?
Không, và việc kỳ vọng bản thân phải làm được điều đó là con đường ngắn nhất dẫn đến kiệt sức.
Sẽ có những ngày bạn học một kiến thức hoàn toàn mới, như một khái niệm bạn chưa từng nghe qua. Những ngày khác sẽ là luyện tập những gì bạn đã biết, cho đến khi nó trở thành một phản xạ tự nhiên.
Cả hai đều có giá trị như nhau. Những ngày lặp đi lặp lại, những ngày có vẻ nhàm chán vì bạn đang củng cố một kiến thức quen thuộc, thường giúp ích cho trí nhớ dài hạn của bạn nhiều hơn là những ngày hào hứng khi mọi thứ đều mới mẻ. Sự lặp lại đó hiện nay lại càng quan trọng hơn bao giờ hết. Khi AI có thể tạo ra code chạy được chỉ trong vài giây, việc bạn tự tay thực hành mới là thứ biến câu trả lời của người khác thành kỹ năng thực sự của riêng bạn.
Nếu bạn đang tự nhẩm tính xem hôm nay mình đã tiếp thu được bao nhiêu kiến thức mới, hãy thử gạt bỏ suy nghĩ đó đi. Hoàn toàn gạt bỏ nó. Câu hỏi duy nhất bạn cần tự hỏi mình mỗi ngày là: hôm nay mình đã tham gia chưa?
Bạn có nên tham gia thử thách này không?
Một câu hỏi khác cũng rất đáng để bạn tự hỏi: mình thực sự cần một thử thách 100 ngày hay một hệ thống giúp mình duy trì việc học hằng ngày mà không bị áp lực bởi việc đếm ngược thời gian?
Cả hai cách đều đúng. Một số người phát triển tốt nhờ vào cấu trúc rõ ràng và sự ràng buộc trách nhiệm trước công chúng của một thử thách được xác định trước. Những người khác lại làm tốt hơn với một thói quen liên tục không có vạch đích, để không phải chịu áp lực khi ngày thứ 100 trôi qua và cuộc sống vẫn tiếp diễn.
Nếu bạn thích ý tưởng về các chuỗi streak, những lời nhắc nhở hằng ngày và các thử thách ngắn mà không cần phải công bố bất cứ điều gì lên mạng xã hội, thì đó cũng là một cách rất hợp lý để xây dựng thói quen tương tự.
Con số 100 không phải là một con số ma thuật; nó chỉ là một con số tròn trịa, vừa đủ dài để hình thành một thói quen và vừa đủ ngắn để bạn cảm thấy có thể đạt được!
Coddy biến việc thực hành lập trình hằng ngày thành các thử thách ngắn, thân thiện với streak mà bạn hoàn toàn có thể tự kiểm soát.
Lời kết
Thử thách 100 ngày học code thực chất không phải chỉ xoay quanh việc viết code. Đó là một cuộc thử nghiệm xây dựng thói quen, nhưng được thể hiện dưới dạng một dự án lập trình.
Cú pháp bạn học được trên hành trình này rất quan trọng, nhưng chiến thắng thực sự là chứng minh cho bản thân thấy rằng bạn có thể duy trì sự đều đặn mỗi ngày.
Hãy chuẩn bị tinh thần cho một giai đoạn khó khăn vào khoảng ngày thứ 20. Hãy đón nhận sự thay đổi ở giai đoạn giữa khi việc viết code không còn mang lại cảm giác gượng ép. Và hãy chờ đón ngày thứ 100, khi nó không còn giống như một điểm kết thúc, mà là khoảnh khắc bạn nhận ra mình không cần đến thử thách này nữa, bởi vì thói quen đã tự hình thành mất rồi.
Vì vậy, nếu bạn đang cân nhắc việc bắt đầu, đừng chờ đợi một ý tưởng dự án hoàn hảo hay một ngày thứ Hai lý tưởng nào cả. Hãy chọn một thứ nhỏ bé, mở máy tính lên ngay hôm nay và bắt đầu thôi.
Share this article
About the Author
Jana Simeonovska
Content Strategist & Writer
Frequently Asked Questions
Tôi có bắt buộc phải đăng bài về thử thách này lên mạng không?
Không! Việc đăng bài giúp một số người có trách nhiệm hơn, nhưng đó không phải là quy định bắt buộc. Một nhật ký cá nhân, một cuốn lịch để bạn đánh dấu chéo, hoặc trình đếm streak tích hợp sẵn của Coddy cũng có thể mang lại hiệu quả tương tự. Hãy chọn bất kỳ cách nào giúp bạn duy trì thói quen tham gia.
Điều gì sẽ xảy ra nếu tôi bỏ lỡ một ngày?
Điều này tùy thuộc vào phiên bản thử thách mà bạn đang theo đuổi. Một số người sẽ bắt đầu lại từ ngày 1, những người khác lại ghi nhận ngày bị bỏ lỡ rồi tiếp tục hành trình. Không có cách nào là sai cả. Bí quyết là hãy tự đặt ra quy tắc cho mình trước khi tình huống đó xảy ra, để một ngày bỏ lỡ không kéo theo việc bỏ cuộc hoàn toàn.
Tôi nên chọn ngôn ngữ lập trình nào?
Hiện tại trên Coddy, bạn có thể bắt đầu với Python, JavaScript, C++, Java hoặc C#. Bạn vẫn chưa chắc chắn? Hãy chọn bất kỳ ngôn ngữ nào bạn thấy thú vị! Bạn có thể thay đổi sau đó, vì vậy lựa chọn đầu tiên này không phải là cố định.
Thử thách lập trình 100 ngày có phù hợp với người mới bắt đầu hoàn toàn không?
Có. Thử thách này được thiết kế dành cho những ai gặp khó khăn trong việc duy trì tính nhất quán, chứ không phải dành cho các lập trình viên nâng cao. Hãy bắt đầu ở chế độ dễ, dành ra 10 phút mỗi ngày và để thói quen dần hình thành. Hãy nhớ rằng, mục tiêu là sự hiện diện của bạn!
Tôi cần dành ra bao nhiêu thời gian mỗi ngày?
Chỉ cần từ 10 đến 15 phút vào một ngày bận rộn. Sẽ có những ngày bạn dành nhiều thời gian hơn vì đang xây dựng một thứ gì đó, nhưng cũng có những ngày bạn chỉ cần giải quyết một thử thách nhỏ rồi thoát ra. Đặt ra một mức tối thiểu thấp mỗi ngày chính là chìa khóa để duy trì streak của bạn.
Tôi có cần cài đặt gì để bắt đầu không?
Không. Coddy hoạt động ngay trên trình duyệt của bạn với một trình soạn thảo mã nguồn (code editor) đã được tích hợp sẵn. Bạn chỉ cần mở trang Challenges, chọn một ngôn ngữ và độ khó, rồi bắt đầu lập trình. Không cần thiết lập, không cần tải xuống.
Tôi có thể đổi ngôn ngữ hoặc dự án giữa chừng không?
Có chứ. Rất nhiều người bắt đầu với một ý tưởng, sau đó vượt qua giới hạn của nó và chuyển sang một thứ gì đó lớn hơn khi kỹ năng của họ tiến bộ. Việc thay đổi không phải là gian lận. Đó là dấu hiệu cho thấy bạn đang phát triển, miễn là bạn vẫn tiếp tục duy trì thói quen tham gia.


