Cuối tuần rồi, tôi gặp một người anh học cùng trường, anh cũng theo nghề lập trình viên. Dù cần cù tỉ mẩn từ 7 giờ sáng đến 7 giờ tối mỗi ngày, 3 năm làm việc miệt mài, nhưng lương anh cũng chỉ ngang tôi. Nếu bạn nhìn thấy hình ảnh của bản thân của mình trong câu chuyện thì đây chính là bài viết dành cho bạn.
Tôi cũng đã từng thắc mắc rất nhiều, bí quyết thành công khi theo nghề lập trình viên là gì? Tại sao tôi chăm chỉ nhưng lại không đạt được nhiều thành tựu như những người có thời gian rảnh rang? Ngẫm nghĩ lại về những bậc tiền bối mà tôi biết, tôi thấy có lẽ “Lười” + “Tỏ ra ngu ngốc” mới là bản năng nên có khi bạn muốn thành công với nghề lập trình viên.
Nghề lập trình viên là nên lười?
Đúng vậy. Đây cũng là bí quyết thành công của nghề lập trình viên đấy. Bạn đừng ngạc nhiên. Lười là một trong những “động lực” giúp cuộc sống của mọi người dễ dàng hơn.
Đi xe đạp mệt quá, thôi tìm cách phát minh ra xe máy đi cho khỏe. Chạy xe máy cũng dính nhiều khói bụi đường, chuyển sang đi ô tô cho không khí trong lành. Đi thuyền nhanh hơn bơi. Sử dụng xe đẩy dễ dàng hơn vận chuyển mọi thứ bằng tay. Và tôi có thể liệt kê thêm hàng trăm ví dụ khác.
Bạn hỏi tôi thành công của một người theo nghề lập trình viên là gì? Đối với tôi đó chính là khi người developer đó tiết kiệm được thời gian. Một Developer lười có thể mất thêm vài tiếng để cho ra sản phẩm, nhưng sẽ tiết kiệm được nhiều tháng sau đó cho việc bảo trì sản phẩm.
Vậy thì, “lười” được Developer áp dụng như thế nào? Chính sự lười biếng thúc đẩy Developer tìm cách giảm thiểu thời gian viết code (đặc biệt là các code lặp lại).
Developer sống là để loại bỏ những sự lặp lại nhàm chán, hoặc bạn thể hiểu là do Developer “lười” đấy. Họ lười bỏ ra thời gian chỉ để làm đi làm lại một việc nên họ tìm cách tối ưu thời gian làm việc đó.
Khi gặp nhiều dự án giống nhau, một Developer giỏi sẽ tạo tool để bootstrap cả quy trình development. Nhiều Developer còn sử dụng một số form của code generation, có nghĩa là 50+ bug cùng một loại có thể sửa bằng cách sửa duy nhất một lần generator tool đó.
“Khi đi làm, anh cảm thấy mình rất lười. Và vì lười nên anh luôn tìm cách làm việc nhanh nhất, phương pháp code nhanh nhất, nhưng cũng chuẩn xác nữa. Có lẽ cũng vì điều này mà kinh nghiệm của anh tăng nhanh ở nhiều dự án khác nhau. Thể hiện sự “lười” bằng cách suy nghĩ phương pháp trước khi làm bất cứ việc gì. Có phương pháp rồi thì mới áp dụng tốc độ nhanh vào công việc.”
Anh Đỗ Xuân Huy – Founder & CEO của YouNet Social Intranet – chia sẻ trong một bài phỏng vấn với ITviec.
Tôi nghĩ rằng chăm chỉ đôi khi còn gây ảnh hưởng tiêu cực lên hiệu suất làm việc, vì chăm chỉ làm mọi người quên đi khái niệm “tối ưu hóa.” Khi bạn đã quá quen thuộc với một việc nào đấy, não của bạn tự động chuyển sang chế độ auto-pilot mỗi khi làm việc đấy – bạn không cần động não nhiều, không sáng tạo, không đổi mới. Tệ hơn, sự chăm chỉ có thể khiến bạn trở nên chây lì.
Tuy nhiên, hãy cẩn thận. Đừng nhầm lẫn giữa việc “lười” nhằm mục đích tối ưu thời gian và chất lượng công việc và việc “lười” nhằm trốn tránh làm những việc phức tạp hơn. Hay nói cách khác, có thể lười nhưng đừng lười nâng cao giá trị bản thân.
An – Ruby Developer của ITviec, đồng nghiệp của tôi cho rằng: “Một Developer lười thật sự sẽ không nhìn về phía trước, họ chỉ cần copy – paste code giữa 4 function khác nhau nếu đó là điều dễ nhất để hoàn thành tool đó ngay lập tức.”
Trong khi đó, Cẩm – Senior Ruby Developer của ITviec, một đồng nghiệp khác của tôi – lại có suy nghĩ khác: “Cẩm tin vấn đề không phải ở chỗ copy – paste cùng 1 code 400 lần, mà là tìm cách để tránh vòng lặp 400 lần trong 10 phút này. Sự thật là đa số code đều có thể sử dụng lại ở các function khác nhau, nhưng phải thay đổi đôi chút. Và Cẩm thích làm nguyên quá trình đó trong 10 giây, không phải 10 phút.”
Tỏ ra ngu ngốc
Bạn sẽ không tin tôi khi tôi nói rằng “tỏ ra ngu ngốc” là một trong những câu trả lời cho thắc mắc bí quyết thành công của Developer là gì. Tôi không lừa bạn. Mà hãy nghĩ thế này: Khi bạn nghĩ là bạn thông minh rồi, bạn sẽ:
- Ngừng học hỏi. Rất khó để bạn buộc bản thân tìm hiểu 1 công nghệ mới giúp bạn làm việc nhanh hơn.
- Ngừng phê phán code của chính mình. Bạn khó debug và refactor code của chính mình.
Để tìm ra giải pháp tối ưu nhất cho phần mềm, Developer cần giữ tư duy mới mẻ và suy nghĩ sáng tạo. Nói cách khác, Developer cần tư duy như một đứa trẻ, để bầu trời là giới hạn cho bộ não. Biết càng ít, bạn càng dễ dàng tiếp cận vấn đề theo hướng nguyên thủy nhất, từ đó phát triển các tool, phần mềm tốt hơn.
Từ công việc của mình, tôi nhận ra, khi đối mặt với vấn đề, cách hiệu quả nhất để tìm giải pháp chính là ‘tỏ ra ngu ngốc’. Hỏi những câu hỏi đơn giản, thậm chí là con nít nhất, bạn sẽ tìm được nguồn gốc vấn đề.
Ba lời khuyên mà tôi tổng hợp được để giúp các bạn phát huy tinh thần “tỏ ra ngu ngốc” là:
“Tỏ ra ngu ngốc” bằng cách hỏi những câu hỏi đơn giản, con nít nhất và bạn sẽ tìm được nguồn gốc vấn đề.” – Lâm Phương, Ruby Developer của ITviec.
“Hãy “be stupid” bằng cách mặc định mọi function khi test là 100% bị lỗi. Như vậy mới tìm ra nhiều bug ẩn sâu trong function.” – Anh An, Test Manager của TMA Solutions.
“Một trong những công việc khác mà anh nên làm trong thời gian rảnh, chính là nghiên cứu, tìm hiểu. Có nhiều thứ cần tìm hiểu lắm.” – Nguyễn Xuân Huy, Tech Architect của Cybozu Vietnam chia sẻ trong bài viết Developer Giỏi Không Nhất Thiết Phải Biết Nhiều Ngôn Ngữ
Công thức thành công khi theo nghề lập trình viên là gì?
Cho dù bạn đang là một junior developer hay là senior developer, hoặc đơn giản bạn đang muốn phát triển hơn trên con đường sự nghiệp làm developer của mình, bạn chỉ cần nhớ:
- Hãy luôn tìm cách tối ưu hóa công việc mỗi ngày của mình về mặt thời gian và chất lượng
- Đừng nghĩ là mình thông minh và biết tất cả mọi thứ rồi
Bạn có thể lo sợ rằng việc tìm một hướng đi mới, hoặc hỏi quá nhiều câu hỏi sẽ mang đến rủi ro cho công việc của bạn nhưng hãy nhớ rằng “Rủi ro chính là thước đo xem bạn có đang học được điều gì hay không” – Khang Nguyễn, Chief Representative của Cogini tại Việt Nam chia sẻ.
Vậy đấy, cá nhân tôi cho rằng phép toán “lười” + “tỏ ra ngu ngốc” có thể mang đến những bước tiến trên con đường nghề lập trình viên đấy! Nếu bạn đồng ý với tôi, mỗi khi có ai hỏi bạn bí quyết thành công khi theo nghề lập trình viên là gì, hãy đưa cho họ đọc bài viết này. Nếu bạn có ý kiến khác, hãy gửi bình luận về cho tôi nhé!
Nguồn : Itviec.com