Lập trình cho cuộc sống: Hãy “tinh gọn” trong học tập và cuộc sống

Lean Development

Bài viết xin đề cập đến một số nguyên lý cơ bản của “Phát triển tinh gọn” (Lean Development) và sự liên hệ với học tập và cuộc sống, đặc biệt hướng đến sinh viên ngành công nghệ phần mềm.

Loại bỏ lãng phí (Eliminate Wastes)

Lãng phí là bất cứ thứ gì không đem lại giá trị. Trong phát triển phần mềm, 7 lãng phí lớn nhất được nêu ra là:

  • Extra features: dư thừa tính năng
  • Handover: giao tiếp nội bộ chậm chạp.
  • Task switching: làm quá nhiều việc cùng lúc.
  • Queue: hàng đợi
  • Complaint: sự phàn nàn của khách hàng
  • Delay: sự chậm trễ
  • Defect: hỏng hóc trong sản phẩm
     

Nói về sự lãng phí, tôi nhớ lại câu chuyện rất sâu sắc: khi người thầy bỏ các viên sỏi to vào một cái lọ, rồi hỏi các sinh viên cái lọ đã đầy chưa. Ai cũng bảo là đầy nhưng thầy tiếp tục cho thêm vào các viên sỏi nhỏ, rồi các hạt cát và cuối cùng vẫn đổ thêm nước vào được. Nếu chúng ta coi viên sỏi to là những thứ có giá trị nhất với cuộc sống của mình vậy thì hãy bỏ nó vào trước, bằng không sự lãng phí như những hạt cát nhỏ đã nằm sẵn trong bình làm cho bạn không cho vào được dù chỉ là một viên sỏi.

Muốn loại bỏ sự lãng phí thì chúng ta phải có cách nhìn ra nó. Tôi nghĩ mỗi người cần phải có chân lý và mục đích sống của mình rõ ràng, hãy xác định những thứ quan trọng & có giá trị nhất với mình, coi đó là các nguyên tắc sống để làm kim chỉ nam cho mọi hành động của mình. 

Đối với sinh viên thì tôi có một số suy nghĩ muốn chia sẻ như sau:

Sự lãng phí lớn nhất là sử dụng thời gian không hiệu quả. Trong đó kẻ thù chính là sự lười biếng. Theo tôi ai cũng lười, chúng ta càng đầy đủ thì càng lười. Nhưng mọi sự thành công đều trả giá bằng sự cố gắng tột bậc, vậy nếu bạn không quản lý được thời gian của mình và luôn vướng vào những chuyện vô bổ không đem lại giá trị thì đó là một sự thất bại, và hãy dành sự ngưỡng mộ cho người thành công. Tất nhiên nói và làm là hai chuyện rất xa vời. Theo tôi bạn nên chọn một phần kiến thức bạn cho là quan trọng nhất, hãy bắt đầu bằng phần dễ nhất, làm và nhìn thấy kết quả sẽ là sự động viên cho bạn tiếp tục, sự hứng thú và đam mê xuất hiện sẽ đẩy lùi dần sự lười biếng. Ví dụ bạn muốn trở thành chuyên gia phát triển phần mềm, hãy bắt đầu tự mình viết ra những dòng code “tinh gọn” nhất, để giải quyết những bài toán cơ bản nhất. Hãy tham gia vào các hoạt động rất thú vị như Coding Dojo, nơi bạn được code, được cười & được chia sẻ. Nếu muốn thànhLý Tiểu Long trong ngành phần mềm bạn phải bắt đầu như thế, vì để thành chuyên gia số giờ luyện tập phải tính bằng hàng nghìn.

Số giờ phải luyện tập để thành bậc thầy Kungfu

