Đi mây về gió

Coding Dojo dễ hay khó?

Bộ mặt thật của Coding Dojo

Lập trình viên dày dạn thì cho rằng coding dojo là trò chơi cho mấy anh lính mới vào nghề, còn những bạn mới thì lại nghĩ rằng ở đây luyện những thứ  cao siêu. Vậy coding dojo thực sự là gì và có dành cho bạn?
Một buổi Coding Dojo

Một buổi Coding Dojo

Sự thực thì coding dojo là một sân chơi cho tất cả mọi người. Trong một coding dojo, tất cả mọi người tham gia vượt qua một thử thách lập trình [1]. Thử thách này thường là những bài rất nhỏ, những đoạn mã rất ngắn mà hầu hết mọi người, kể cả những người mới học lập trình đều có thể viết được. Hãy xem một trong những kata rất hay được dùng là FizzBuzz. Trong kata này chúng ta sẽ viết mã để hiển thị các số tự nhiên từ 1 tới 100 theo quy tắc sau:
  • Nếu số chia hết cho 3 và 5 thì in ra chữ FizzBuzz
  • Nếu số chỉ chia hết cho 3 thì in ra chữ Fizz
  • Nếu số chỉ chia hết cho 5 thì in ra chữ Buzz

Thử thách này thật đơn giản đúng không? Và không chỉ có thế mà bạn có thể không cần phải hoàn thành chúng, vì thử thách chỉ đơn giản là một đối tượng để cho chúng ta thực hành với mã mà thôi. Do đó việc lo sợ mình không làm được là điều không đáng có.

Vậy thì những lập trình viên lâu năm làm gì? Nghe có vẻ đây đúng là nơi dành cho những “tay mơ”? Bạn đừng coi thường việc viết những đoạn mã này! Theo bạn thì đâu là những thứ căn bản nhất của lập trình và thiết kế? Đó có phải là viết mã sạch cho dễ đọc? Và để thực hành điều này thì đâu cần những thứ to tát quá đúng không? Và ở đây chúng ta có rất nhiều quy tắc khác nhau như không dùng if, không dùng lặp, hàm không dài quá ba dòng, v.v sẽ giúp bạn có đủ khó khăn và luyện tập [quy tắc].
Coding Dojo là một loại thực hành có chủ ý, người tham gia vào hoạt động này chú ý tới từng kỹ năng cụ thể của mình. Trong thực hành có chủ ý người ta chia các kỹ năng thành những phần nhỏ và luyện tập, nó khác với thực hành chung chung là chúng ta cứ làm mọi thứ và không quan tâm tới việc cải tiến một thành phần nào đó cụ thể. Đó chính là sự khác biệt giữa một lập trình viên xuất sắc và một lập trình viên giỏi.
Chúng ta chỉ có một vài thử thách ngắn và nhỏ để thực hành, nhưng mỗi người tới coding dojo lại chủ ý để cải tiến một kỹ năng nào đó rất riêng, do đó một lập trình viên dày dạn học những thứ khác từ một “tay mơ”.
Thêm vào đó, cách tốt nhất để chúng ta có thể nhìn nhận lại kiến thức và kỹ năng của mình là phải học lại từ đầu, và làm điều này dễ nhất là học với một người mới.
Vậy thì bạn còn thắc mắc tại sao một lập trình viên dạy dạn kinh nghiệm nên đến coding dojo nữa không? Nếu vẫn còn thắc mắc mời bạn hãy gửi cho chúng tôi hoặc vào nhóm CocoDojo để mọi người cùng thảo luận.
Tác giả:  Phạm Anh Đới

Các bài khác trong mục Đi mây về gió

Lập trình Cặp: chúng ta giúp nhau thành công

Tóm tắt Lập trình Cặp (Pair-Programming) là cách hai lập trình viên cùng làm việc trên chỉ một máy tính, một người lái (driver), một người làm hoa tiêu (navigator), thú vị hơn bạn tưởng tượng nhiều. Việc hoán đổi … read more

Tạp chí Lập trình VOL.2: Tinh giản

Tinh gọn hay tiếng Anh là Lean không thực sự là một khái niệm mới mẻ trên thế giới, nhưng ở Việt Nam người biết không nhiều, người hiểu cũng ít, người thực hành lại càng hiếm. Không rõ Lean … read more

Tạp Chí Lập Trình, Số Xuân Quý Tỵ

Tạp Chí Lập Trình. Vol 1

Thư ngỏ của Ban biên tập Tình trạng thiếu hụt nguồn nhân lực công nghệ thông tin (CNTT) tại Việt Nam trong thời điểm hiện tại và trong những năm tới đã được nhắc đến rất nhiều trong thời gian … read more