Làm sao để dùng não đúng cách trong thời đại Internet, Smartphone

Loài người đã trải qua một lịch sử dài tìm cách nâng cấp hệ thần kinh hay nói cách khác là khiến bộ não mà ngày nay chúng ta có được nhờ tiến hóa càng tiến hóa hơn nữa. Chúng ta rèn luyện trí óc để bộ não có thể trở thành một trợ thủ đắc lực và đáng tin cậy, giúp chúng ta đạt được mục tiêu của mình. Tất cả các trường đại học luật, kinh doanh, y tế, học viện âm nhạc hay các chương trình huấn luyện thể thao đều hướng tới mục tiêu khai thác sức mạnh tiềm ẩn của bộ não con người để vươn tới những mục tiêu cao hơn nữa hay để có một lợi thế đặc biệt trong thế giới đang ngày càng đậm tính cạnh tranh này.

Nhờ khả năng sáng tạo không ngừng nghỉ, con người đã chế tạo ra những hệ thống giúp giải phóng bản thân khỏi những điều vụn vặt, để lưu giữ những thông tin không ai có thể đảm bảo sẽ nhớ. Mục đích của tất cả những điều này và cả những sáng chế khác nữa là tăng cường khả năng cho bộ não mà chúng ta đang có, hoặc giảm tải một số công việc để những nguồn lực bên ngoài khác đảm trách.

Một bước tiến quan trọng trong chặng đường cải tiến hệ thần kinh diễn ra từ 5.000 năm trước, khi loài người tìm ra một phương pháp đột phá giúp tăng cường khả năng ghi nhớ và sắp xếp thông tin. Lâu nay, chữ viết vốn được coi là một bước ngoặt vĩ đại, nhưng hầu như không còn mấy hình bóng của chữ viết trong thời kỳ đầu: những công thức đơn giản, hóa đơn bán hàng hay kiểm kê hàng hóa. Khoảng 3.000 năm TCN, con người đã dần chuyển đổi từ lối sống du mục sang thành thị, bắt đầu xây dựng những đô thị và trung tâm thương mại lớn. Các hoạt động trao đổi hàng hóa tại các đô thị này ngày càng tăng, gây khó khăn cho khả năng ghi nhớ của thương lái. Và chữ viết thời kỳ đầu đã trở thành một công cụ để ghi chép giao dịch buôn bán. Tiếp theo đó mới là thơ ca, lịch sử, chiến thuật chiến đấu hay hướng dẫn xây dựng những tòa cao ốc.

Trước khi chữ viết ra đời, tổ tiên của loài người phải phụ thuộc vào trí nhớ, những hình vẽ hay âm nhạc để mã hóa và lưu trữ thông tin quan trọng. Dĩ nhiên là bộ nhớ của loài người dễ có sự nhầm lẫn, nhưng do sức chứa hữu hạn thì ít mà do khả năng truy xuất thông tin thì nhiều. Một số nhà thần kinh học tin rằng, mọi trải nghiệm được ghi vào trong não bộ khi tỉnh táo đều được lưu trữ ở đâu đó; cái khó là phải xác định và kéo được những ký ức đó trở lại. Đôi lúc những thông tin kéo được ra lại không hoàn thiện, có sự biến tướng hay thậm chí là dễ gây hiểu lầm. Những câu chuyện sống động chỉ đề cập đến một phần rất nhỏ của sự việc hay thậm chí là không chút nào, lại thường choán hết chỗ của những thông tin được dựa trên số liệu thống kê, quan sát kỹ lưỡng mà chắc chắn sẽ chính xác hơn, giúp chúng ta đưa ra quyết định đúng đắn trong điều trị bệnh, đầu tư hay tin tưởng người khác trong xã hội này. Ham thích những câu chuyện chỉ là một trong những hệ quả hay hiệu ứng phụ trong hoạt động của não bộ.

 

Cần phải hiểu rằng cách thức chúng ta tư duy và đưa ra quyết định ngày hôm nay đã tiến hóa hơn hàng chục nghìn năm so với thời con người còn sinh tồn nhờ săn bắt và hái lượm. Tuy gen vẫn chưa bắt kịp được với những nhu cầu của nền văn minh hiện đại, nhưng điều may mắn là kiến thức đã làm được như vậy – chúng ta đã tìm ra cách vượt qua những giới hạn của sự tiến hóa. Đây là câu chuyện về việc con người đã đương đầu với thông tin và hệ thống ngay từ những ngày đầu của nền văn minh như thế nào, và cũng là câu chuyện về những người thành đạt nhất trong xã hội – họa sỹ, vận động viên, lính chiến, nhân sự cao cấp trong các công ty hay chuyên gia trong các lĩnh vực – đã tìm ra cách phát huy tối đa khả năng sáng tạo và hiệu quả trong công việc của mình bằng cách tổ chức đời sống hằng ngày sao cho họ phải dành thật ít thời gian cho những thứ vụn vặt để tập trung vào những thứ khác có giá trị về mặt cảm hứng, cảm xúc và mang lại nhiều điều tốt đẹp hơn cho cuộc sống.

Trong hơn 20 năm qua, các nhà tâm lý học nhận thức đã đưa ra vô vàn những bằng chứng cho thấy không nên quá tin tưởng vào trí nhớ. Và một điều đáng sợ là, nhiều người còn tỏ ra tự tin thái quá về những ký ức mà họ rõ ràng đã nhớ sai. Vấn đề không phải là ở chỗ chúng ta nhớ sai (trong khi thực chất như vậy đã là quá đủ), mà ở chỗ thậm chí con người còn không nhận thức được rằng mình đang nhớ nhầm, cứ quả quyết rằng những ký ức không chính xác đó hoàn toàn là sự thật.

Mục đích chính của người đầu tiên tìm ra cách ghi chép từ khoảng 5000 năm trước có lẽ là muốn tăng khả năng của thùy hải mã, một phần trong hệ thống lưu giữ ký ức của não bộ. Con người thời đó đã gỡ bỏ được những rào cản tự nhiên về khả năng ghi nhớ bằng cách lưu lại một phần ký ức của mình trên những miếng đất sét, vách hang động hay sau này là giấy cói và giấy da. Về sau, con người đã phát minh ra những công cụ khác nữa như lịch, tủ tài liệu, máy tính và điện thoại thông minh để sắp xếp và lưu trữ thông tin được ghi lại. Nếu máy tính hay điện thoại thông minh có dấu hiệu bị chậm, ta có thể mua một thẻ nhớ có dung lượng lớn hơn. Bộ nhớ của thẻ nhớ đó vừa cho thấy mạnh hơn về mặt cấu hình lý thuyết, vừa thực sự mạnh hơn. Chúng ta đang giảm tải một phần lớn công việc xử lý thông tin mà đáng ra các nơ-ron thần kinh của con người phải làm để chuyển giao sang những thiết bị khác, “bộ não phụ” hay chính là một phương pháp cải tiến hệ thần kinh.

Những bộ nhớ bên ngoài này thường có hai loại: Một loại tuân theo cơ cấu tổ chức của não bộ, loại còn lại là một sự cách tân, đôi khi còn vượt qua cả những giới hạn của tự nhiên. Biết cách phân biệt được hai loại này sẽ giúp chúng ta cải tiến được hệ thần kinh, nhằm có được sự trang bị tốt hơn khi phải đối mặt với vấn đề quá tải thông tin.

Một khi đã ngoại hóa được ký ức dưới dạng chữ viết thì não bộ và ý thức của người viết sẽ được giải phóng để tập trung vào những thứ khác. Nhưng ngay khi những từ đầu tiên được viết ra thì anh ta lại phải đối mặt với vấn đề lưu trữ, sắp xếp và truy cập thông tin: Phải lưu ở đâu để những nội dung vừa mới viết ra (và thông tin bao hàm trong đó) không bị thất lạc? Nếu thông điệp đó đơn thuần chỉ là một lời nhắc nhở, như một danh sách những việc phải làm của người tiền sử, thì người viết cần nhớ phải nhìn vào đó và nhớ mình đã nhét nó vào chỗ nào.

Giả sử bạn sẽ viết về những loại cây ăn được – trong hoàn cảnh bạn phải tiễn đưa một người thân yêu quý về nơi an nghỉ cuối cùng vì ăn phải quả độc – nhằm mục đích lưu trữ những thông tin như quả độc trông như thế nào, làm thế nào để phân biệt với các loại quả không độc khác trông gần giống thế. Vấn đề của việc sắp xếp thông tin là bạn sẽ có nhiều hơn một lựa chọn để lưu bài viết đó, tùy thuộc vào nhu cầu: có thể lưu cùng với những bài viết về cây cối, hoặc về lịch sử gia đình, hoặc về nấu ăn, hoặc cách để đầu độc kẻ thù.

Đến đây chúng ta được tiếp cận hai đặc điểm ấn tượng nhất của não bộ và thiết kế của não: tài nguyên và khả năng truy cập qua liên tưởng. Tài nguyên ở đây muốn nói đến lý thuyết cho rằng một lượng lớn những gì hiện ra trong não chúng ta hoặc những gì chúng ta đã trải qua chắc chắn vẫn còn được lưu lại đâu đó. Còn khả năng truy cập qua liên tưởng có nghĩa chúng ta có thể truy cập vào bộ nhớ của mình bằng nhiều phương pháp, cả về từ ngữ lẫn tri giác, như gợi nhớ ký ức bằng những từ liên quan, tên chủ đề hay mùi vị, giai điệu, hình ảnh hay thậm chí là kích thích để đưa hệ thần kinh trở lại trạng thái nhận thức.

Khoa học máy tính gọi khả năng truy cập được một bộ nhớ, dù được lưu ở bất kỳ đâu, là truy cập ngẫu nhiên (RAM). Đĩa DVD và ổ cứng hoạt động theo nguyên tắc này, còn băng video thì lại không. Khi xem một bộ phim trên đĩa DVD hoặc ổ cứng, bạn có thể chuyển đến bất cứ điểm nào bằng cách chọn vị trí đó. Nhưng để chuyển đến một điểm nhất định khi xem băng video, bạn sẽ phải xem qua tất cả những điểm trước đó (truy cập tuần tự). Khả năng lục lại trí nhớ một cách ngẫu nhiên từ nhiều dấu hiệu là một năng lực đặc biệt của con người. Khoa học máy tính gọi đây là trí nhớ quan hệ. Nếu bạn đã từng nghe về cơ sở dữ liệu quan hệ thì đó chính là phương thức hoạt động của bộ nhớ con người. (Nội dung này sẽ được đề cập lại trong Chương 3)

Với bộ nhớ quan hệ, nếu tôi muốn bạn nghĩ về một chiếc xe cứu hỏa, tôi có thể dẫn dụ trí nhớ theo nhiều cách khác nhau. Tôi có thể giả tiếng còi cứu hỏa hoặc mô tả bằng từ ngữ (“một chiếc xe tải lớn màu đỏ, có cầu thang ở hai bên, thường làm nhiệm vụ trong trường hợp khẩn cấp”). Ngoài ra, tôi cũng có thể kích thích để hình ảnh đó hiện lên trong đầu bạn bằng một trò chơi liên tưởng, như yêu cầu bạn gọi tên càng nhiều thứ màu đỏ càng tốt trong vòng một phút (hầu hết mọi người đều sẽ gọi tên “xe cứu hỏa” trong trường hợp này), hoặc gọi tên tất cả các loại xe có còi cấp cứu mà bạn có thể nghĩ tới. Tất cả đều là những đặc điểm của xe cứu hỏa: loại xe phục vụ trường hợp khẩn cấp, màu đỏ, còi, hình dáng, kích thước, có người mặc đồng phục ngồi trong xe, là một trong số ít các loại xe có cầu thang.

Nếu đến khi đọc câu cuối, đột nhiên bạn nghĩ tới những loại xe khác có cầu thang (như xe của công ty sửa chữa điện thoại, xe của công ty lắp đặt cửa sổ, mái nhà, quét ống khói) thì bạn đã chạm đến một điểm quan trọng khác: Chúng ta có thể có rất nhiều hay nói đúng hơn là vô vàn cách phân loại vật thể. Và mỗi dấu hiệu trong số đó sẽ đi một đường riêng để cùng dẫn tới nút nơ-ron đại diện cho xe cứu hỏa trong não.

Trong hình (trang 13), khái niệm xe cứu hỏa được đại diện bởi hình tròn trung tâm – một nút tương ứng với một cụm nơ-ron trong não bộ. Cụm nơ-ron này liên kết với những cụm nơ-ron khác đại diện cho những đặc điểm khác nhau của xe cứu hỏa. Trong hình, những khái niệm gần với nút xe cứu hỏa nhất là những khái niệm có liên quan nhiều nhất, hoặc có thể được truy xuất nhanh chóng nhất từ bộ nhớ. (Trên thực tế, vị trí của những nút này không nhất thiết phải ở gần nhau, nhưng mối liên kết lại mạnh hơn để có thể truy xuất dễ dàng hơn). Như vậy, nút có chứa thông tin xe cứu hỏa màu đỏ sẽ nằm gần hơn nút cho biết xe cứu hỏa hay có một vô-lăng riêng ở phía sau.

 

 

Ngoài những mạng nơ-ron trong não bộ đại diện cho đặc điểm của các sự vật thì chúng cũng được liên kết với những sự vật khác thông qua liên tưởng. Xe cứu hỏa có màu đỏ, nhưng ta cũng có thể nghĩ đến những sự vật khác có màu tương tự, chẳng hạn như quả sơ-ri, cà chua, táo, máu, hoa hồng, một phần lá cờ nước Mỹ hay hộp nho khô hiệu Sun-Maid. Bạn đã bao giờ nghĩ tại sao mình có thể nhanh chóng nêu tên những vật màu đỏ khi được người khác yêu cầu hay chưa? Đó là bởi khi tập trung vào ý nghĩ màu đỏ, đại diện bởi một nút nơ-ron trong não, bạn đã gửi thông tin kích hoạt điện hóa theo các nhánh trong mạng não bộ tới mọi thứ có đặc điểm cần tìm. Tôi xin liệt kê bên dưới những thông tin khác cùng nằm trong mạng nơ-ron liên quan tới xe cứu hỏa, tức là những nút liên quan đến màu đỏ, những thứ có còi cấp cứu…

Suy nghĩ về một ký ức thường có xu hướng sẽ kích hoạt những ký ức khác. Điều này đôi khi có lợi, nhưng cũng có thể gây bất lợi. Nếu bạn đang cố lục lại một ký ức cụ thể nào đó, thì vô vàn những dòng kích thích của các nút có thể đấu đá nhau để tìm đường vượt qua “trạm” ý thức, khiến cho bạn như bị tắc, và cuối cùng là không nhận ra được gì.

 

 

Người Hy Lạp cổ đại tìm cách cải thiện trí nhớ bằng các phương thức rèn luyện não bộ như cung điện ký ức (memory palaces) hay còn gọi là phương pháp loci. Đồng thời, cả người Hy Lạp và Ai Cập cổ đại đều trở thành bậc thầy trong việc ngoại hóa thông tin – phát minh ra thư viện hiện đại, một kho kiến thức đồ sộ dưới dạng bộ nhớ ngoài. Chúng ta không thể biết nguyên nhân vì sao lại có sự bùng nổ về hoạt động tri thức (có thể là do những hoạt động diễn ra hằng ngày của con người đã chạm đến một ngưỡng phức tạp nhất định) nhưng con người vẫn có nhu cầu lớn về tổ chức cuộc sống, môi trường hay thậm chí là tư tưởng. Điều này có được không phải nhờ học hỏi mà là một bản năng sinh học: Các loài động vật tự biết cách tổ chức môi trường sống của mình. Hầu hết động vật có vú đều được tự động lập trình để “đi ra ngoài” cách xa nơi ăn và ngủ. Chó có thói quen thu nhặt đồ chơi để bỏ vào trong giỏ; kiến mang xác những con khác trong tổ bị chết đến nghĩa địa; một số loài chim và động vật gặm nhấm bố trí các hàng quanh tổ để dễ dàng phát hiện nếu có kẻ xâm nhập.

Chìa khóa để hiểu được tư duy có hệ thống là phải công nhận rằng nếu không bị can thiệp, tư duy sẽ được tổ chức theo một chương trình định sẵn chứ không phải theo cách mà chúng ta muốn. Và mặc dù rất linh hoạt, nhưng tư duy cũng được xây dựng dựa trên một hệ thống đã tiến hóa từ hàng trăm nghìn năm nay để có thể xử lý được các loại và khối lượng thông tin khác so với những gì chúng ta phải đối mặt ngày nay. Cụ thể hơn: Não bộ không được hệ thống theo cách bạn muốn xếp đặt phòng làm việc hay tủ thuốc. Bạn không thể cứ để đồ ở bất cứ nơi nào bạn muốn. Kiến trúc của não bộ, trải qua bao lần tiến hóa, đã trở nên rời rạc và lộn xộn, là sự tổng hợp của nhiều hệ thống khác nhau, mỗi hệ thống lại có một hệ tư duy riêng (đại loại vậy). Tiến hóa không có vai trò thiết kế và xây dựng hệ thống, mà thay vào đó là lựa chọn ra hệ thống nào bảo tồn được bản năng sinh tồn trong lịch sử (và nếu có một bản năng mới tốt hơn thì cái mới đó sẽ được lựa chọn). Không có một bản thiết kế tổng thể nào giúp các hệ thống phối hợp vận hành với nhau một cách trơn tru cả. Não bộ giống như một tòa biệt thự đồ sộ, lâu đời, tầng nào cũng cần sửa chữa cuốn chiếu từng phần, chứ không cần đập bỏ đi để xây lại.

Hãy thử coi điều đó tương tự như trường hợp sau: Bạn có một tòa nhà lớn, mọi thứ đều hơi cũ kỹ, nhưng bạn rất hài lòng. Một mùa hè nóng bức, bạn lắp điều hòa cho một phòng. Vài năm sau có nhiều tiền hơn nên bạn quyết định lắp hệ thống điều hòa tổng. Nhưng bạn cũng không bỏ máy điều hòa trong phòng ngủ, bởi không việc gì phải làm thế, nhỡ nó có ích về sau thì sao? Vả lại máy cũng đã được lắp cố định lên tường rồi. Một vài năm sau, đường ống nước phía sau tường bị bục, thợ cần phải đục tường để lắp đặt đường ống nước mới. Nhưng lại bị vướng hệ thống điều hòa tổng tại một số điểm thiết yếu, vậy là thợ phải dẫn đường ống đi vòng lên gác xép. Mọi thứ đều ổn cho đến một mùa đông cực kỳ lạnh, khiến đường ống trên gác xép không được cách nhiệt bị đóng băng. Nếu chạy đường ống nước qua tường thì đã không có chuyện đó, nhưng bạn lại không thể làm thế bởi sẽ bị vướng hệ thống điều hòa tổng. Nếu bạn đã lên kế hoạch cho mọi thứ ngay từ đầu thì mọi chuyện đã đi theo một hướng khác. Nhưng bạn lại không làm thế – thay vào đó bạn thêm thắt từng thứ, từng thứ một khi phát sinh nhu cầu.

Tiến hóa đã giúp xây dựng bộ não con người theo một cách tương tự. Tất nhiên là tiến hóa cũng không có kế hoạch hay chủ ý gì hết. Tiến hóa không quyết định bạn sẽ có ký ức về nơi đặt đồ vật. Hệ thống ký ức vị trí của bạn được hình thành dần dần, trải qua quá trình biến đổi gen và chọn lọc tự nhiên từ đời này sang đời khác, tiến hóa tách biệt với hệ thống ký ức về sự kiện và số liệu. Hai hệ thống có thể, nhưng không nhất thiết phải phối hợp với nhau trong quá trình tiến hóa cao hơn nữa, và thậm chí trong một số trường hợp còn nảy sinh xung đột với nhau.

Sẽ rất hữu ích nếu hiểu được não bộ sắp xếp hệ thống thông tin như thế nào để chúng ta có thể sử dụng thay vì phải đấu tranh với những gì mình có. Não được thiết kế như một mớ hổ lốn các hệ thống, mỗi hệ thống phụ trách một vấn đề riêng. Trong một số trường hợp, các hệ thống này sẽ phối hợp với nhau, một số khác thì lại phát sinh mâu thuẫn với nhau, và nhiều khi thậm chí còn không hề có sự liên hệ nào. Hai trong số những cách chính giúp chúng ta kiểm soát và cải thiện quy trình là phải đặc biệt chú trọng vào cách đưa thông tin vào não bộ – mã hóa – và cách lấy thông tin đó ra – truy xuất. Nội dung này sẽ được bàn kỹ hơn trong Chương 2 và 3.

Nhu cầu kiểm soát hệ thống nhận thức và ký ức của con người chưa bao giờ lớn đến thế. Não bộ của chúng ta đang bận rộn hơn bao giờ hết bởi vô vàn những nội dung thực tế, nội dung phi thực thế, chuyện phiếm và tin đồn vây quanh, núp dưới danh nghĩa thông tin. Phân biệt được những thông tin hữu ích với thông tin có thể bỏ qua là điều rất mệt mỏi, nhưng chúng ta ngày càng phải làm nhiều hơn. Vì thế mà việc dành thời gian để lên lịch cho các công việc khác nhau ngày càng trở nên khó khăn hơn. Ba mươi năm trước, công ty du lịch là người đặt chỗ vé máy bay và vé tàu, nhân viên bán hàng giúp khách hàng tìm đồ cần mua và nhân viên đánh máy hoặc thư ký giúp soạn thư từ. Giờ đây, chúng ta phải tự làm những việc đó. Thời đại của thông tin đã chuyển nhiệm vụ của những người có thể gọi với cái tên chuyên viên cung cấp thông tin sang cho tất cả mọi người. Chúng ta đang phải làm việc của 10 người khác, trong khi vẫn phải bắt kịp những gì diễn ra quanh mình, với các con, bố mẹ, bạn bè, sự nghiệp, sở thích hay thậm chí là chương trình ti vi yêu thích. Cũng chẳng lạ nếu bạn nhớ nhầm chuyện này với chuyện khác, như đến đúng nơi nhưng sai ngày hay quên những thứ đơn giản như nơi để kính hay điều khiển ti vi.