Sự lãng phí còn xảy ra khi chúng ta muốn làm hoặc học quá nhiều thứ cùng lúc mà không thứ nào thật sự tập trung và quyết tâm. Theo tôi đây là biểu hiện của delay, extra features, queue, task switching… dẫn đến các công việc đều chỉ được làm một phần (partially done) và sự hỏng hóc, nông cạn (defect) trong nhận thức xuất hiện. Hãy lập ra danh sách ưu tiên những việc quan trọng và chỉ làm rất ít việc trong số đó tùy theo khả năng của mình.

Học tập không ngừng (Learning Constantly)

Tôi ngưỡng mộ cuộc sống của những người như ông bà Mary & Tom. Tóc đã bạc trắng nhưng lịch làm việc của họ thật đáng kinh ngạc. Ngoài những ngày đi ngao du khắp thế giới để “truyền đạo” là viết, viết và viết. Bao năm rồi họ sống như vậy, càng đi nhiều, viết nhiều, dạy nhiều họ lại càng giỏi. Sự đóng góp cho cho cộng đồng là không thể kể hết và phần thưởng họ nhận được cũng thật xứng đáng.

Theo tôi ai đó coi việc học là gắng nặng và trách nhiệm để đạt mục đích trong cuộc sống thì khó có thể thành công, nếu có chỉ là cái vỏ bọc bên ngoài. Việc học tập suốt đời một cách thật sự, liên tục làm cho bạn trở nên có ích, có giá trị, có bản sắc và cuộc sống tốt đẹp.

Vậy làm thế nào để “học tập suốt đời” được hiệu quả? Theo tôi trước hết ta cần biến việc học thành niềm đam mê. Trong các loại đam mê tôi đánh giá đam mê tri thức và sự hiểu biết là đáng trân trọng và bền vững nhất. Quá trình học tập nên được sắp xếp thành các chu kỳ lặp đi lặp lại ngắn, mỗi chu kỳ bao gồm: học -> áp dụng -> nhận phản hồi -> cải tiến. Điều này áp dụng đúng tư tưởng tích hợp liên tục (continuous integration) của Agile, làm cho khách hàng (là chính bạn) hài lòng.

Tôn trọng con người (Respect people)

“Chúng tôi xây dựng con người trước khi xây dựng những chiếc xe” – Toyota

Con người là cốt lõi của sự thành công trong bất kỳ công ty nào. Điều này đã được khẳng định ở những công ty hàng đầu như Google, Facebook, Toyota… Một chuyên gia thật sự có sức làm việc & sáng tạo bằng cả trăm người hoặc hơn nữa. Vậy làm sao để trở thành chuyên gia trong lĩnh vực nào đó? Chỉ bằng cách luyện tập có chủ ý (Deliberate Practice) thường xuyên và liên tục bạn mới thành chuyên gia được.

Trong luyện tập có chủ ý bạn cần:

  • Xác định một kỹ năng cụ thể cần cải tiến.
  • Thiết kế bài tập phù hợp
  • Luyện tập thường xuyên và cật lực (vài giờ một ngày)
  • Nhận phản hồi sớm nhất có thể và điều chỉnh.

Trong ngành phần mềm Coding Dojo là một phương pháp hay để luyện tập có chủ ý. Ở đó mọi người cùng luyện tập các “bài quyền” trong sự thoải mái và như vậy kiến thức được lan truyền.

Tổng kết lại mấy điểm chính về tinh gọn trong học tập là: loại bỏ lãng phí, học tập suốt đời để trở thành chuyên gia, luyện tập có chủ ý không ngừng. Trên đây là những suy nghĩ của tôi về tính “tinh gọn” dưới lăng kính của một nhà giáo. Có thể sẽ giúp ích cho ai đó biết phải bắt đầu như thế nào và làm gì để thành công.

Kết luận: Hãy học cách tư duy tinh gọn và linh hoạt để có thể tộn tại và sống sót trong thời đại VUCA.

Tham khảo:

Nguyễn Ngọc Anh/FU Agile - Nguồn: Tạp chí Lập trình