SOLID - Tổng kết
Nếu các bạn đã đọc đến đây thì tôi xin gửi lời cảm ơn trước tiên. Những gì tôi viết ra, có những thứ nằm trong kế hoạch, nhưng cũng có những thứ ngẫu hứng. Nhiều chỗ còn khá lộn xộn và cần bạn phải tự sắp xếp để mạch lạc hơn. Có lẽ tôi sẽ cố gắng biên soạn lại một lần, bổ sung những góp ý của mọi người để nó hoàn thiện hơn. Nhưng cũng như tôi nói từ bài mở đầu, những thảo luận trong series này không toàn diện và phản biện là điều cần thiết và đáng quý.
Dưới góc độ của một senior dev, tôi hi vọng các nội dung này tới được với các bạn trẻ, vì nó phần lớn đến từ kinh nghiệm thực tiễn của tôi, và vì thế, nó có những góc nhìn chủ quan chứ không phải một nội dung giáo khoa và bạn có quyền đánh giá, nhận xét, chiêm nghiệm.
Một lời khuyên cũ rích mà tôi vẫn muốn nhắn gửi, để nằm bắt được những kiến thức này, điều bạn cần làm là code nhiều lên. Những dự án phụ - side project rất có ý nghĩa. Các dự án phụ này chứa đựng nhiều tình cảm của các bạn hơn, và có thể, nó sẽ nhận được nhiều tâm huyết hơn, sẽ thúc đẩy bạn tìm kiếm giải pháp nhiều hơn. Không được thuận lợi cho lắm, OOP hiện tại không phải là xu hướng yêu thích. Ngay cả cá nhân tôi cũng không hoàn toàn muốn chọn OOP trong nhiều trường hợp vì có nhiều lựa chọn khác hiệu quả hơn. Nhưng các mô hình lập trình chia sẻ với nhau nhiều nguyên tắc chung và tài liệu về OOP lại phong phú và có chiều sâu hơn cả. Việc nghiên cứu về OOP sẽ không thừa với mọi người.
Một vài kĩ năng mặc dù không liên quan đến code nhưng lại hữu ích, không chỉ cho lập trình viên mà có lẽ cho mọi nghề nghiệp, đó là khả năng phân tích nghiệp vụ và tư duy sản phẩm. Đừng phụ thuộc vào BA về nghiệp vụ. Tư duy logic của lập trình viên là vũ khí lợi hại trong phân tích nghiệp vụ. Còn về tư duy sản phẩm, suy diễn ra là khả năng đặt mình vào vị trí của khách hàng, người bán hàng và đối thủ cạnh tranh. Dưới những góc nhìn và suy luận đó, bạn mới có thể tưởng tượng ra hệ thống mà mình xây dựng sẽ như thế nào, nó sẽ biến đổi ra sao để đáp ứng với hiện thực, từ đó mới bắt đầu suy nghĩ về thiết kế.
Điều may mắn và tuyệt với nhất là nếu các bạn có thể tìm thấy một người hướng dẫn về kĩ thuật giỏi (bạn sẽ cần nhiều người dẫn hướng cho mình, có người giúp bạn thăng tiến, có người giúp bạn nâng cao kĩ năng chuyên môn). Tôi chỉ có được một nửa may mắn này vì tôi đã có những sếp giỏi, còn tôi tự dõi theo mà học từ các anh ấy. Tình huống của tôi có lẽ là phổ biến và nó cũng phù hợp với câu trích dẫn của các youtuber: "Không có ai rảnh mà dạy bạn đâu".
Cuối cùng, mong các bạn sẽ có được kiến thức từ những bài viết này.
All rights reserved