Tư duy theo bản chất vấn đề

Tư duy theo bản chất vấn đề là cách tiếp cận một bài toán bằng việc xác định đặc tính cốt lõi của nó trước, rồi mới chọn công cụ và giải pháp phù hợp, thay vì xuất phát từ quan điểm hay sở thích cá nhân. Quyết định kỹ thuật được đặt trên đặc tính của vấn đề, không phải trên thói quen của người giải.

Một minh họa là việc lựa chọn giữa lập trình hướng đối tượng và lập trình hướng thủ tục cho một RESTful API. Đặc tính cốt lõi của REST là stateless: server không lưu trạng thái của request từ client, các request độc lập với nhau. Lập trình hướng đối tượng duy trì trạng thái trong các object, còn lập trình hướng thủ tục chỉ tập trung vào logic xử lý với đầu vào và đầu ra. Vì bản chất stateless không cần lưu trạng thái, lập trình hướng thủ tục là lựa chọn hợp lý hơn nhờ đơn giản, dễ bảo trì và dễ kiểm thử. Lựa chọn này đến từ bản chất stateless của REST chứ không từ định kiến rằng một kiểu lập trình luôn tốt hơn kiểu còn lại.

Tư duy theo bản chất gắn liền với việc trừu tượng hóa và mô hình hóa vấn đề trong đầu trước khi thao tác. Khi nhìn ra bản chất, nhiều công nghệ phức tạp trở nên dễ tiếp cận: Protocol Buffer bản chất là một bộ serializer và deserializer dữ liệu, còn RESTful API và gRPC bản chất đều là lời gọi function. Hiểu được lớp trừu tượng cốt lõi giúp tiếp cận và xử lý vấn đề nhanh hơn vì người giải làm việc với khuôn mẫu tổng quát thay vì các chi tiết bề mặt rời rạc.