Hồi xưa lúc học toán, thầy hay dạy cách giải quyết những “dạng” toán. Dạng ở đây chính là tập hợp những bài toán có điểm chung nào đó trong cách phân tích, suy luận, cách giải, … Thường bạn nào biết cách tổng hợp và tự tìm ra những “dạng” toán cho mình thì sẽ tiến bộ nhanh hơn, chỉ cần làm 1-2 bài là biết làm các bài tương tự. Ngược lại thì sẽ rơi vào tình trạng làm nhiều mà vẫn không tiến bộ.

Trong quá trình học tập và làm việc sau này mình cũng thấy tương tự, người biết cách “tổng quát hóa, trừu tượng hóa” vấn đề thì sẽ học nhanh và hiệu quả hơn. Chỉ cần được hướng dẫn một, hai lần là đã biết đúc kết lại thành những vấn đề tổng quát, trừu tượng, … để từ đó áp dụng cho các vấn đề tương tự. Từ đó tiến bộ nhanh hơn.

Còn thiếu kỹ năng tổng quát, trừu tượng hóa, sẽ khiến rơi vào tình trạng: kinh nghiệm 5 năm chỉ là 1 năm nhân 5 lần, dù có làm nhiều và kinh nghiệm nhiều nhưng lại không tiến bộ được bao nhiêu.

24852257_10213307961350290_1978660622174308521_n

Hình này minh họa cho ý: để cho việc sáng tạo được hiệu quả, cần xác định những giới hạn cho việc sáng tạo đó. Giới hạn ở đây có thể là một tập các quy luật, mô tả những ý tưởng gì là phù hợp, ý tưởng gì thì sẽ cần phải loại bỏ ngay từ đầu.

Những lĩnh vực khác mình rõ lắm, nhưng trong cái ngành phần mềm của mình, sự sáng tạo thường phải đi đôi với một vấn đề gì đó cần phải giải quyết.

Do vậy, không tạo cho mình một vài điều kiện ràng buộc để sàng lọc ý tưởng sẽ dễ dẫn đến việc sáng tạo một cách lan man không mục đích.

Đề ra một phương pháp có vẻ hay, nhưng lại không giải quyết được vấn đề nêu ra. Nghĩ đến một kỹ thuật cool để code, mà lại không làm ra được specs. Tạo ra một giao diện độc đáo chưa ai nghĩ đến, và cũng chẳng ai biết cách xài luôn ….