Ngành IT hiện nay vẫn là một trong những ngành nghề đang được nhiều người quan tâm nhất. Những kỹ sư lập trình tốt luôn được săn đón khắp mọi nơi. Vậy đâu là bước nhảy đánh dấu sự chuyển mình từ một lập trình viên giỏi sang một lập trình viên xuất sắc được nhiều công ty mời gọi? Trở thành một Richard Stallman, John Carmack hay Jeff Dean lừng danh? Hãy khiêm tốn Nếu bạn từng biết Linus Torvalds thì có lẽ từ “khiêm tốn” sẽ là từ đầu tiên khi nhắc tới ông. Vivin Paliath, một kỹ sư lâu năm Torvalds thì có lẽ từ “khiêm tốn” sẽ là từ đầu tiên khi nhắc tới ông. Vivin Paliath, một kỹ sư lâu năm tại Infusionsoft cho biết: “Quan điểm của tôi là luôn luôn lắng nghe mọi người. Nếu biết cách lắng nghe thì họ luôn có điều gì đó mà chúng ta cần phải học hỏi. Điều đó không có nghĩa rằng bạn không tự tin vào kiến thức của mình. Hãy luôn nhớ rằng đôi khi kiến thức của mình sẽ không hoàn toàn chính xác.” Trong khi đó, Colin Mitchell, một lập trình viên từ Bandzoogle nói rằng, những sai lầm cũng chính là những bài học đầy giá trị. “Hãy sẵn sàng cho những sai lầm và học những kinh nghiệm từ nó. Tôi tìm thấy rằng việc thừa nhận sai lầm của mình sẽ giúp tôi cải thiện được quá trình code của mình rất nhiều.” Một cựu kỹ sư phần mềm của Google, Zhen Wang, cho biết các lập trình viên của Google thường tỏ ra rất khiêm tốn, và đây cũng là đội ngũ góp phần xây dựng một hệ thống Google rất vững chắc. “Sự khiêm tốt chưa chắc làm nên một kỹ sư giỏi, nhưng nếu thiếu đi điều này thì đây sẽ là một dấu hiệu cho sự yếu kém.” Biết lắng nghe Cũng như sự khiêm tốn, biết lắng nghe những người khác cũng là một yếu tố làm nên sự thành công của những kỹ sư giỏi. Mitchell cho biết “Hãy lắng nghe khách hàng, người dùng, lắng nghe những thành viên khác trong đội, những người cùng bạn làm sản phẩm,” anh còn nói “càng về sau tôi càng nghĩ rằng, sự cảm thông cũng là một kỹ năng cần có trong nghề lập trình.” Không tự tạo rào cản cho mình Những nhà lập trình giỏi là những người không ngừng đẩy bản thân mình vượt qua những giới hạn mới. Paliath cho biết: “Đừng giới hạn bản thân vào những thứ mình đang làm, hãy thử đẩy bản thân mình ra khỏi những giới hạn. Có như vậy bạn mới có thể học được những điều mới mẻ.” Chọn những dự án hoặc công việc gần với mức giới hạn của mình sẽ khiến các lập trình viên gặp một số khó khăn, nhưng đó lại là cơ hội tốt để họ có thể học nhiều hơn. kỹ sư phần mềm Shawn Drost nói trên Quora: “Hãy liên tục học bằng nhiều cách như làm những việc mà bạn chưa từng làm, hoặc xây dựng những sản phẩm khác trong thời gian rảnh”. Điều quan trọng nhất chính là biết thử thách chính mình một cách liên tục. Luôn luôn học hỏi Ngoài việc không giới hạn bản thân mình, một trong những yếu tố quan trọng cho việc phát triển bản thân của một developer chính là phát triển bản thân, luôn khát khao tìm học những thứ mới. Paliath gợi ý: “Những thứ như hệ thống dữ liệu, thuật toán, compliers, hay interpreter là những thứ mà không phải lập trình viên nào cũng đụng phải mỗi ngày. Tuy nhiên nếu tìm hiểu thêm về nó thì đây sẽ là những giá trị vô giá nhằm giúp giải quyết các vấn đề mà bạn có thể gặp phải.” Ngoài ra, bạn cũng nên học thêm những ngôn ngữ lập trình khác, các công cụ để giúp bạn có thể trở thành một lập trình viên tốt hơn. “Biết nhiều ngôn ngữ sẽ đem lại nhiều giá trị cho kỹ sư lập trình, vì vậy hãy học ít nhất một ngôn ngữ thuộc các hạng mục sau đây: khai báo, chức năng, hướng đối tượng, và phương cách.” – Lee Bob Black nói trên Quora. Một số chuyên gia khác cũng khuyên rằng, thay vì chú trọng vào frameworks, hãy học về thiết kế bên trong, khía cạnh kinh doanh của sản phẩm, học và hiểu sâu về các công cụ có thể giúp việc làm việc được hiệu quả hơn. Biết linh động Hãy mở đầu óc với những giải pháp và ý tưởng mới. Nên hiểu rằng, có nhiều giải pháp khác nhau cho một vấn đề, và đương nhiên có những cách sẽ tốt hơn cách kia tuỳ thuộc vào tình huống thực tế. Vì vậy cũng sẽ không có giải pháp nào phù hợp với tất cả, hay một ngôn ngữ, framework có thể giải quyết tất cả mọi vấn đề. Paliath nhấn mạnh: “Một kỹ sư giỏi là người biết sử dụng đúng công cụ cho công việc phù hợp, và hiểu được những tình huống cần thay đổi sao cho đạt hiệu quả cao nhất mà vẫn phù hợp với các kế hoạch của mình.” Viết lại quá trình làm việc Các chuyên gia trong ngành cũng cho rằng, việc viết lại những bug và lỗi mà bạn đang sửa cũng giúp bạn cải thiện tình hình rất nhiều. “Quy trình làm việc của tôi là viết lại những lỗi mà mình đã gặp phải, nếu gặp lại lỗi tương tự trong vòng 3 tháng đổ lại, tôi sẽ nghiên cứu và tìm cách sửa. Trong quá trình đó tôi sẽ hiểu được mình cần phải làm những gì để cải thiện các vấn đề.” – Một thành viên tại trang Hack News cho biết. Làm việc với những lập trình viên giỏi hơn Ngoài những điều trên, một trong những cách để cải thiện trình độ của mình chính là làm việc với thật nhiều những kỹ sư phần mềm giỏi hơn mình. “Số lượng và chất lượng kiến thức bạn học được từ họ sẽ giúp bạn nhanh chóng trở thành lập trình viên giỏi.” Những kiến thức của họ sẽ có giá trị gấp nhiều lần với những gì mà bạn tìm được trên Stack Overflow hay những trang tương tự khác. Lập trình viên Shawn Drost nói trên Quora: “Hãy luôn là người dốt nhất phòng.” Từ đó bạn sẽ có điều kiện để học hỏi nhiều hơn. Đó là những cách giúp bạn có thể trở thành một lập trình viên vượt tầm. Nếu làm theo tất cả những điều trên có khi bạn sẽ trở thành một Jon Skeet tiếp theo.