Mỗi ngày, có đến hàng triệu người bị mất chìa khóa, bằng lái xe, ví hay mẩu giấy ghi những số điện thoại quan trọng. Và không chỉ những đồ vật cầm nắm được, thậm chí chúng ta còn quên những thứ đáng ra phải nhớ, như mật khẩu đăng nhập e-mail hay một trang web, mã PIN thẻ ATM – nếu xét về mặt nhận thức thì cũng tương đương với việc mất chìa khóa. Những thứ đó không hề vụn vặt, không đơn giản và dễ thay thế như một cục xà phòng hay vài quả nho. Chúng ta thường ít khi bị mất trí nhớ toàn bộ, thay vào đó chỉ không nhớ ra được một hay hai thứ nhất định mà thôi. Trong một hay hai phút điên cuồng tìm chùm chìa khóa, bạn (có thể) vẫn sẽ nhớ tên tuổi và địa chỉ của mình, nơi bạn để ti vi và món bạn đã ăn lúc sáng – chỉ có một ký ức mất hoàn toàn mà thôi. Có một số món đồ dễ bị mất hơn những món khác: Chúng ta dễ bị mất chìa khóa xe chứ ít khi bị mất xe, dễ mất ví hoặc điện thoại di động hơn là cái dập ghim trên bàn làm việc hoặc thìa xúp trong bếp, dễ mất áo khoác hoặc áo len hơn là mất quần. Hiểu được cơ chế tương tác giữa hệ thống ý thức và trí nhớ của não bộ sẽ giúp chúng ta có một bước tiến dài trong việc cải thiện bệnh đãng trí.

Sự thật thú vị về những thứ chúng ta dễ có xu hướng quên và những thứ hiếm khi quên có thể cho thấy cơ chế hoạt động của não bộ, và vì sao sự việc đôi khi lại đi theo hướng không như mong muốn. Cuốn sách này sẽ thảo luận về cả hai vấn đề đó, và tôi hy vọng sẽ có thể giúp bạn cải thiện tình trạng đãng trí. Có một số thói quen ai cũng có thể làm để hạn chế mất đồ hay nếu đã mất thì nhanh chóng tìm lại được. Càng hiểu rõ những lời hướng dẫn hay bản kế hoạch, chúng ta sẽ càng dễ dàng làm theo hơn (theo tâm lý học nhận thức), nên cuốn sách này sẽ thảo luận nhiều khía cạnh khác nhau của hệ thống nhận thức.

Chúng ta sẽ nghiên cứu lịch sử của các hệ thống tổ chức mà con người đã trải qua bao thế kỷ nay để có thể thấy được hệ thống nào đã thành công, hệ thống nào đã thất bại và nguyên nhân của thành công hay thất bại đó. Tôi sẽ giải thích nguyên nhân căn bản vì sao chúng ta lại hay bị mất đồ, và những người thông minh, tư duy có hệ thống thường làm gì để không bị như vậy. Một phần nội dung sẽ bàn về cách thức chúng ta học hỏi như khi còn bé, và tin tốt là chúng ta có thể thay đổi một số khía cạnh nhất định trong tư duy từ thời đó để giúp ích hơn khi đã lớn. Có lẽ phần nội dung trọng tâm sẽ là về cách sắp xếp thời gian tốt hơn, không chỉ để làm việc hiệu quả hơn mà còn để dành thời gian cho những người quan trọng, để thư giãn, vui chơi và để sáng tạo nữa.

Tôi cũng sẽ thảo luận về các tổ chức kinh tế, bởi cái tên “tổ chức” cũng có lý do của nó. Công ty cũng giống như một bộ não khổng lồ, mỗi nhân viên đóng vai trò như một nơ-ron thần kinh. Công ty giống như một tập hợp người có cùng một mục tiêu, nhưng mỗi người lại đảm trách một nhiệm vụ chuyên biệt nhờ có sự phân chia nhiệm vụ rõ ràng, một doanh nghiệp thường làm tốt công việc thường nhật hơn một cá nhân. Một doanh nghiệp lớn sẽ có bộ phận chịu trách nhiệm thanh toán hóa đơn (các khoản phải trả), và có bộ phận khác theo dõi các loại chìa khóa (nhà máy hoặc bảo vệ). Mặc dù cá nhân mỗi nhân viên có thể dễ mắc lỗi, nhưng sẽ luôn có, hoặc cần có các hệ thống và quyết định thôi việc để đảm bảo cả hệ thống sẽ không bị đưa lên giàn thiêu chỉ vì một phút lơ đãng hoặc vô tổ chức của một cá nhân.

Dĩ nhiên là không phải lúc nào doanh nghiệp cũng được tổ chức hoàn hảo, và trong nhiều trường hợp, giống như khi chúng ta bị mất chìa khóa, doanh nghiệp cũng bị mất thứ này hay thứ khác nữa, như lợi nhuận, khách hàng, vị thế cạnh tranh trên thị trường chẳng hạn. Trong thời gian làm tư vấn quản lý, tôi đã bắt gặp vô vàn những trường hợp làm việc thiếu hiệu quả, thiếu sự giám sát dẫn đến nhiều vấn đề khác nhau. Tôi đã rút ra được rất nhiều bài học nhờ nghiên cứu những công ty trong giai đoạn phát triển rực rỡ và những công ty gặp khó khăn.

Tư duy có hệ thống sẽ giúp đưa ra được quyết định đúng đắn một cách dễ dàng. Khi còn là sinh viên, tôi có cơ hội được học hai giáo sư tuyệt vời, Amos Tversky và Lee Ross, cả hai đều đi đầu trong mảng nhận định xã hội và ra quyết định. Hai vị đã khơi dậy niềm yêu thích của tôi đối với việc đánh giá và giao tiếp với người khác trong xã hội, những thành kiến và thông tin sai lệch mà chúng ta có xu hướng áp đặt cho những mối quan hệ này, cùng với cách giải quyết những sai lầm đó. Amos cùng với đồng nghiệp Daniel Kahneman (Daniel đã giành giải Nobel cho công trình mà hai người phối hợp làm cùng nhau vài năm sau khi Amos qua đời), đã khám phá ra một tổ hợp lỗi của não bộ trong việc đánh giá và xử lý thông tin. Tôi đã giảng dạy nội dung này cho sinh viên đại học trong vòng 20 năm, và sinh viên của tôi cũng đã giúp tôi giải thích được vấn đề này để có thể đưa ra quyết định một cách hiệu quả hơn. Ảnh hưởng lớn nhất có lẽ là trong lĩnh vực y học, bởi một quyết định sai lầm sẽ ngay lập tức gây hậu quả nghiêm trọng. Số liệu đáng tin cậy cho thấy hầu hết các bác sĩ có bằng cấp đều không được tiếp cận với những nguyên tắc cơ bản này trong quá trình đào tạo và không hiểu lý luận thống kê. Kết quả là họ có thể đưa ra những lời khuyên sai lầm, khiến bệnh nhân phải uống thuốc đặc trị hay phẫu thuật với rất ít khả năng bệnh sẽ tiến triển tốt hơn, trong khi có khả năng cao bệnh sẽ trở nên xấu đi, theo số liệu thống kê (Chương 6 sẽ thảo luận về nội dung này).

Chúng ta đều phải ghi nhớ một khối lượng thông tin lớn chưa từng có, trong khi chỉ có những đồ vật nhỏ bé giúp theo dõi thông tin đó. Trong kỷ nguyên của iPods và USB, khi mà điện thoại có thể quay video, mở 200 triệu trang web và cho bạn biết chiếc bánh nho khô sẽ cung cấp bao nhiêu calo, hầu hết mọi người vẫn cố tìm cách theo dõi thông tin bằng những công cụ từ thời còn chưa có máy tính. Rõ ràng là cần phải cải thiện tình hình. Hình ảnh mang tính tượng trưng nhất của máy tính được lấy từ bộ phim Mad Men trong thập niên 1950: một chiếc bàn với tập tài liệu, bên trong đó là các tệp tài liệu. Ngay cả từ máy tính cũng đã lỗi thời, bởi chẳng ai dùng máy tính để tính gì cả, thay vào đó người ta dùng nó như một cái ngăn kéo tủ lộn xộn trong bếp – nhà tôi hay gọi nó là ngăn kéo rác. Hôm nọ tôi đến nhà một người bạn, và tôi đã tìm được những thứ trong ngăn kéo rác trong nhà anh ấy (chỉ cần hỏi: “Cậu có cái ngăn kéo nào để chứa những thứ đồ không biết ném vào đâu không?”):

  • pin
  • dây chun
  • que nướng thịt
  • lò xo
  • dây buộc đồ
  • ảnh
  • 37 xu tiền lẻ
  • một hộp đựng đĩa DVD không đĩa
  • một đĩa DVD không hộp (rất tiếc là không phải của cái hộp kia)
  • miếng ni-lông màu cam bọc máy phát hiện khói cần dùng nếu anh ấy có ý định sơn lại bếp, vì bụi sơn có thể sẽ kích hoạt máy báo
  • diêm
  • ba cái đinh vít có kích thước khác nhau, một chiếc đã bị chờn ren
  • một cái dĩa nhựa
  • một chiếc cờ-lê đặc biệt đi kèm với máy xay rác, anh ấy cũng không biết là để làm gì
  • cuống của hai chiếc vé đi xem live-show của ban nhạc Dave Matthews từ hè năm ngoái
  • hai chiếc chìa khóa đã nằm đó được ít nhất chục năm, và không ai trong nhà biết là khóa mở cái gì (nhưng không dám vứt đi)
  • hai chiếc bút, không chiếc nào còn mực
  • dăm bảy thứ khác anh ấy cũng không biết để làm gì nhưng cũng không dám vứt đi

Máy tính của chúng ta cũng giống y như vậy, chỉ là lộn xộn hơn hàng nghìn lần mà thôi. Có những tệp tin chúng ta không hề biết, có những tệp tin tự dưng xuất hiện một cách bí hiểm khi mở email, và vô vàn những phiên bản khác nhau của cùng một tài liệu, thường rất khó biết bản nào là mới nhất. Chiếc “máy tính” đã trở thành cái ngăn kéo trong bếp, đồ sộ, nhưng lộn xộn đến đáng sợ, đầy những tệp tin điện tử xuất phát từ đâu hay có chức năng gì bạn cũng không thể biết. Cô trợ lý có lần cho tôi xem máy tính, và như bao máy khác, tôi đã tìm thấy những thứ sau:

  • ảnh
  • video
  • nhạc
  • ảnh trình bảo vệ màn hình với mèo đội mũ chóp hay lợn cười với miệng người được gán vào
  • chứng từ thuế
  • hóa đơn vé tàu xe
  • thư từ
  • sao kê tài khoản
  • trò chơi
  • lịch hẹn
  • bài báo cần đọc
  • rất nhiều các loại giấy tờ liên quan đến công việc: giấy xin nghỉ phép, báo cáo quý, bảng tính ngày nghỉ ốm, yêu cầu khấu trừ lương hưu từ tiền lương
  • một bản của cuốn sách này (trong trường hợp tôi làm mất)
  • hàng chục loại danh sách – danh sách các nhà hàng trong vùng, danh sách các khách sạn được trường chứng nhận, địa điểm và số điện thoại văn phòng của những người khác trong khoa, danh sách số điện thoại khẩn, tiêu lệnh an toàn trong trường hợp thiên tai, quy định về thanh lý tài sản cũ, v.v…
  • các bản cập nhật phần mềm
  • phiên bản các phần mềm cũ không còn dùng được nữa
  • hàng chục các hình bố cục bàn phím và phông chữ trong trường hợp cô ấy cần đánh máy bằng tiếng Rumani, Séc, Nhật hay các ký tự Hebrew cổ hoặc hiện đại
  • các loại giấy nhớ dạng điện tử cho biết những chỗ lưu các tệp tin quan trọng hoặc hướng dẫn làm một số việc (như tạo một giấy nhớ mới, xóa hay đổi màu một giấy nhớ)

