# Chuyện đi thi hackathon

Hôm nay nhận ra lâu lắm rồi mình không viết bài nào. Và cũng hơn 2 tháng kể từ khi giành giải nhất Tomochain hackathon. Và cũng cách đây 1 tháng mình nhận tin báo chuẩn bị bay vào Sài Gòn thi tiếp. Rồi sau khi về Hà Nội vài ngày lại quay vào Sài Gòn thi thêm lần nữa.

Mình có ghi lại một số điều sau mỗi cuộc thi, và trong bài viết này sẽ chia sẻ lại 😄

21/7: Tomochain Blockchain Hackathon

Lúc đầu một anh khác được cử đi thi, nhưng sau đổi lại thành mình. Cũng may trước mình có học code smart contract, nhưng gần như chả có chuẩn bị gì mấy cho cuộc thi này. Cách ngày thi 2 hôm mới họp để mình hiểu thi gì, team như nào.

Ngày thi, mưa ngập đường, đi ra đường chỉ sợ xe chết máy >.< Đến lúc bắt đầu thi thấy có team bỏ thi, có team bàn một lúc xong xách balo đi về => mình hơi shock, kiểu wth, khó rồi.

Hai ngày thi, chắc số chai nước, số lon cafe, số bánh mình ăn đủ để công sức mấy tuần trước đó giảm cân bay mất. Code từ trưa tới tầm 4h sáng hôm sau mình đơ, không nghĩ được gì nữa và lăn ra ngủ. Hơn 7h dậy phát hiện bug TT_TT Tất cả mọi cách từ xoá folder build, upload lại lên server đến sửa hẳn file mới, tên mới và build lại,... đều vô dụng. Mình cũng hoảng. May sao, ơn giời, cố vấn xuất hiện và giúp bọn mình tìm ra lỗi do cache javascript. Mình note vào Notes: KIỂM TRA CACHE + KHÔNG CODE TRỰC TIẾP LÊN SERVER. Và cuối cùng thì cũng được ăn trưa, còn 2 cái cánh gà 2 anh em động viên nhau ăn cho đỡ đói.

Những điều mình rút ra được:

  • Nhiều team đi thi để demo sản phẩm họ làm trước là chính 😐 May ban giám khảo công bằng.
  • Có tới 2 team sinh viên và rất máu nữa. Đáng ủng hộ lắm hehe, các anh chị chứ cẩn thận.
  • Bình tĩnh và lật lại vấn đề từng bước một mới dò ra được. Đừng vội chủ quan: lỗi không phải tại tôi. Mình từng nghĩ mình là tội đồ, chán, ngồi một mình hít thở tầm 20' dù về sau lỗi không từ mình, nếu mình mạnh dạn đề nghị kiểm tra đoạn code của người khác thì không đến nỗi phí thời gian thế.
  • Cứ mạnh dạn đi thi thôi 😄 Học được nhiều, mà hóng được kha khá ý tưởng hay.

Và cuối cùng là GRAND PRIZE. Cảm giác sung sướng lắm. Hehe

Grand prize

23/9: Blockchain Hub Hackathon

Chiều mình vừa ngủ dậy thấy cuộc gọi nhỡ. Sau 2 cuộc điện thoại thì xác nhận tin 12h bay vào Sài Gòn thi hackathon tiếp. Hơn 17h nhận tin, 0h bay, cảm giác thật là... Đúng kiểu ra trận không vũ khí. Trên đường ra sân bay team mới bàn ý tưởng, trên máy bay mình với tranh thủ đọc mấy cái note được trong lúc chờ ở sân bay.

Và điều không lường trước là mệt mỏi và chán nản. Vào đến nơi không nghỉ ngơi được nhiều, cả team vác balo đi thi. Cũng khá vất vả mới tới được địa điểm thi, và team mình thấy mỗi team mình ngồi đó. Hoá ra 9h các team mới đến, 18h lại về chứ không thể máu chiến như lần trước được. Và điều duy nhất mình nhớ là những câu chào từ một anh ban tổ chức với team "kia là team cháu anh" "nó giỏi lắm". Mình mất tinh thần luôn từ lúc đó. Chiều tối mới tỉnh lại, may nhờ ông anh cùng team đỡ cho phần nào để đỡ tạ. 18h, lang thang tìm khách sạn, vật vờ đi ăn tối, rồi kéo nhau đi tìm cafe có wifi để code qua đêm vì wifi khách sạn quá kém. Nhưng đến cafe Thức còn không ủng hộ, wifi chậm và bị out liên tục. Cuối cùng lại lang thang về khách sạn, dùng điện thoại phát wifi code tiếp.

