Tôi không chọn dự án này — nhưng tôi đã chọn cách bước đi cùng nó

Tôi không chọn dự án này — nhưng tôi đã chọn cách bước đi cùng nó
Giữa sa mạc khô cằn, vẫn có chỗ để trồng hoa

Mình không chọn dự án đầu tiên trong đời đi làm.
Cũng không chọn công nghệ của nó.

Nó dùng Angular và Spring Boot – hai cái tên lúc ấy nghe chẳng khác gì tiếng Phạn đối với một đứa học React từ YouTube và chỉ biết đúng một điều: mình muốn code thứ gì đó đẹp.

Thứ đập vào mình trước không phải là framework.
Mà là một codebase bốc mùi – nơi mọi nguyên tắc thiết kế bị vứt qua cửa sổ, component trộn lẫn, logic rối như mớ chỉ, copy-paste đầy rẫy, và những workaround đầy phản kháng với cả khái niệm “sạch sẽ”.

Mình chán nản.
Mình giận.
Và mình im lặng.

Không vì trưởng thành, mà vì... mình không dám nói.

Mới đi làm, mình sợ bị đánh giá là yếu, là đòi hỏi.
Sợ tạo ấn tượng xấu.
Sợ bị thay thế.
Và thế là mình cắn răng ở lại.


Ở lại – không vì yêu thích, mà vì không đủ lý do để rời bỏ.

Và có lẽ chính vì thế, mình bắt đầu tìm cách sống sót.
Không phải kiểu “chịu đựng”, mà kiểu “đánh chiếm từng góc nhỏ để thở”.

Mình bắt đầu buffer thời gian, tự mở khoảng để refactor.
Mỗi lần có task mới liên quan đến đống legacy code, mình xem như đó là cái cớ để đập ra viết lại.
Từng tí một.
Lặng lẽ.

Không ai bắt mình phải học thêm – nhưng mình vẫn học.
Không ai yêu cầu viết lại module cũ – nhưng mình vẫn viết.
Không ai công nhận sự thay đổi – nhưng mình thấy được nó.
Và mình tự thấy rõ hơn chính mình, qua từng lần kiên nhẫn xếp lại những mảnh hệ thống người khác bỏ bê.


Không ai giao mình vai trò “người giữ lửa”, nhưng mình vẫn cầm đuốc.
Không phải vì mình quan trọng.
Mà vì mình không chịu nổi sự tăm tối ấy.


Và rồi mình cũng nản…

Có những ngày thật khó.
Dự án chẳng có gì thú vị – toàn CRUD và form.
Cấu trúc thì lởm chởm, lỗi đan xen, không refactor nổi vì dependency chằng chịt như rễ cây.
Dọn xong một phần, ngẩng lên thì thấy cả khu rừng vẫn còn đang cháy âm ỉ.

Lúc ấy mình không biết mình đang cố vì điều gì.
Chỉ biết rằng nếu không làm, mình sẽ thấy mình tầm thường.
Nếu không sửa, mình sẽ thấy mình phản bội lý tưởng thuở mới cầm phím.


Nhưng cũng có những tia hi vọng…

Rồi có một ngày – sau hơn một năm làm “cái bóng” cho một senior khác – mình được gặp trực tiếp khách hàng.
Mình làm một feature nhỏ, rất nhỏ.
Một thứ mà với dev thì dễ, nhưng với người dùng thì… là sự giải thoát.

Ông ấy nói: “Tôi chờ cái này mấy năm rồi. Thiếu nó, tôi thực sự khó chịu mỗi ngày.”

Không phải một lời khen về kỹ thuật.
Chỉ là một lời cảm ơn – chân thành và nhẹ nhàng.

Nhưng nó chạm đến một tầng rất sâu trong mình.
Lúc đó, mình biết tại sao mình vẫn còn ở lại.


Mình học…

Cái mình học được từ dự án này không phải là Angular hay Spring Boot.
Không phải là design pattern hay kiến trúc hệ thống.

Mà là cách giữ được chính mình, giữa những thứ không dành cho mình.

Mình học cách nhìn vào một môi trường không nuôi dưỡng mình, để tìm ra mảnh đất nhỏ có thể gieo trồng.
Mình học cách đàm phán – không phải với sếp, mà với chính cuộc sống: Nếu đã phải đi con đường này, thì mình sẽ đi nó theo cách riêng.
Mình học cách không mong ai trao cơ hội, mà tự tạo lấy cơ hội từ những mảng code nát nhất.


Nếu có một hình ảnh để nói về hành trình này…
Mình nghĩ đến một samurai không được chọn chủ.

Người vẫn rèn kiếm mỗi ngày.
Không phải để bảo vệ ai cả – mà để không đánh mất võ đạo trong tim mình.


Mình đồng cảm…

Nếu bạn cũng đang ở trong một công việc mà bạn không yêu, một dự án mà bạn thấy lạc lõng, một công nghệ mà bạn không chọn – thì cũng không sao cả.

Tình yêu không phải lúc nào cũng đến từ đúng nghề, đúng tech stack, đúng hướng đi.
Có lúc, nó đến từ cách bạn ở lại, kiên nhẫn, và lặng lẽ biến điều tầm thường thành điều đáng quý.

Không phải ai cũng có đặc ân được bắt đầu bằng đam mê.
Nhưng nếu bạn đi đủ lâu, bạn sẽ tìm được cách để yêu.

Không rực rỡ.
Không lý tưởng.
Nhưng bền bỉ.


Mình không chọn dự án này.
Nhưng mình đã chọn cách bước đi cùng nó.
Bằng tất cả những gì mình có.