Thật đáng ngạc nhiên là chúng ta không mất thêm nữa.

Tất nhiên, một số người sẽ có tổ chức hơn so với những người khác. Có thể xây dựng một mô hình toán học dựa trên hàng ngàn biến số là tiêu chí khác biệt giữa người này với người kia để đưa những khác biệt của con người về năm nhóm:

  • hướng ngoại (extroversion)
  • dễ chịu (agreeableness)
  • tâm lý bất ổn (neuroticism)
  • sẵn sàng trải nghiệm (openness to new experience)
  • tận tâm (conscientiousness)

Trong năm nhóm này, chỉ có nhóm tận tâm khi có tổ chức sẽ giống với sự tận tâm nhất. Tận tâm bao gồm tính chăm chỉ, kiên trì, có khả năng tự kiểm soát và mong muốn mọi thứ có trật tự. Ngược lại, tính cách này cũng sẽ giúp dự đoán được nhiều điều xảy ra trong đời, như tử vong, tuổi thọ, trình độ học vấn và cũng là một tiêu chí cho biết mức độ thành đạt trong công việc. Sự tận tâm cũng tương ứng với khả năng phục hồi cao sau phẫu thuật hoặc cấy ghép nội tạng. Sự tận tâm khi còn bé sẽ đảm bảo cho kết quả tích cực trong nhiều năm sau. Tựu trung lại, bằng chứng cho thấy sự tận tâm sẽ ngày càng quan trọng hơn trong xã hội đang trở nên “Tây hóa” và phức tạp hơn.

Ngành khoa học thần kinh về trí nhớ và ý thức hay là tầm hiểu biết cao hơn của con người về não bộ, quá trình tiến hóa và hạn chế của não bộ, có thể giúp chúng ta tồn tại được trong thế giới này khi ngày càng nhiều người có cảm giác như đã cố gắng quá nhiều nhưng vẫn chưa đủ. Mọi người Mỹ bình thường đều bị thiếu ngủ, chịu quá nhiều áp lực và không có đủ thời gian để làm những gì mình muốn. Tôi nghĩ chúng ta có thể làm tốt hơn thế. Một số người trong chúng ta đang làm tốt hơn những người khác, và tôi đã có cơ hội được nói chuyện với họ. Trợ lý tổng giám đốc của các công ty trong danh sách 500 của Fortune và những người thành đạt khác luôn khiến sếp của họ phải làm việc với công suất tối đa, trong khi họ vẫn có thời gian nghỉ ngơi và vui chơi. Những người đó, và cả sếp của họ nữa, đều không bị ngập trong thông tin bởi họ biết cách tận dụng kỹ năng tổ chức, một số vẫn còn mới, một số đã khá cũ. Một số hệ thống nghe có vẻ quen thuộc, một số lại không, một số mang nhiều sắc thái và một số lại rất tinh tế. Tuy vậy, tất cả đều có thể tạo nên một sự khác biệt sâu sắc.

Không hệ thống nào có thể có hiệu quả cho tất cả mọi người, bởi ai cũng thiên về cách riêng của mình. Nhưng trong các chương tiếp theo đây sẽ có những nguyên tắc chung mà ai cũng có thể áp dụng theo cách riêng của mình để lập lại trật tự và để dành thời gian thất thoát do không phải vật lộn với một tư duy thiếu tổ chức.

Nguồn: Trạm Đọc

Bi kịch của học sinh ‘trường chuyên’: Tài năng nhưng trống rỗng, thành công nhưng đơn độc, đến bao giờ giấc mơ cha mẹ Việt mới thôi ‘đè nát’ cuộc đời con!

Bi kịch của học sinh ‘trường chuyên’: Tài năng nhưng trống rỗng, thành công nhưng đơn độc, đến bao giờ giấc mơ cha mẹ Việt mới thôi ‘đè nát’ cuộc đời con!
Ai mà chả muốn con mình đứng đầu lớp, đạt nhiều điểm 10, vào trường chuyên lớp chọn…nhưng các cha mẹ lại quên mất cái giá để sản xuất ra một “con cừu xuất chúng”. Khi cố gắng trở thành đứa trẻ “hoàn hảo”, một đứa con “lý tưởng” trong những giấc mơ của cha mẹ mình, những dân “chuyên”, “năng khiếu”, “tài năng” này mất đi một thứ gì đó vô cùng quý giá của cuộc đời mình.

Tại Việt Nam, chúng ta đã quen với khái niệm trường chuyên, lớp chọn. Chuyên Amsterdam, chuyên Ngoại Ngữ, chuyên Lê Hồng Phong…đây đều là bến bờ ước mơ của rất nhiều bậc phụ huynh mong muốn con mình nhận được nền giáo dục tốt nhất (và tất nhiên đi kèm là cạnh tranh nhất).

Ở các bậc nhỏ hơn như cấp 1, cấp 2, thậm chí là cả mẫu giáo, chúng ta lại có hệ thống lớp chọn, giỏi Toán, chuyên Anh, chọn Văn, nơi những học sinh ưu tú nhất được tập hợp lại vào một lớp riêng để “bồi dưỡng nhân tài”.

Tôi có một bà chị một mực đòi phải chuyển lớp đứa con học lớp 2 của mình sang một lớp chọn, để mong nó có môi trường học tập tốt hơn, bạn bè chọn lọc hơn, giáo viên giỏi chuyên môn hơn. Đứa bé mếu máo kể với tôi: “Sang lớp mới, con chẳng có bạn nào để chơi! Các bạn cũ của con ở lại lớp cũ hết.”

Hy sinh tuổi thơ, tuổi lớn, tuổi trưởng thành để đổi lấy những điểm 10, thầy cô tốt, mang danh dân “chuyên”, và một tương lai tươi sáng, liệu chúng ta có đang vô ý đánh đổi thứ gì giá trị.

Nuôi dạy con thành công (Credit Lizzy Stewart).

Nuôi dạy con thành công (Credit Lizzy Stewart).

Trong cuốn sách nổi tiếng, The Drama of the Gifted Child, nhà tâm lý học lâm sàng Alice Miller giải thích tại sao rất nhiều những người thành công nhất, tài năng nhất lại bị bủa vây bởi cảm giác trống rỗng và cô lập giữa xã hội.

Luận điểm chính của Miller trong cuốn sách này là những đứa trẻ tài năng, hay ở Việt Nam còn gọi là những “dân chuyên” – thông minh hơn, nhạy cảm hơn, trí tuệ cảm xúc cao hơn những đứa trẻ khác – có thể bị phụ thuộc và biến đổi theo những kì vọng lớn lao của cha mẹ tới mức chúng sẽ làm bất cứ những gì bố mẹ muốn trong khi bỏ quên những cảm giác và nhu cầu thật của bản thân mình.

Khi trở thành đứa trẻ “hoàn hảo” trong những giấc mơ của cha mẹ, đứa trẻ “năng khiếu” này mất đi một thứ gì đó vô cùng quý giá.

Chúng mất đi con người thật của mình. Khi trở thành đứa trẻ lý tưởng của cha mẹ, chúng khóa chặt những cảm xúc thật của mình trong một chiếc lồng kính và ném chiếc chìa khóa đi vào tâm hồn mình đi.

Theo Miller, những đứa trẻ trường chuyên, lớp chọn trong những tình huống này thường sẽ ngừng “lớn”.

Bởi vì không thể phát triển con người thật của mình, chúng sẽ cảm thấy trống rỗng, cô lập về mặt cảm xúc, và “vô gia cư”, theo nghĩa hoàn toàn lạc lối về mặt tinh thần. Đến khi trưởng thành, những đứa trẻ luôn cố gắng làm hài lòng cha mẹ sẽ luôn luôn tìm kiếm sự chấp nhận từ những người khác.

Không chỉ thế, rất nhiều đứa trẻ còn phải chịu một bi kịch là phải sống với những giấc mơ còn chưa được thực hiện của cha mẹ mình. Một cách vô thức, bố mẹ chúng truyền lại những đam mê, uẩn ức ẩn khuất bên trong mình để nhờ đứa con hoàn thành hộ.

Có những bà mẹ hồi đi học chưa bao giờ được bạn bè trong lớp kính trọng vì học dốt, nay bà dồn toàn bộ những uẩn ức thời đi học của mình sang đứa con. Bằng mọi giá, bà phải bắt nó học thật tốt, điểm thật cao…để được bạn bè phải nể phục, qua đó nhờ đứa con sống lại giấc mơ chưa được thực hiện của mình.

Có những ông bố dù cố gắng bao nhiêu lần cũng không thi đỗ vào trường quân đội, vậy là đứa con lại là nạn nhân của giấc mơ dở dang này. Ông bắt con mình thi bằng được vào Học viện quân sự chẳng hạn, mặc dù đam mê của con mình là học kinh tế. Giấc mơ cha mẹ đè nát cuộc đời con là thế.

Chính chúng ta cũng đã thường xuyên phải che giấu những tâm tư, tình cảm của mình một cách điêu luyện chỉ để đáp ứng những mong ước của cha mẹ và giành được “tình yêu” của họ.

Alice Miller viết, “Khi tôi sử dụng từ ‘tài năng’ trong tiêu đề cuốn sách, tôi không ám chỉ những đứa trẻ được điểm cao hoặc có tài năng gì đặc biệt. Tôi chỉ đơn thuần muốn nói đến tất cả chúng ta, những người đã sống sót một tuổi thơ bị bạo hành [bởi những kì vọng của cha mẹ] nhờ khả năng thích nghi tới với những bất công không nói nên lời bằng cách trở nên câm lặng… Nếu không có ‘tài năng’ được tự nhiên ban tặng này, chúng ta có lẽ không sống sót nổi.”

Tất nhiên, không phải bậc phụ huynh nào cũng thế và không phải học sinh trường chuyên, lớp chọn nào cũng là một sản phẩm hoàn hảo từ được những ông bố, bà mẹ nhào nạn ra. Rất nhiều dân chuyên, dù suốt ngày bị mẹ bắt học đến quên cả “sống”, vẫn có thể trưởng thành mà không thấy lạc lõng.

Vì vẫn có rất nhiều phụ huynh không vì giấc mơ và kì vọng của bản thân mà khiến con quên mất mình thực sự là ai.

Họ để những đứa trẻ phát triển con người thật của mình, thay vì tạo ra một “cái tôi giả” vì lợi ích của bố mẹ.

Miller quan sát thấy rằng chính những phụ huynh, từng một thời bị chính bố mẹ của mình đối xử như vậy, đã áp dụng lại những đè nén tâm lý này sang đứa con của mình một cách vô thức.