Những điều mình cay đắng rút ra được từ lần thi này:

  • Truffle compile khá ngu nên khi tạo contract mới gần giống tên contract cũ thì nó đọc nhầm cái cũ để build. Cũng may trong ethereum meetup anh Victor Vũ có nói tới nên mình nhận ra sau 20' và sửa lại được.
  • Phải check cẩn thận cả script đeploy, check thử tự deploy và param. Giá mà viết bằng typescript thì đã không bị sai cái này :<
  • Code cũ có thể tốt hơn ví dụ mới 😄 Thật, mình thử ví dụ mới và fail lòi. Sau đó chỉnh code cũ theo ý tưởng đó và nó chạy 😐 Do mình đang mất tinh thần nên không đủ tỉnh táo mà debug, nên dùng code cũ và thay đổi nó lại là cách hay và nhanh.
  • Verify contract để đọc trạng thái contract qua etherscan. Nói ra cũng ngại nhưng thật sự trước lần thi này mình không hề verify contract bao giờ.
  • Metamask mới có vài lỗi, thỉnh thoảng nó đơ thì xoá đi cài lại(nhớ export private key ra trước nhé). Còn lỗi gas không như mình chọn thì chỉnh nó về version cũ sẽ được.

Cuối cùng vẫn được giải 3, 5000$ (trả bằng coin 😦 ) và cơ hội đi Sing. Rất tiếc lúc nhận giải mình đã đi chơi để giải toả đầu óc rồi 😄

29/7: Dappathon

Thật sự lần này mình rất mệt mỏi và tinh thần vẫn đang không tốt sau đợt thi đầu tuần. Nhưng thôi đành đi, nốt lần cuối với hi vọng kiếm giải nhì cho đủ bộ. Và ý tưởng được lên từ chiều thứ 6, mình phác hoạ sơ qua một chút, sáng sớm thứ 7 ngồi sân bay code được kha khá(đây là lúc mình code năng suất nhất trong suốt thời gian này luôn).

Lần này nhìn ai cũng có vẻ mệt mỏi hiện rõ, tinh thần cũng không còn tốt nữa. Và rất buồn là ý tưởng của mình bị dẹp bay vào tối hôm thứ 7. Sau đó ý tưởng mới thì lại chả cần code nhiều nên mình thấy mình hơi "thừa".

Và đây là những thứ mình note lại trên đường ra sân bay:

  • Ý tưởng nên thực tế và chứng minh nó chạy được. Một trong những lí do mình nghĩ ban giám khảo gạt thẳng team mình ra khỏi top 6 vì lý do này. Code demo và cái ý tưởng cách nhau quá lớn.
  • Nên chuẩn bị ý tưởng trước khi bắt tay làm, và hãy tôn trọng nhau khi làm việc, nghe nhiều hơn. Đây là nguyên nhân lớn nhất dẫn đến thất bại lần này. Tinh thần rất quan trọng, phải giữ tinh thần và sức khoẻ tốt mới chiến được.
  • "Đi thi hackathon thì phải có code". Một người anh nói với mình thế này. Muốn hiểu theo nghĩa đi thi mang code tham khảo hay đi thi phải code thật sự đều đúng hết. Hehe
  • Đừng chỉ xem, phải hiểu. Vì thiếu hiểu biết và kinh nghiệm về golang nên mình mất cả tiếng với 1 cái bug mà sau tìm ra cách xử lý thì rõ ràng mình đã không đọc kỹ document. Mà cái quả code web chính = php, 1 service xử lý ảnh viết = python, 1 service crypto viết bằng golang làm mình khá loạn. May dẹp 1 service mình định viết = node đi rồi >.<
  • Code ở sân bay rất bay. Wifi có, yên tĩnh có, kiếm góc nào tập trung được là được. Còn có 1 chút áp lực thời gian nữa. Thế là code 20' = cả tiếng buổi chiều của mình.

Đợt vừa rồi lại 1 cái trong Đà Nẵng, may ngó thấy "cháu anh" nên cả team thôi không đi. Và team đó giải nhất thật 😐 Tháng 11, nhờ được giải 3 nên team được đi Sing thi tiếp. Nhưng mình xin sếp cho nghỉ ở nhà, vì sức khoẻ đang thực sự khá tệ. Dù sao sau 3 hackathon mình thấy được trở lại thời sinh viên máu lửa, code xuyên đêm và mơ mộng về sản phẩm. Qua đó cũng nhìn lại bản thân, lấy lại tinh thần, xem mình còn yếu ở đâu để khắc phục. Và cũng có tiền giải thưởng để học thêm tiếng Anh, mua sách (nhưng tiền giải thưởng sẽ về chậm nên không hi vọng nhiều).