Coding Dojo-Nơi các lập trình viên "luyện võ"

Coding Dojo là gì?

Coding Dojo là phiên lập trình của nhóm lập trình viên để cùng nhau vượt một thử thách nào đó trong lập trình. Trong phiên làm việc này, các lập trình viên tham gia vào hoạt động thực hành có chủ ý với những mục tiêu cụ thể để nâng cao trình độ kỹ năng nào đó trong không khí vui vẻ. Các lập trình viên ở các cấp độ kỹ năng khác nhau được mời tham gia thực hành một cách bình đẳng. Mục tiêu là học hỏi, giảng dạy và cải thiện với các nhà phát triển phần mềm đồng nghiệp trong một môi trường không cạnh tranh. Thử thách thường trong khoảng thời gian rất ngắn, các lập trình viên phải vận dụng kĩ năng của mình để giải quyết vấn đề có thể bằng nhiều ngôn ngữ, công cụ khác nhau.

Các nguyên tắc trong Coding Dojo

Nguyên tắc đầu tiên: Một nguyên tắc quan trọng về Coding Dojo là: Tại Dojo (võ đường) bạn không thể thảo luận về một giao diện mà không có mã nguồn, và bạn không thể đưa ra mã nguồn mà không có kiểm thử (test). Coding Dojo được thiết kế như một phòng tập nơi mà “mã nguồn chính là bản thiết kế” và không tồn tại những đoạn mã nguồn mà không được kiểm thử.

Tìm kiếm một chuyên gia: Các chuyên gia không thể là chuyên gia của mọi vấn đề. Tôi cảm thấy khá thoải mái với các hàm đệ quy và xử lý danh sách, v.v.. Nhưng tôi nghĩ tôi không biết cách tạo ra một ứng dụng web đơn giản. May mắn thay, trong khi đây là lần đầu tiên một số học viên ở đây thực sự đối phó với “đệ qui-đuôi”(tail-recursion), nhưng vài người trong số họ đã làm các chuyên gia trong ứng dụng web nhiều năm qua.

Đến dù bạn không có gì của riêng bạn: Tất nhiên, bạn biết cách làm. Bạn biết tại sao mã này tốt hơn mã kia. Vấn đề là làm điều đó ngay bây giờ, giải thích cho chúng tôi và chia sẻ những gì bạn đã học.

Học lại: Để có thể học lại điều gì đó, chúng ta chỉ cần quên nó. Nhưng không dễ để quên khi mà bạn ở một mình. Việc này sẽ dễ hơn khi chúng ta tập trung hoàn toàn vào một người đang cố gắng học nó lần đầu tiên. Chúng ta có thể học hỏi từ những sai lầm khác cũng như từ chúng ta nếu chúng ta lắng nghe cẩn thận.

Chậm lại: Học một cái gì đó nên buộc bạn phải chậm lại. Bạn có thể đi nhanh hơn vì bạn đã học được một số thủ thuật, nhưng bạn không thể học và trau dồi kinh nghiệm cùng lúc. Nó rất tốt, chúng tôi không vội vàng. Chúng tôi có thể làm điều đó trong nhiều năm. Một số người trong chúng ta chắc chắn sẽ làm được. Sẽ như thế nào nếu chúng ta dành bốn tuần cho 1 chủ đề này thay vì bốn chủ đề khác nhau? Chính xác hơn, chúng ta đạt đến phần tiếp theo, vì đã vượt qua phần trước đó, hoặc chỉ vì chúng ta đã lướt qua chúng?

Nhập tâm: Tại một số thời điểm ai đó bắt đầu thành thạo một chủ đề và muốn tiếp cận một chủ đề khác. Những người đó bị đe dọa bởi sự nhàm chán. Đặt mục tiêu khó hơn một chút để lấy lại động lực cho mình.

Hãy hỏi chuyên gia: Nếu điều đó có vẻ khó khăn với bạn, hãy tìm những học viên khác có thể đánh giá mã của bạn và có thể dễ dàng cho bạn thấy cái gì đó mới mẻ cho bạn. Hỏi lại cho đến khi vấn đề hoàn toàn không còn khó khăn với bạn nữa.

Nắm vững một lĩnh vực: Nếu nó có vẻ dễ dàng với bạn, hãy giải thích nó cho những người khác cảm thấy khó khăn. Giải thích lại đến khi họ không còn cảm thấy khó khăn với nó.

Tài liệu tham khảo: http://codingdojo.org/CodingDojoPrinciples/ https://tapchilaptrinh.vn/2012/09/29/coding-dojo-la-gi/