Tôi nghĩ câu chuyện của Miller là một bài học cảnh tỉnh. Nếu chúng ta muốn con mình trở thành những người lớn “bình thường”, chúng ta cần phải cực kì cẩn trọng. Giữa việc muốn lũ trẻ hiện thực hóa năng khiếu và tài năng của nó ở mức cao nhất, trong khi vẫn quan tâm tới những cảm giác và nhu cầu riêng của chúng đòi hỏi một sự cân bằng tinh tế.

Ai mà chả muốn con mình đứng đầu lớp, vào trường chuyên lớp chọn, đi du học…nhưng họ lại quên mất cái giá để trở thành một “con cừu xuất chúng” là những nỗi đau về cảm xúc nặng nề mà chúng sẽ phải gánh chịu cả cuộc đời. Quay trở lại với đứa cháu của mình, mỗi lần được hỏi, nó vẫn thường thủ thỉ: “Con cần bạn, con không cần điểm 10!”.

Theo : cafef.vn

Kata Potter

Mô tả bài toán

Một bộ các cuốn sách về người anh hùng nước Anh tên là Harry gồm 5 cuốn. (Cơ bản chỉ có 5 cuốn tính đến thời điểm ra đời Kata này) Trẻ em trên khắp thế giới hâm mộ Harry, và dĩ nhiên các nhà xuất bản cũng vậy. Do đó để khuyến khích bạn đọc (và để tăng doanh số bán hàng) các nhà xuất bản đã đưa ra chính sách về giá nhằm tận dụng sự lôi cuốn của người anh hùng Harry.

Mỗi cuốn sách về Harry có giá 8 EUR. Tuy nhiên nếu bạn mua 2 cuốn khác nhau (trong bộ sách 5 cuốn) bạn sẽ được giảm giá 5%. Nếu bạn mua 3 cuốn khác nhau sẽ được giảm 10%. Và giảm 20% nêu mua 4 cuốn khác nhau. Bạn sẽ được giảm 25% nếu mua trọn bộ gồm 5 cuốn.

Lưu ý, nếu bạn đặt hàng 4 cuốn nhưng chỉ thuộc 3 loại khác nhau, bạn chỉ được giảm 10% cho 3 cuốn khác hay đó, cuốn còn lại bạn vẫn phải trả đúng giá 8 EUR.

Cơn bão Harry Potter đã tràn qua các quốc gia và các bậc phụ huynh đang xếp hàng dài ở những hiệu sách để mau bộ truyện này. Bạn có nhiệm vụ viết chương trình để tính tiền cho các cửa hiệu sách theo các chính sách về giá được mô tả ở trên, chương trình đảm bảo người mua được lợi nhất về giá khi mua sách.

Ví dụ, tính giá bán của đơn hàng gồm các cuốn sách như sau:

2 cuốn Tập 1
2 cuốn Tập 2
2 cuốn Tập 3
1 cuốn Tập 4
1 cuốn Tập 5

Đáp án:

Giá bán = ( (4 x 8) – 20% [Tập 1, Tập 2, Tập 3, Tập 4] ) + ( (4 x 8) – 20% [Tập 1, Tập 2, Tập 3, Tập 5] = 25.6 * 2 = 51.20 EUR

Gợi ý:

Bạn có thể nhận thấy Kata này khá dễ để triển khai. Bạn có thể bắt đầu với test-case cho đơn hàng không có cuốn sách nào, 1 cuốn sách, 2 cuốn sách cùng tập, 2 cuốn sách khác tập, v.v… và sẽ không hề khó khăn nếu triển khai việc này với baby step và nâng dần độ phức tạp.

Tuy nhiên, sai sót sẽ dễ xảy đến khi bạn bắt tay tính toán số tiền mà sẽ cho rằng đơn hàng trên cần phải thanh toán. Đơn hàng không có giá trị là 5 x 8 x 0,75 + 3 x 8 x 0,90 = 51.6 EUR mà thực tế sẽ là 4 x 8 x 0,8 + 4 x 8 x 0,8 = 51.2 EUR. Mẹo ở đây là bạn phải viết mã đủ thông minh để lưu ý việc tính với trường hợp trên thì 2 bộ sách 4 cuốn sẽ rẻ hơn 1 bộ sách 5 cuốn và 1 bộ sách 3 cuốn.

Bạn sẽ phải đưa ra một số giải thuật thông minh để tối ưu hóa giá mua cho một đơn hàng. Đừng quá đòi hỏi một giải pháp tối ưu đầy đủ cho bài toán này. Cố gắng giải quyết bài toán này chỉ với mục tiêu chia sẻ nó cho người khác. Hãy tin rằng bạn có thể khái quát hóa và cải thiện giải pháp của mình khi có thêm các yêu cầu mới.

Gợi ý các test-case

Các test-case căn bản:

  • assert_equal(0, price([])) : đơn hàng không có cuốn nào, 0 EUR
  • assert_equal(8, price([0])): đơn hàng có 1 cuốn Tập 1, 8 EUR
  • assert_equal(8, price([1])): đơn hàng có 1 cuốn Tập 2, 8 EUR
  • assert_equal(8, price([2])): đơn hàng có 1 cuốn Tập 3, 8 EUR
  • assert_equal(8, price([3])): đơn hàng có 1 cuốn Tập 4, 8 EUR
    assert_equal(8, price([4])): đơn hàng có 1 cuốn Tập 5, 8 EUR
  • assert_equal(8 * 2, price([0, 0])): đơn hàng có 2 cuốn Tập 1, 16 EUR
  • assert_equal(8 * 3, price([1, 1, 1])): đơn hàng có 3 cuốn Tập 2, 24 EUR

Các test-case một loại giảm giá:

  • assert_equal(8 * 2 * 0.95, price([0, 1])): đơn hàng có 1 cuốn Tập 1, 1 cuốn Tập 2, giảm giá 5% còn 15,2 EUR.
  • assert_equal(8 * 3 * 0.9, price([0, 2, 4])): đơn hàng có 1 cuốn Tập 1, 1 cuốn Tập 3 và 1 cuốn Tập 5, giảm giá 10% còn 21,6 EUR.
  • assert_equal(8 * 4 * 0.8, price([0, 1, 2, 4])): đơn hàng có 1 cuốn Tập 1, 1 cuốn Tập 2, 1 cuốn Tập 3 và 1 cuốn Tập 5, giảm giá 20% còn 25,6 EUR.
  • assert_equal(8 * 5 * 0.75, price([0, 1, 2, 3, 4])): đơn hàng có 1 cuốn Tập 1, 1 cuốn Tập 2, 1 cuốn Tập 3, 1 cuốn Tập 4 và 1 cuốn Tập 5, giảm giá 25% còn 30 EUR.

Các test-case có vài loại giảm giá:

  • assert_equal(8 + (8 * 2 * 0.95), price([0, 0, 1])): đơn hàng có 2 cuốn Tập 1, 1 cuốn Tập 2, giá bán còn 23,2 EUR.
  • assert_equal(2 * (8 * 2 * 0.95), price([0, 0, 1, 1])): đơn hàng có 2 cuốn Tập 1, 2 cuốn Tập 2, giá bán còn 30,4 EUR.
  • assert_equal((8 * 4 * 0.8) + (8 * 2 * 0.95), price([0, 0, 1, 2, 2, 3])): đơn hàng có 2 cuốn Tập 1, 1 cuốn Tập 2, 2 cuốn Tập 3 và 1 cuốn Tập 4, giá bán còn 40,8 EUR.
  • assert_equal(8 + (8 * 5 * 0.75), price([0, 1, 1, 2, 3, 4])): đơn hàng có 1 cuốn Tập 1, 2 cuốn Tập 2, 1 cuốn Tập 3, 1 cuốn Tập 4 và 1 cuốn Tập 5, giá bán còn 38 EUR.

Các test-case biên:

  • assert_equal(2 * (8 * 4 * 0.8), price([0, 0, 1, 1, 2, 2, 3, 4])): đơn hàng có 2 cuốn Tập 1, 2 cuốn Tập 2, 2 cuốn Tập 3, 1 cuốn Tập 4 và 1 cuốn Tập 5, giá bán còn 51,2 EUR.
  • assert_equal(3 * (8 * 5 * 0.75) + 2 * (8 * 4 * 0.8), price([0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4])): đơn hàng có 5 cuốn Tập 1, 5 cuốn Tập 2, 4 cuốn Tập 3, 4 cuốn Tập 4 và 4 cuốn Tập 5, giá bán còn 141.2 EUR.

Nguồn: http://codingdojo.org/KataCatalogue/

Kata NumbersInWords

Mô tả bài toán

Trong cuộc sống khi mọi người muốn viết số tiền, đặc biệt là một con số cụ thể. Khi viết séc, hóa đơn hoặc hợp đồng, ví dụ một số quốc gia yêu cầu phải viết kèm số tiền bằng chữ để tránh sai sót hoặc gian lận. Do đó khi bạn chuyển 745$ cho ai đó qua séc bạn phải viết như sau:

745.00 $, bằng chữ là “Bảy trăm bốn mươi lăm đô la”

Bước 1

Hãy xây dựng chương trình (method, function) để chuyển đổi số thành chữ.

Bước 2

Xây dựng chương trình chuyển đổi chữ sang số.

Bước 3

Xây dựng tổng hợp các chức năng đó với đầy đủ các kiểm thử.

Nguồn: http://codingdojo.org/KataCatalogue/

Kata FooBarQix

Kata này yêu cầu xây dựng một hàm nhận vào một số để tính toán và trả về một chuỗi thỏa mãn quy tắc sau:

Level 1

Các quy tắc:

  • Nếu số đó chia hết cho 3 thì thêm vào chuỗi từ “Foo”
  • Nếu số đó chia hết cho 5 thì thêm vào chuỗi từ “Bar”
  • Nếu số đó chia hết cho 7 thì thêm vào chuỗi từ “Qix”
  • Nếu số đó chứa chữ số 3, 5, 7, thì thêm vào chuỗi các từ “Foo”, “Bar”, “Qix”.

Ví dụ:

1 => 1
2 => 2
3 => FooFoo (chia hết cho 3, chứa số 3)
4 => 4
5 => BarBar (chia hết cho 5, chứa số 5)
6 => Foo (chia hết cho 3)
7 => QixQix (chi hết cho 7, chứa số 7)
9 => Foo
10 => Bar
12 => Foo
13 => Foo
15 => FooBarBar (chia hết cho 3, chia hết cho 5, chứa số 5)
21 => FooQix (Chia hết cho 3, chia hết cho 7)
33 => FooFooFoo (Chia hết cho 3, chứa hai số 3)
51 => FooBar (Chia hết cho 3, chứa số 5)
53 => BarFoo (Chứa số 5 và số 3)

Level 2

Kata này có thêm một yêu cầu mới đó là đánh dấu vị trí của số 0 bằng cách thêm vào chuỗi ký tựu “*”.

Ví dụ:

101 => 1*1
303 => FooFoo*Foo
105 => FooBarQix*Bar
10101 => FooQix**

Kata DictionaryReplacer

Kata này yêu cầu xây dựng một chức năng đơn giản để thay thế một\một số vị trí nào đó trong chuỗi. Ý tưởng của bài toán này xuất phát từ những chia sẻ của Corey Haines về luyện tập viết mã (aac2009.confreaks.com/06-feb-2009-20-30-lightning-talk-under-your-fingers-corey-haines.html).

Hãy tạo một phương thức nhận vào một chuỗi và một bộ từ điển. Thay thế các vị trí (key) trong chuỗi với các key có trong từ điển. Mỗi key trong chuỗi được đánh dấu bằng cặp ký tự $.

VD về test-case:

  • Test-case 1:
    • Input:
      • Chuỗi: “”
      • Từ điển: null
    • Output: “”
  • Test-case 2:
    • Input:
      • Chuỗi: “\$temp\$“
      • Từ điển: [“temp”, “temporary”]
    • Output: “temporary”
  • Test-case 3:
    • Input:
      • Chuỗi: “\$temp\$ here comes the name \$name\$“
      • Từ điển: [“temp”, “temporary”], [“name”, “John Doe”]
    • Output : “temporary here comes the name John Doe”

Những quy tắc của coderetreat

,

Nhóm nào cũng tuân thủ

  1. Lập trình cặp (Pair Programming): Bạn đã có ai để cặp chưa? Đừng lo, tới sự kiện bạn sẽ kiếm được cạ của mình. Nhưng đừng vội mừng kiếm được cạ rất ưng ý, bởi sau mỗi phiên đối tác của bạn sẽ phải ra đi. Autumn Coderetreat 2017 có 5 phiên (session) làm việc vậy nên bạn có cơ hội cặp với 5 người khác nhau đấy!
  2. Phát triển Hướng Kiểm thử (Test Driven Development – TDD): Bạn đã biết phương pháp code này chưa? Nếu chưa, chớ ngại ngần trong việc đi tìm đối tác biết TDD, cùng lắm là sau 1 phiên làm việc (45′) là bạn TDD nhoay nhoáy thôi! Còn bạn đã thực hành TDD rồi, hãy thực hành nó hoặc dạy cho đối tác của mình về nó nhé. “Một người thạo, hai người vui” :o)
  3. Thiết kế Đơn giản (Simple Design): 4 quy tắc về Thiết kế Đơn giản bạn đã biết rồi chứ? Hãy thực hành nó nhé. Nếu không, chúng cũng không khó khăn để bạn tuân thủ đâu. Cứ đọc kỹ bên dưới là bạn sẽ rõ thôi. Bằng không, đối tác của bạn hoặc các facilitator sẽ giúp bạn hiểu và thực hành chúng.

Cặp nào, quy tắc ấy

Ngoài 3 quy tắc mà nhóm nào cũng phải tuân thủ ở trên, coderetreat còn định nghĩa một loạt các quy tắc khác để các nhóm sử dụng cho các phiên làm việc của mình. Những tuy tắc này là tùy chọn đối với mỗi nhóm, phụ thuộc vào mong muốn nhóm đó muốn rèn luyện kỹ năng\kỹ thuật nào trong lập trình. Dưới đây là danh sách các quy tắc tùy chọn này, đầu phiên làm việc nhóm thảo luận rồi chọn một hoặc một số trong những quy tắc này và tuân thủ chúng suốt phiên làm việc của mình.

  1. No conditional statements
  2. No loops
  3. No mouse
  4. No keyboard shortcut
  5. No naked primitives
  6. Paper only
  7. Text editor only
  8. Max 8|6|4 lines per method
  9. TDD as if you meant it
  10. Other

 

Tìm hiểu nhanh về CodeRetreat

,

Codetreat là gì?

“Retreat” đang là xu hướng. Nhiều người sẽ nghĩ đó là một cuộc trải nghiệm sự tĩnh tâm trong một tu viện. Các lập trình viên thì biết đến thuật ngữ CodeRetreat: Một hình thức học tập đã được thực chứng, nơi bạn tập trung toàn bộ thời gian, khả năng của mình cho việc viết và thiết kế ra những mã tốt mà không chịu áp lực của công việc thường ngày. Qua đó bạn có cơ hội cải tiến kỹ năng, nâng cao kiến thức của mình trong phát triển phần mềm – Bạn được làm điều này mà không bị vướng bận bởi các dự án hiện tại và các deadline bủa vây bạn hằng ngày.

Coderetreat là sự kiện thực hành lập trình chuyên sâu trong một ngày, các hoạt động trong sự kiện tập trung vào những nguyên tắc cơ sở của phát triển và thiết kế phần mềm. Bằng việc tạo cho các nhà phát triển cơ hội để tham gia thực hành có chủ ý, tránh xa những áp lực phải “làm xong hết mọi thứ”, format của coderetreat đã chứng tỏ nó có hiệu quả cao trong việc nâng cao kỹ năng. Luyện tập các nguyên tắc cơ sở của thiết kế theo mô-đun và hướng đối tượng, các nhà phát triển có thể cải thiện khả năng viết mã với chi phí tối thiểu cho sự thay đổi theo thời gian.

Coderetreat không phải là một cuộc hội thảo về công nghệ! Các quy tắc làm việc của sự kiện này hoàn toàn khác, người tham dự tích cực tham gia vào việc viết mã: thực hành rất nhiều, lắng nghe đôi chút.

Cha đẻ của CodeRetreat là Corey Haines, ông và một số bạn bè khác đã đưa ra ý tưởng này từ năm 2009. Bạn có thể tham khảo thêm các thông tin khác về Coderetreat trên trang web http://coderetreat.org

Tại sao tôi nên tham dự?

  1. Có cơ hội thực hành và học những nguyên tắc và kỹ năng căn bản\nền tảng của software craftsmanship (nghề thủ công phần mềm) như Thiết kế Đơn giản (Simple Design), Thiết kế Tiến hóa (Evolutionary Architecture\Emergent Design), Thiết kế Theo Mô đun (Modular Design), Phát triển Hướng Kiểm thử (Test Driven Development – TDD), Các nguyên tắc của OOP, Clean Code, Refactoring, v.v.;
  2. Được tham gia vào Thực hành có Chủ ý , tránh xa những áp lực của công việc thường ngày. Nâng cao kỹ năng của một thợ thủ công phần mềm và khả năng tạo ra các sản phẩm phần mềm có chất lượng cao, giảm thiểu chi phí thay đổi theo thời gian;
  3. Thoát khỏi áp lực deadline\dự án để thoải mái thử nghiệm những ý tưởng mới;
  4. Có cơ hội cải thiện tiến kỹ năng, nâng cao kiến thức của mình trong phát triển phần mềm;
  5. Được giao lưu học hỏi từ người khác, người có kinh nghiệm hơn và thể hiện mình;
  6. Cơ hội gặp gỡ và thảo luận với những thợ thủ công phần mềm cũng như những người quan tâm tới nghề thủ công phần mềm tới từ nhiều nơi trong một phạm vi rộng lớn
  7. Và hơn thế nữa… !

 

Chín thói quen xấu cần bỏ nếu muốn theo ngành CNTT

1. Không chịu đọc tài liệu trước khi dùng

Đây là một trong những thói quen tệ hại nhất nhưng lại thường gặp nhất. Có lẽ thói quen này nảy sinh từ tính thân thiện của “giao diện đồ hình” (GUI) khiến cho người dùng bồi đắp thói quen mò mẫm mà không cần đọc hướng dẫn nhưng cũng sử dụng được máy. Việc này không có gì đáng ngại đối với người dùng (rất) bình thường. Tuy nhiên, nếu bạn có ý định theo đuổi ngành CNTT một cách nghiêm túc thì hãy bỏ ngay thói quen tai hại này bởi vì đây là rào cản lớn nhất cho sự phát triển. Kiến thức vững chắc không phải… mò mà ra. Tài liệu hướng dẫn không phải vô cớ mà được viết ra.

2. Đọc lướt

Đây cũng là một thói quen tệ hại và phổ biến không kém. Ngay trên những diễn đàn, với những ý kiến và chỉ dẫn bằng tiếng Việt rất cô đọng, rành mạch và dễ hiểu nhưng vẫn có quá nhiều người chỉ đọc lướt để rồi quay lại tiếp tục thắc mắc. Đây là thói quen cực kỳ nguy hiểm bởi vì nó rèn cho trí não thói quen đọc lướt. Việc này dẫn đến chỗ kiến thức thu thập một cách hời hợt, tạm bợ và chắp vá. Nếu những ý kiến bằng tiếng Việt rất cô đọng, rành mạch và dễ hiểu nhưng vẫn không chịu khó đọc kỹ và suy gẫm thì việc tham khảo, tổng hợp các sách tiếng nước ngoài gần như là vô khả thi.

3. Bắt chước mà không suy nghĩ

Khi bắt đầu làm quen với những thứ trong ngành CNTT, cách dễ nhất là bắt chước làm theo từng bước. Nếu cứ nhắm mắt làm theo nhưng không hề suy nghĩ lý do tại sao mình làm như vậy, không thử đặt câu hỏi những gì xảy ra đằng sau những “bước” ấy thì không chóng thì chày sẽ tạo cho mình một thói quen tai hại: bắt chước không suy nghĩ không tư duy như một cỗ máy. Từ chỗ làm theo từng bước có sẵn mà không suy nghĩ đến chỗ biến thành thói quen thì khả năng nhận định và tư duy sẽ bị thui chột. Chẳng những vậy, thói quen này kiềm hãm sự thẩm thấu kiến thức xuyên qua hàng loạt những câu hỏi. Tự đặt câu hỏi chính là cách buộc trí não mình làm việc và là viên đá đầu tiên để dấn thân vào chỗ phát triển trí tụệ.

4. Sợ khó

Sợ khó tưởng chừng quá thông thường trên mọi lãnh vực nhưng trong lãnh vực CNTT thì thói quen “sợ khó” là thói quen giết chết ngay bước đầu làm quen và phát triển. Chẳng có ngành nghề thực thụ, đòi hỏi trí tuệ mà lại dễ dàng hết. Thói quen “sợ khó” biểu hiện từ chuyện đơn giản như học ngoại ngữ (để có thể tham khảo thêm tài liệu ngoại ngữ) cho đến chuyện tự mình đối diện với những khó khăn trong khi trau dồi kiến thức và kinh nghiệm. Thói quen này lâu dần ăn sâu và dẫn đến chỗ không muốn và không thể giải quyết được điều gì nếu chỉ cảm thấy có trở ngại. Nên tránh xa câu này: vạn sự khởi đầu nan, gian nan bắt đầu nản.

5. Viện cớ

Quá trình tích lũy kiến thức luôn luôn có những khó khăn và trở ngại. Nếu chính bản thân mình không tự kỷ luật và tự nghiêm khắc thì chẳng còn ai trên đời này kỷ luật và nghiêm khắc giúp mình. Từ chỗ không kỷ luật và không nghiêm khắc, chỉ cần một thời gian rất ngắn có thể dẫn đến sự đổ vỡ, sợ hãi, chán nản và để bào chữa cho sự đổ vỡ thường là những viện cớ. Viện cớ chỉ để ẩn nấp sau cái cớ nhưng sự thật sụp đổ vẫn tồn tại. Tránh xa những câu như “nhà em nghèo”, “hoàn cảnh khó khăn”, “vì em là newbie” mà nên biết rằng vô số những người khác cũng như mình và thậm chí còn khó khăn hơn mình. Nên nhớ rằng, ngay khi dùng cái cớ để viện thì lúc ấy mình đã chính thức thất bại rồi.

