+4

Làm Sao Để Lọt Top 1% Kỹ Sư Phần Mềm Xuất Sắc Nhất?

1. Mở bài: Cú lừa mang tên "Học nhiều công nghệ"

Phần lớn các lập trình viên ngoài kia đang kẹt trong một vòng lặp vô tận: React ra bản mới -> Học. Go đang hot -> Học. Một framework rục rịch ra mắt -> Tranh thủ học để làm tutorial.

Thực tế phũ phàng là: Việc bạn biết cách dùng 10 ngôn ngữ hay 5 cái framework không làm bạn giỏi hơn 99% những người còn lại. Nó chỉ khiến bạn trở thành một "thợ gõ" đa năng hơn. Những kỹ sư lọt top 1% không chạy đua với các công cụ mới, họ làm chủ các nguyên lý bất biến và tư duy ở một tầng trừu tượng hoàn toàn khác.

Vậy làm thế nào để bước chân vào lãnh địa của 1%?

2. Tư duy Hệ Thống (System Thinking) thay vì Tư duy Công Cụ

Người ở top 99% nhận một task CRUD và cắm cúi code sao cho chạy được, pass qua khâu QA là xong.

Kỹ sư top 1% nhìn hệ thống như một thực thể sống. Lấy ví dụ khi bạn phải xây dựng hệ thống bán vé tự động (AFC) hoặc các hệ thống giao dịch tài chính:

  • Họ không chỉ thấy dòng code C++ hay Go, họ thấy luồng dữ liệu chảy từ thiết bị ngoại vi, qua gateway, vào message broker và xuống database.
  • Họ lường trước các kịch bản tồi tệ nhất: Chuyện gì xảy ra nếu thiết bị phần cứng mất kết nối mạng? Làm sao để xử lý đồng bộ dữ liệu offline khi có mạng trở lại? Đối soát những orphan transactions (giao dịch mồ côi) như thế nào để không làm thất thoát tiền của doanh nghiệp?

Để lọt top 1%, hãy ngừng việc chỉ nhìn vào file mã nguồn. Hãy nhìn vào kiến trúc tổng thể, vòng đời của dữ liệu và giới hạn vật lý của phần cứng.

3. Am hiểu "Tâm lý học" trong kỹ thuật và làm việc nhóm

Code tốt chỉ là điều kiện cần. Điều kiện đủ để bạn bứt phá là kỹ năng giải quyết vấn đề với... con người.

Phần mềm được tạo ra bởi con người và phục vụ con người. Kỹ sư 1% hiểu rõ động lực, tâm lý và rào cản của những người xung quanh:

  • Khi hệ thống sập (Incident): 99% sẽ hoảng loạn hoặc đổ lỗi. 1% giữ cái đầu lạnh, viết báo cáo Root Cause Analysis (RCA) với văn phong sắc bén, khách quan, và đưa ra giải pháp triệt để.
  • Khi làm việc với đối tác/Vendor (nhất là đối tác nước ngoài): Họ không giao tiếp bằng cảm xúc. Họ dùng các tiêu chuẩn kỹ thuật (SOP), tiếng Anh chuyên ngành chuẩn mực (ở mức B2, C1) để đàm phán, yêu cầu fix bug hoặc phân định rạch ròi ranh giới trách nhiệm của các bên.

4. "Đọc mã nguồn" (Read The F*cking Source Code)

Chừng nào bạn còn phụ thuộc vào các bài tutorial trên YouTube hay các tài liệu tổng hợp sẵn, bạn vẫn đang nhai lại kiến thức đã được tiêu hóa bởi người khác.

Kỹ sư xuất sắc không tin tưởng mù quáng vào các "Hộp đen" (Black box).

  • Khi dùng một tính năng của ngôn ngữ (ví dụ: Operator Overloading trong C++), họ sẽ tự hỏi trình biên dịch làm gì ở bên dưới.
  • Khi dùng một thư viện, họ mở mã nguồn của nó ra để xem cách các bậc thầy thế giới tổ chức code, quản lý bộ nhớ, xử lý con trỏ và design pattern.

Việc đọc mã nguồn của những dự án mã nguồn mở lớn ban đầu sẽ rất đau não, nhưng đó là con đường ngắn nhất để nâng tầm tư duy thiết kế.

5. Nguyên lý tối thượng: First Principles Thinking

Bạn không cần phải nhớ cú pháp của mọi hàm. Bạn cần hiểu nguyên lý đầu tiên. Thay vì học vẹt cách config một hệ thống message broker, hãy hiểu bản chất của Producer - Consumer, Event-Driven Architecture và bài toán bất đồng bộ. Thay vì học cách dùng một ORM, hãy hiểu sâu về cấu trúc B-Tree của Database, cách Index hoạt động, và tại sao những câu Join lại làm hệ thống chậm đi.

Công nghệ thay đổi mỗi 5 năm, nhưng Toán học, Cấu trúc dữ liệu, Nguyên lý hệ điều hành và Mạng máy tính thì không đổi trong suốt 50 năm qua.

6. Lời kết

Hành trình lọt vào top 1% không có chỗ cho sự thoải mái. Đó là quá trình liên tục đập bỏ những thứ mình đã biết, đối mặt với những vấn đề hóc búa nhất của hệ thống, và duy trì một tiêu chuẩn cực cao trong cả việc viết code lẫn giao tiếp kỹ thuật.

Bạn chọn làm một thợ code an toàn trong số 99%, hay một kỹ sư kiến tạo hệ thống của 1%? Lựa chọn nằm ở bạn.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí