[Tâm Sự Code] Chúng ta đang làm Kỹ sư hay chỉ là "Thợ gõ" đi trên lối mòn an toàn? Cách bứt phá!
Chủ đề hôm nay không có một dòng code nào cả, nhưng nó lại quyết định việc 5 năm nữa anh em là một Kỹ sư phần mềm (Software Engineer) hay chỉ là một gã "Thợ gõ" (Code Monkey) sắp bị AI thay thế.
Câu hỏi trăn trở là: Liệu chúng ta có đang dậm chân tại chỗ, đi lại đúng cái lối mòn an toàn mà các bậc tiền bối đã vạch sẵn hay không? Và làm sao để bứt phá?
1. Cái bẫy của sự "An Toàn" và vầng hào quang của Framework
Anh em thử nhìn lại công việc hằng ngày của mình xem: Sáng đến công ty, pha ly cà phê, mở Jira nhận ticket. Tạo một cái nhánh mới trên Git. Mở Laravel/Spring/Nodejs lên. Tạo một cái Controller mới, móc nối xuống Service, gọi hàm của ORM chọc vào Database lấy data, nhét vào JSON rồi trả về cho Frontend. Chiều fix vài con bug lặt vặt. Xong việc, đi về.
Mọi thứ chạy trơn tru. Công ty vẫn có lãi, lương vẫn đổ về tài khoản đều đặn. Cuộc sống màu hồng!
Nhưng đó chính là Lối mòn. Các tiền bối (những người tạo ra Framework, Pattern) đã xây sẵn một con đường cao tốc quá đẹp. Anh em ta chỉ việc lên xe, đạp ga và đi.
- Cần kết nối DB? Có ORM lo.
- Cần Auth? Có thư viện JWT cài bằng 1 dòng lệnh.
- Cần scale? Nhét Docker, thả lên Kubernetes.
Chúng ta đang sống trong ảo tưởng về sự trưởng thành. Bạn nghĩ mình đang giỏi lên vì học được Laravel bản mới nhất, hay xài thành thạo thêm vài tool xịn sò. Nhưng thực chất, bạn chỉ đang học cách sử dụng công cụ của người khác tạo ra. Bạn đang đi trên bề mặt của tảng băng chìm.
Khi Github Copilot và ChatGPT ra đời, chúng viết các đoạn code CRUD (Thêm, sửa, xóa) hay Boilerplate (Code mẫu) nhanh gấp 10 lần bạn, chuẩn xác không thiếu một dấu phẩy. Nếu công việc của bạn chỉ là chắp vá các thư viện có sẵn... thì tin buồn là, vị trí của bạn đang lung lay dữ dội.
2. Làm sao để biết mình đang mắc kẹt trong "lối mòn"?
Nếu anh em có trên 3 dấu hiệu sau đây, thì đã đến lúc phải báo động đỏ:
- Sợ Source Code: Xài thư viện bị lỗi, thay vì bấm Ctrl + Click nhảy vào thư viện xem nó viết cái quái gì bên trong, bạn lại vội vàng copy dòng log đỏ chót quăng lên Google hoặc hỏi ChatGPT.
- "Code chạy là được, kệ mẹ nó tại sao": Bạn chép một đoạn config Nginx trên StackOverflow về, web chạy được. Sếp hỏi: "Cái cờ proxy_set_header kia để làm gì vậy em?", bạn gãi đầu: "Dạ em cũng chả biết, trên mạng ngta bảo thêm vào thì hết lỗi".
- Mù màu trước nguyên lý: Bạn biết dùng Redis để cache, nhưng không hiểu Cache Stampede hay Dogpile effect là gì. Bạn xài Message Queue nhưng lơ mơ về Race Condition.
3. Tuyệt kĩ bứt phá: Nâng cấp tư duy từ Thợ lên Kỹ Sư
Để thoát khỏi vòng an toàn, không có cách nào khác là phải chịu đau. Dưới đây là 3 "viên thuốc đắng" giúp anh em rẽ nhánh tư duy:
Tư duy 1: First Principles Thinking (Tư duy Nguyên Bản) Đừng học công nghệ từ ngọn, hãy học từ gốc. Elon Musk dùng tư duy này để chế tạo tên lửa SpaceX giá rẻ. Anh em ta cũng có thể dùng nó để master kĩ thuật.
- Đừng hì hục học ReactJS/VueJS ngay. Hãy hiểu DOM, Virtual DOM là gì, tại sao JS thuần lại chậm khi vẽ lại giao diện?
- Đừng cắm đầu cấu hình Kafka. Hãy hiểu bài toán Producer-Consumer của hệ điều hành, hiểu cách ghi dữ liệu tuần tự xuống ổ cứng (Sequential I/O) nhanh thế nào so với ghi ngẫu nhiên (Random Access).
Khi bạn hiểu được TẠI SAO công cụ đó ra đời, bạn sẽ xài nó như một vị thần, thay vì là một gã thợ xài cờ-lê mỏ lết đụng đâu vặn đó.
Tư duy 2: Đập đi xây lại cái bánh xe (Reinvent the wheel)
Sách giáo khoa bảo: "Đừng phát minh lại cái bánh xe". Đúng, khi bạn làm dự án cho công ty để kiếm tiền. Nhưng khi tự học, HÃY ĐẬP NÁT CÁI BÁNH XE ĐÓ RA VÀ TỰ LÀM LẠI!
- Bạn nghĩ Framework Laravel/Spring xịn? Cuối tuần, hãy thử tự viết một con Mini-Framework của riêng mình. Tự xử lý Routing (Router), tự viết một cái DI Container, tự parse request/response.
- Hãy thử tự viết một cái ORM bé xíu có thể map Object vào MySQL.
- Thử làm một cái chat server bằng socket thuần C++ hoặc Golang.
Có thể đồ bạn viết ra rất lởm khởm, đầy bug, hiệu năng chậm như rùa. Nhưng kiến thức đọng lại trong đầu bạn sau những dự án đồ chơi đó là vô giá. Nó phá vỡ hoàn toàn "lối mòn", ép bạn phải đối mặt với những vấn đề cốt lõi nhất mà các tiền bối đã từng gặp.
Tư duy 3: Kĩ sư giải quyết bài toán Kinh doanh, không phải bài toán Kĩ thuật
Anh em coder rất hay bị "ngáo" công nghệ. Cứ rảnh là lôi Microservices, gRPC, Elasticsearch vào dự án trong khi cái App bán hàng của công ty chỉ có... 100 user/ngày. Việc vẽ hươu vẽ vượn làm tăng độ phức tạp của hệ thống (Over-engineering), tốn tiền server, tốn tiền bảo trì.
Người bứt phá tư duy là người biết hỏi Sếp: "Sếp muốn tính năng này để mang lại bao nhiêu doanh thu? Nếu chỉ test thị trường, em viết một file script chạy tốn đúng 2 tiếng là xong, khỏi cần màu mè, bao giờ có 10,000 user ta đập đi xây lại".
Code ít đi, suy nghĩ về bài toán kinh doanh nhiều hơn. Đó là thứ AI không bao giờ làm thay bạn được.
Tổng kết
Tóm lại, đi trên lối mòn thì an toàn, nhàn hạ, nhưng cảnh vật hai bên đường trăm năm vẫn thế. Muốn bứt phá, phải dám chui xuống gầm xe xem động cơ hoạt động thế nào, dám vứt cái bản đồ của tiền bối đi để tự mò mẫm trong rừng rậm.
Hành trình từ một thằng thợ code lương 10 củ lên một Senior/Architect nghìn đô không đo bằng số Framework bạn biết, mà đo bằng số lần hệ thống sập mà bạn hiểu rõ tại sao nó sập và cách khắc phục tận gốc.
Anh em nghĩ sao về góc nhìn này? Mình có đang nói quá lời hay chạm đúng "nỗi đau" của anh em không? Hãy để lại comment tâm sự bên dưới nhé. Cuối tuần vui vẻ và đừng quên Upvote để ông tác giả có động lực tuần sau lên bài kĩ thuật tiếp!
All rights reserved