6. “Đi tắt đón đầu”

Trên đời này chẳng có loại tri thức đích thực nào hình thành từ “đi tắt” và “đón đầu” cả. “Mì ăn liền” có cái ngon của nó nhưng chính “mì ăn liền” không thể hình thành một bữa ăn thịnh soạn và đầy đủ. Tri thức đích thực cũng như thức ăn, nó cần điều độ, liều lượng và thời gian để… tiêu hoá. Tư duy và thói quen “đi tắt” luôn luôn dẫn đến những lổ hổng khủng khiếp trong kiến thức. Những lổ hổng ấy xem chừng không nhiều và không quan trọng khi kiến thức còn ít ỏi và nhu cầu công việc còn sơ khai. Tuy nhiên, một khi đối diện với những khó khăn và phức tạp trong công việc và trong đời sống thì những thứ “đi tắt đón đầu” là nguyên nhân sâu xa của những đổ vỡ và thất bại. Hãy nhớ: đừng đi tắt và đừng đón đầu bởi vì chẳng có cái đường tắt nào trong hành trình đi tìm tri thức.

7. “Nghe nói là…”

Cụm “nghe nói là…” là một cụm phổ biến đến độ chóng mặt. Bất cứ một ngành khoa học hay có liên quan đến khoa học không thể dựa trên “nghe nói” mà luôn luôn cần dựa trên các bằng chứng khoa học và những bằng chứng ấy cần chính xác và cụ thể. Chính vì có thói quen “nghe nói” mà đánh rớt những cơ hội tìm tòi và kiểm chứng; những cơ hội quý báu để trau dồi kiến thức và kinh nghiệm. Cái gì không rõ thì nên tìm tòi và đừng “nghe nói” mà phải được thấy, được phân tích và được kiểm chứng. Không bỏ được thói quen này thì cách tốt nhất đừng bén mảng gần bất cứ ngành khoa học nào vì chỉ chuốc lấy sự thất bại và lãng phí.

8. Niềm tin và hy vọng

Trong khoa học, khi nói đến kết quả và sự kiến tạo hoặc thậm chí con đường đi đến sự kiến tạo và kết quả thì hoàn toàn không có chỗ cho “niềm tin” và “hy vọng” một cách mù mờ. Thói quen “restart” lại máy hay “restart” lại chương trình với “hy vọng” nó sẽ khắc phục sự cố đã trở thành thói quen cố hữu. Nếu không có điều kiện thay đổi nào khác thì có “restart” một triệu lần và hy vọng một triệu lần thì kết quả vẫn y hệt nhau. Đừng “tin” và đừng “hy vọng” vào sự thay đổi của kết quả nếu như chính bạn không kiểm soát và thay đổi để tạo thay đổi trong kết quả. Tất cả mọi hoạt động từ lập trình cho đến quản lý hệ thống, quản lý mạng, bảo mật, reverse engineering…. thậm chí đối với người dùng bình thường, khi kết quả không như ý, sự điều chỉnh là điều cần thiết thay vì lặp lại y hệt hành động và chỉ… hy vọng.

9. Không vì trí tuệ mà vì… “đẳng cấp”

Lắm bạn lao vào ngành này không phải là vì trí tuệ, vì kiến thức, vì đóng góp một cái gì đó ích lợi cho xã hội mà là vì… đẳng cấp mơ hồ nào đó. Nếu tiếp tục lao vào và chọn lấy một muc tiêu mơ hồ thì sẽ không bao giờ đi đến đích được. “Đẳng cấp” là một thứ mơ hồ, vô ích và đầy cá nhân tính nhưng khi nó biến thành thói quen và mục tiêu để nhắm tới thì nó chẳng mang lại được gì ngoài sự thất bại ngay từ đầu vì hoàn toàn không có một phương hướng nào cả. Trau dồi kiến thức hoàn toàn khác với việc xoa dịu mặc cảm (“đẳng cấp”).

Nguồn : tapchilaptrinh.vn

“Cần dạy Agile càng sớm càng tốt!”

 

Nguồn nhân lực ngành IT vẫn luôn là câu chuyện nóng hổi suốt nhiều năm nay. Sáng nay AgileBreakFast được hân hạnh tiếp chuyện cùng anh Nguyễn Tuân, Giám đốc Đào tạo của FPT-Aptech Hà Nội xoay quanh công việc nuôi dưỡng nhân lực cho ngành phát triển phần mềm. Chúng ta sẽ cùng anh Tuân trao đổi những góc nhìn về Agile, Scrum, Lean và công việc đào tạo lập trình.

ABF: Xin chào anh Tuân, ABF rất hân hạnh được trò chuyện cùng anh về Agile, Scrum và đào tạo lập trình viên .

NT: Xin chào AgileBreakFast, tôi rất vui lòng. Agile và đào tạo lập trình luôn là niềm yêu thích của tôi.

ABF: Theo dõi các hoạt động của FPT-Aptech Hà Nội vài năm gần đây thì mọi người đều thấy các anh đang rất bền bỉ thúc đẩy giảng dạy, học tập và thực hành Agile. Vì sao vậy thưa anh?

NT: Chúng tôi nhận thấy việc học lập trình của các bạn sinh viên về cơ bản là tốt nhưng lại thường gặp vấn đề về kỹ năng làm việc nhóm. Trước khi đưa Agile vào giảng dạy và sử dụng trong các đồ án cuối kỳ của sinh viên, chúng tôi có áp dụng một số phương pháp truyền thống như Waterfall nhưng kết là sinh viên gặp rất nhiều vấn đề trong kỹ năng làm việc nhóm, quản lý dự án, phản ứng chậm với yêu cầu điều chỉnh và đặc biệt là hiệu quả thấp. Rất may là chúng tôi được cộng tác với các chuyên gia của Agile từ rất sớm, băt đầu từ khoảng giữa năm 2008.

ABF: Xin anh hãy kể ra những hoạt động nổi bật nhất được không?

NT: Chúng tôi đã 3 năm liên tiếp đồng hành cùng AgileVietnam.org tổ chức AgileTour tại FPT-Aptech trong các sự kiện thường niên. Rất nhiều các Workshop về Agile để đào tạo cho giảng viên và sinh viên được tổ chức. Sinh viên sẽ có nhiều trải nghiệp thực tế với Agile thông qua 4 Project trong suốt khoá học 2 năm.

ABF:Theo anh, tại sao những lập trình viên cần sớm được biết đến Agile?

NT: Nói đến lao động tức là nói đến năng suất hiệu quả công việc. Agile giúp cho tăng năng suất hiệu quả làm việc hiển nhiên càng biết sớm càng tốt.

ABF:Có người cho rằng học Agile rất khó, phải lập trình viên “già dơ” mới học được. Điều này có đúng không thưa anh?

NT: Tôi không nghĩ như vậy, trong giới Agile có một định nghĩa vui là ScrumBut để chỉ việc thực hành Scrum không chuẩn, hay sửa đổi quy tắc. Đối tượng hay ScrumBut nhất lại thường là đối tượng “già dơ”, vì họ đã trải qua một số các quy trình làm phần mềm nào đó và khá khó để có thể khiến họ tuân thủ đúng Scrum chuẩn. Với người mới học lập trình thì điều này ít xảy ra vì không bị ảnh hưởng bởi các yếu tố trên, do đó việc học Agile ở sinh viên còn thuận lợi hơn so với người đã có nhiều năm kinh nghiệm.

ABF: Các anh dạy Agile như thế nào?

NT: Sau khi kết thúc mỗi kỳ học(4 kỳ) sinh viên sẽ được làm dự án với các yêu cầu ngặt nghèo như một sản phẩm thật. Bài toán thật, khách hàng thật, môi trường thật và quy trình thì sử dụng Agile. Các sinh viên sẽ được chia nhóm từ 3-5 sinh viên một nhóm. Các nhóm sẽ được huấn luyện về Agile trước trong vòng 1 tuần, sau đó là áp dụng vào sản phẩm của các em. Trong suốt quá trình đó sẽ có sự đồng hành của giáo viên đóng vai trò là Product Owner, toàn bộ quá trình này là 1,5 tháng.

ABF: Anh nói là “quy trình Agile”, liệu cách nói này có khiến người khác hiểu nhầm Agile là “quy trình” không? Agile, ngoài quy trình còn là gì nữa?

NT: Vâng chính xác là các phương pháp của Agile, cụ thể là chúng tôi sử dụng Scrum Framework, như các bạn đã biết Agile có XP, Scrum, Lean Software Development, AgileUP, Crystal, FDD, DSDM… đều hướng tới yếu tố linh hoạt, hiệu quả làm việc, tinh giảm chi phí, giảm thiểu sai sót, gia tăng sự cộng tác. Chúng tôi sử dụng Scrum vì Scrum phù hợp với tiêu chí của chúng tôi là gọn nhẹ, linh hoạt, đề cao tinh thần teamwork và có thể hoàn thành tốt project trong thời gian ngắn.

ABF: Liệu sinh viên IT có thể tự học Agile mà thành thạo được không? Hay phải tham gia các nhóm dự án chuyên nghiệp?

NT: Cái khó nhất của Agile là thực hành, áp dụng vào sản phẩm chứ không chỉ hiểu và biết nên môi trường tốt nhất vẫn phải là các dự án thực tế, tất nhiên không nhất thiết phải là các nhóm dự án chuyên nghiệp. Nhưng điều quan trọng là cần có huấn luận viên tham gia cùng nhóm dự án.

ABF: Liên quan đến chuyện học lập trình, theo anh phải mất bao lâu thì một lập trình viên mới thạo nghề được?

NT: 10.000 giờ thực hành có chủ đích là con số tiêu chuẩn để trở thành chuyên gia. Tại FPT-Aptech sau 2 năm học có sự tập trung tốt các bạn sinh viên của chúng tôi có thể sẵn sàng làm việc tốt được.

ABF: Riêng Agile, phải mất bao lâu thì có thể thạo được các kĩ thuật cơ bản?

NT: Nếu được tiếp cận với Agile “chuẩn”, được huấn luyện với các chuyên gia của Agile và quan trọng hơn là được áp dụng thực tế có sự kèm cặp của huấn luận viên thì có thể chỉ sau một dự án là đã có thể thạo rồi.

ABF: Liệu có cần đến 10.000 giờ nữa để thành “nghệ nhân phần mềm” (software craftsman) không, thưa anh?

NT: Vâng tất nhiên rồi, mọi công việc đều cần có thời gian cần thiết để thẩm thấu, để tinh thông nghề. Gladwell đưa ra quy tắc 10 năm/10.000 giờ của một người làm nghề liên tục có chủ đích.  Quy tắc này có tác dụng ngay lập tức khi liên hệ với những người giỏi chuyên môn thực hành liên tục trong nghề của mình. Tuy nhiên không phải là cứ làm việc liên tục đủ 10 năm thì bạn sẽ trở thành nghệ nhân trong nghề đó, điều này khó có thể đạt được nếu anh làm một việc lặp đi lặp lại trong từng ấy năm. Nó đòi hỏi thêm năng lực tự học, học tập liên tục, học tập chuyên sâu để đạt được kỹ năng tinh thông về nghề nghiệp.

