Mỗi năm, nhân viên Hello Heart từ khắp nơi trên thế giới lại về với nhau để xem xét lại năm vừa qua và lên kế hoạch cho các mục tiêu và lộ trình trong năm tới.
Năm nay chúng tôi quyết định thử một cái gì đó mới và để mỗi bộ phận dành cả một ngày cho một workshop tiến bộ kỹ năng.
R&D của chúng tôi là một nhóm đa dạng cả từ văn hóa đến chuyên môn. Làm thế nào chúng tôi có thể tìm thấy một cách làm có lợi cho tất cả mọi người bây giờ?
Chúng tôi quyết định lập ra trước tiên một danh sách các mục tiêu – những gì chúng tôi muốn đạt được sau workshop quan trọng này.
  1. Cổ súy làm việc nhóm – là một công ty khởi nghiệp đang lớn nhanh, mỗi kỹ sư đều có việc của mình. Chúng tôi không bỏ thời gian để đảo qua và làm việc cùng nhau.
  2. Giải quyết vấn đề theo những cách làm mới – chúng tôi là những kỹ sư hàng đầu, nhưng hệ quả là, khi gặp một vấn đề, chúng tôi đều sa vào vào những cách giải quyết vấn đề đã biết thay vì khám phá ra những hướng đi mới.
  3. Tiến bước – chúng tôi muốn trở thành người giỏi nhất trong lĩnh vực của mình và luôn giỏi thêm nữa, nhưng trong hiện thực, chúng tôi không có thời gian để trau chuốt các nguyên tắc cơ bản đã học trước đây trong sự nghiệp.
  4. Cạnh tranh lành mạnh – bởi vì ai mà lại không thích một chiến thắng đẹp? Đặc biệt là các kỹ sư 🙂
Sau khi xác định được mục tiêu, chúng tôi thật dễ dàng để tìm thấy cách làm phù hợp với mình – Coderetreat!

Coderetreat là gì?

  • Coderetreat là một sự kiện thực hành chuyên sâu kéo dài cả ngày, tập trung vào các nguyên tắc cơ bản của phát triển và thiết kế phần mềm. Bằng cách cung cấp cho các nhà phát triển cơ hội thực hành một cách tập trung, tránh khỏi áp lực phải xong, của Coderetreat đã chứng tỏ là một phương tiện cải thiện kỹ năng hiệu quả cao. Thực hành các nguyên tắc cơ bản của thiết kế mô-đun và lập trình hướng đối tượng, các nhà phát triển có thể cải thiện khả năng viết mã giúp giảm thiểu chi phí qua thời gian. 
Về cơ bản, đây có nghĩa là lùi một bước từ chạy nước rút  hàng ngày với các issue, để quay lại với những cơ bản. Hãy nhớ lại những gì làm chúng ta yêu thích lập trình và mài dũa lại những nguyên tắc cơ bản của một phần mềm tốt như SOLID và bốn tính chất cơ bản.

Rồi sao nữa?

Đầu tiên, chúng tôi cần phải quyết định xem liệu đây sẽ là sự kiện nội bộ hay với người hướng dẫn từ bên ngoài. Chúng tôi quyết định đồng hành với một người hỗ trợ bên ngoài vì lý do đơn giản là chúng tôi muốn cộng đồng cùng tham gia. Nếu bạn có thêm ngân sách cho việc này, chúng tôi khuyên bạn nên làm như vậy. Chúng tôi đã tìm đến Corey Haines, một trong những người đưa ra sáng kiến Coderetreat và chúng tôi đã rất may mắn khi anh ấy sẵn sàng tham gia cùng chúng tôi trong sự kiện này!
Từ thời điểm đó, phần còn lại nằm trên vai Corey, và như mong đợi, anh ấy đã làm một công việc tuyệt vời!

Hãy để cùng lập trình nào!

Ngày đó bao gồm 5 phiên với mục tiêu là viết chương trình “Trò Đời” của Conway (Conway’s Game of Life).
Trong mỗi phiên 45 phút, chúng tôi viết mã theo cặp, hoán đổi các cặp sau mỗi phiên. Mỗi cặp được yêu cầu xóa bỏ mã sau mỗi phiên. (Tin tôi đi, bạn không biết việc đó khó khăn đến mức nào cho đến khi bạn thực sự cố gắng!), đồng thuận một ngôn ngữ lập trình và cùng code. Bằng cách ghép cặp, chúng tôi có thể hợp tác chặt chẽ với các đồng đội, những người mà chúng tôi chưa từng có cơ hội làm việc cùng, rất là vui.
Nghe tương đối dễ dàng, phải không? Nghĩ lại! Phiên đầu tiên khá đơn giản nhưng sau đó, mỗi phiên lại ra một điều kiện mới để buộc bạn bước ra khỏi vùng an toàn của bạn và khiến bạn nghi ngờ về những điều bạn đã biết. Ví dụ, bạn phải viết toàn bộ chương trình của mình mà không có câu lệnh rẽ nhánh. Sái cả quai hàm.
Phần thú vị nhất đối với tôi là phiên cuối cùng. Chúng tôi đã được yêu cầu làm lại chương trình mà không có ràng buộc nào nữa. Chúng tôi cơ hội để thực sự nhìn lại về những gì đã thực hiện trong ngày và đối chiếu lại mã của chúng tôi cách đây 8 giờ.

Phần kết luận

Cuối ngày, tất cả chúng tôi đều #kiệt_sức nhưng hài lòng.
Bên cạnh sự thật là đã có rất nhiều niềm vui, chúng tôi đồng thời cũng đã hoàn thành danh sách mục tiêu của mình. Chúng tôi rời khỏi Coderetreat với sự hiểu biết tốt hơn về cách viết các chương trình sạch, đơn giản và linh hoạt để giảm thiểu chi phí thay đổi qua thời gian.
Đó là chiến cho tất cả mọi người.
Xem bài gốc tại đây.
Xem thêm các tin tức về Coderetreat 2019 tại đây.

Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.