ABF: Nhưng Agile nó như kĩ năng mềm, trong khi công nghệ (ví như các nền tảng Java/.NET/iOS…) mới trực tiếp tạo ra sản phẩm. Vậy vai trò thực sự của Agile là gì?

NT: Đó chính là vấn đề mấu chốt của chúng tôi khi chưa áp dụng Agile tại FPT-Aptech. Sinh viên có kỹ năng thực hành tốt, nhưng thực tế thì hiệu quả làm sản phẩm, làm việc nhóm kém hiệu quả. Agile có khả năng linh hoạt tốt, việc điều chỉnh hoặc thay đổi trong sản phẩm theo yêu cầu của khách hàng hoàn toàn có thể đáp ứng tốt, bên cạnh đó hoạt động trong Teamwork gắn kết chặt chẽ, thông tin thông suốt rõ ràng. Không có điểm mù trong dự án hoàn toàn là white box chứ không phải black box như mô hình waterfall điều này giúp cho việc nhận diện vấn đề sớm để có phương án xử lý. Ngay cả với lập trình viên làm việc độc lập thì kỹ năng giải quyết vấn đề (problem-solving) là kỹ năng “mềm” quan trọng nhất, kỹ năng này đòi hỏi người lập trình viên phải có cái nhìn bao quát về vấn đề của bài toán rồi đưa ra các phân tích, đánh giá chi tiết, từ đó có được giải pháp tốt nhất.

ABF: Chúng tôi thấy xu hướng các bạn thích làm ra sản phẩm ngay, cả lập trình viên cũng vậy, chứ ít quan tâm tới những thứ mang tính “luyện công” như TDD, các kĩ thuật Refactoring, Design Pattern hay Scrum. Theo anh điều này có hại gì cho việc phát triển năng lực lâu dài của lập trình viên?

NT:  Điều chúng tôi chú tâm là thúc đẩy việc học tập liên tục cho sinh viên. Đây là năng lực quan trọng nhất để có thể thích nghi được với sự thay đổi của công nghệ. Ban đầu việc đạt được đến mức tạo ra sản phẩm với người lập trình viên mới là mức cơ bản. Nhưng về lâu dài nếu không đầu tư vào các kỹ thuật như bạn nói thì năng lực lập trình khó mà đạt đến độ “tinh hoa”, vì khi đã đi vào vòng xoáy làm việc, hết dự án này sang dự án khác thì điều kiện để đạt được kỹ năng “nghệ nhân” là rất khó. Giống như tôi đã nói ở trên thì quy tắc 10 năm/10.000 giờ của Glawell là phải thực hành có chủ đích.

ABF: Học Agile là để làm ra những sản phẩm sáng tạo, mang lại giá trị cho người dùng. Trong đó, có những giá trị có thể giúp cho người lập trình viên giàu có. Liệu chúng ta có nên khuyến khích các sinh viên khởi nghiệp từ sớm không?

NT: Nên khởi nghiệp càng sớm càng tốt kể cả là 99,9 % khởi nghiệp là thất bại thì giá trị bạn học dược, kinh nghiệm và 0,1 phần trăm thành công là giá trị vô giá mà bạn đạt được.

ABF: Liệu thất bại có đáng sợ không, dễ vượt qua không?

NT: Khi bạn làm một việc với sự quyết tâm cao nhất, tâm huyết nhất, kỳ vọng vào sự thành công và tiêu đến những đồng tiền cuối cùng của mình, thậm chí nợ nần; thì sự thất bại hiển nhiên là đáng sợ chứ! Tuy nhiên điều đó còn tuỳ thuộc rất nhiều vào sự nhìn nhận của mỗi nhóm phát triển, mỗi cá nhân. Nếu có sự phân tính, đánh giá, để giúp tìm ra vấn đề của sản phẩm từ đó điều chỉnh để có được sự chuẩn bị tiếp theo tốt hơn thì không có gì đáng sợ cả :).

ABF: Thế mà giới khởi nghiệp lại có khẩu quyết “Fail Fast, Fail Often” (thất bại sớm, thất bại thường xuyên)?

NT: Lean Startup khuyến khích việc làm quen với thất bại sớm, từ đó giảm thiểu nỗi lo sợ thất bại. Chuẩn bị cho sự thất bại để từ bài học thất bại dẫn đến bài học thành công.

ABF: Liệu học Lean Startup có giúp gì cho sự khởi nghiệp của sinh viên IT không?

NT: Rất cần thiết! Lean Startup hiện giờ là cách tốt nhất để phát triển ý tưởng mới và là phương thức giúp cho các bạn sinh viên sớm tìm ra các rủi ro các vấn đề nhận định sai lầm của mình về thị trường để từ đó có được sự chuẩn bị tốt hơn. Điều cốt lõi của Lean Startup là giúp đưa nhanh sản phẩm ra thị trường, từ đó có thể đo đạc được hiệu quả tính khả thi và cải tiến. Điều này sẽ tiết kiệm được chi phí thời gian và tiền bạc.

ABF: Anh ấn tượng gì về hiện tượng Hà Đông FlappyBird? Liệu những ấn tượng Hà Đông có tác động gì vào đội ngũ nhà giáo IT không?

NT: Hiện tượng Hà Đông như một minh chứng rõ ràng cho thấy rằng lập trình là cơ hội rất lớn để chúng ta có thể chơi ngang ngửa với các bạn lập trình viên khác ở các nước có công nghệ thông tin phát triển. FlappyBird đã trở thành huyền thoại không chỉ ở Việt Nam còn là hiện tượng của cả thế giới làm Game di động, không quá lời khi nhiều hãng báo chí nói rằng Hà Đông đang dạy lại thế giới cách làm game di động. Tôi nghĩ là có tác động khá tích cực đến giảng viên IT, tạo ra sự phấn khích trong nghề là điều rất quan trọng đối với chúng tôi nó truyền cảm hứng đến sinh viên của mình.

ABF: Liệu việc đưa Agile vào đào tạo sớm trong nhà trường, cùng với cơ chế khuyến khích startup có góp phần tạo thêm nhiều câu chuyện FlappyBird nữa không?

NT: Tôi cho là có.

ABF: Gần đây có hai sự kiện đáng chú ý: doanh nghiệp có tiếng rời bỏ Việt Nam là Atlassian và eXo Platform. Một số cho rằng nguyên nhân là do thiếu vắng nhân lực chất lượng cao? Anh đánh giá điều này như thế nào?

NT: Tôi không rõ chính xác nguyên nhân chính là gì! Nhưng nhân lực chất lượng cao đúng là chúng ta đang thiếu, thiếu rất nhiều. Việc đào tạo nhân lực CNTT hiện nay của chúng ta chưa chú trọng nhiều vào việc đào tạo nhân lực chất lượng cao, chưa trang bị cho họ nhưng kỹ năng để có thể thích nghi và ứng biến với sự thay đổi nhanh chóng của công nghệ. Với các công ty phần mềm cũng vậy, họ chưa chú trọng nhiều đến việc xây dựng văn hoá học tập, khuyến khích nhân viên phát triển năng lực cá nhân. Một loạt các vị trí nhân lực chất lượng cao bị bỏ trống ở các công ty phần mềm phần nào nói lên điều này.

ABF: Agile có thực sự là một cơ hội tốt để nâng tầm tay nghề chuyên viên phát triển người Việt không?

NT: Agile là cơ hội rất tốt cho việc phát triển tay nghề, tôi nghĩ khá nhiều người, nhiều công ty đã nhìn ra hiệu quả của nó. Theo dõi trong vài năm trở lại đây các sự kiện AgileTour, ScrumDay, CodeRetreat tôi thấy số lượng các CTO, CEO, các lập trình viên tham dự càng ngày càng đông. Cộng đồng Agile tại Việt Nam hoạt đông rất tích cực, có thể nói Agile không còn là khái niệm quá xa lạ không chỉ các công ty công nghệ mà còn ở các công ty về y tế, giáo dục, truyền thông. Tôi có một anh bạn làm cố vấn Marketing tại một tập đoàn đa ngành nghề đã áp dụng Agile Marketing trong công việc và thu được là rất tốt. Hiện tại doanh nghiệp bên anh ấy làm việc rất Agile.

ABF: Anh là một giảng viên có hơn 10 năm dạy lập trình, chắc hẳn có nhiều sinh viên đáng nhớ. Anh có thể kể ra một trường hợp sinh viên nào mà anh rất ấn tượng về cách lĩnh hội các công nghệ và tri thức mới không?

NT: Tôi nhớ một bạn sinh viên khá cá biệt. Học hành nói chung là chểnh mảng. Nhưng lại có ưu điểm là tiếng Anh rất khá, nghe nói điểm IELTS cao lắm, thực tế thì giỏi thật.  Tôi nói với cậu ấy là em đã có một lợi thế rất lớn mà rất nhiều các bạn khác mới chỉ ở xuất phát điểm thôi. Tôi có đưa cho cậu ấy một cuốn eBook là tài liệu đọc thêm và giao cho nhiệm vụ cộng tác với một bạn học khá trong lớp dịch 1 chương trong nội dung bài học sắp tới để chia sẻ với các bạn trong lớp, khuyến khích trình bày bằng Powerpoint. Kết quả khá tốt, được các bạn và thầy giáo khuyến khích, bạn ấy hăng hái nhận dịch luôn vài chương nữa. Điều tôi rất vui là cuối cùng đó lại là một trong nhưng sinh viên rất triển vọng. Giờ cậu ấy đang làm bên Mỹ, hài lòng với lựa chọn của mình. Tôi vẫn thường đưa ví dụ này ra nói với các bạn sinh viên khoá sau, bên cạnh những yếu tố quan trọng khác, thì Tiếng Anh phải học cẩn thận, coi như là điều kiện cần để giúp bản thân nâng cao tri thức, tiếp cận với thế giới công nghệ dễ dàng hơn.

ABF: Xin anh cho biết là việc liên tục đuổi theo những sự phát triển của IT  có khiến các giảng viên mệt mỏi không?

NT: Chúng tôi không đuổi theo mà chúng tôi đón đầu công nghệ nên không thể nói là mệt :D. Trong ngành IT của chúng tôi chuyển động đều là tụt hậu rồi. Làm việc và giảng dạy trong ngành IT có thể coi là một cơ hội rất tốt để tiếp cận “sớm” với tri thức mới, nên đó lại là lợi thế của giảng viên IT.

ABF: Nhân câu chuyện về Agile, anh có nhắn gửi gì tới những sinh viên của mình không?

NT: Tôi vẫn thường nói với các bạn sinh viên của mình học tập là một quá trình lâu dài và liên tục. Ngay cả khi các em đã đi làm thì tinh thần này vẫn phải duy trì. Đó là một việc không dễ đòi hỏi sự kiên trì, cần nhiều các hạnh động cụ thể để thích nghi và duy trì. Với sự thay đổi nhanh chóng của công nghệ, thì những thứ là số một của ngày hôm nay có thể là tối thiểu của ngày mai. Nên khả năng thích nghi và nâng cấp bản thân để phù hợp với các quy trình, công nghệ… là rất quan trọng.

ABF: Xin cảm ơn anh!

Nguồn : tapchilaptrinh.vn