Nếu bạn mới gia nhập cộng đồng lập trình viên chuyên nghiệp gần đây, bạn có thể đang nghĩ, bạn sẽ làm được tất cả chỉ với sự giáo dục bạn nhận được trên ghế nhà trường. Tuy nhiên, những lập trình viên từng trải muốn bạn biết rằng, có hàng tá thứ bạn cần biết về việc lập trình để kiếm sống mà bạn không thể học từ bất kỳ một khoá học nào.


Sau đây là 7 lời khuyên chân thành nhất từ các lập trình viên chuyên nghiệp dành cho những người mới bắt đầu sự nghiệp coding của mình, 7 điều mà họ ước được biết khi mới chỉ là một newbie programmer. 


1. Lên kế hoạch trước cho sự thay đổi và học về các hệ thống mới


Mọi người trong chúng ta đều biết rằng thế giới công nghệ thay đổi với tốc độ chóng mặt. Điều đó đúng với không chỉ những sản phẩm dành cho người tiêu dùng, mà chính hệ thống lập trình cũng vậy. Các ngôn ngữ lập trình, công cụ lập trình, hệ thống nền tảng mà lập trình viên sử dụng đều không nằm ngoài quy luật thay đổi đó.


Adam Wulf, một lập trình viên Di động, đồng thời là Nhà Sáng lập Milestone Made, cho rằng người viết code cần phải luôn sẵn sàng để thay đổi, thậm chí là đón đầu.


“Ngay lúc này, tôi luôn quan niệm rằng, mỗi bốn năm một lần, chúng ta nên có kể hoạch để học về những công nghệ hoàn toàn mới. Một nền tảng kiến thức tốt luôn cần thiết, nhưng công cụ và kỹ thuật mà bạn sẽ dung mỗi ngày sẽ hoàn toàn lỗi thời sau mỗi bốn năm”.


Adam Wulf (Anh: linkedin)


Một lập trình viên ẩn danh chia sẻ thêm: “Các dự án không bao giờ còn được viết chỉ bởi một ngôn ngữ, sử dụng chỉ một khuôn mẫu. Bạn cũng sẽ không bao giờ chỉ làm một việc trong một dự án! Hãy làm quen với việc thay đổi từ dự án này sang sự án khác, từ ngôn ngữ lập trình này sang ngôn ngữ lập trình khác”.


2. Làm việc tốt với người khác


Xã hội, và đôi khi chính bạn nghĩ lập trình viên là những người làm việc một mình với tai nghe và màn hình laptop, tuy nhiên, thực tế họ vẫn phải làm việc cùng với mọi người.


Ben Miller, CTO của Sinclair Digital Ventures, nhấn mạnh tầm quan trọng của khả năng làm việc nhóm đối với sự thành công.


Ben Miller


“Dự án lớn có nghĩa là rất nhiều phần được lắp lại với nhau. Và một lỗi nhỏ trong  “sự lắp ráp” đó  cũng có thể tạo ra một hệ quả nghiêm trọng về kỹ thuật. Trước khi cố gắng tận dụng một thuật toán nào đó, cố gắng làm việc cùng với nhóm. Coding là một môn thể thao đồng đội”.


Varon nhắc lại tầm quan trọng của kỹ năng con người:


“Nếu bạn biết mình không thể tạo lập một APT hoặc gỡ rối một code (debugging) nào đó, hãy tìm kiếm sự giúp đỡ. Cho dù bạn đã từng tạo nên một tác phẩm tuyệt vời, điều đó không có nghĩa sản phẩm đó không có lỗi, hoặc không thể trở nên tốt hơn. Cũng giống như khi đi học, có những người có cùng một câu hỏi, và có những câu hỏi chỉ mình bạn có thể trả lời. Phát triển một báo cáo cùng với đồng nghiệp. Đôi khi chỉ việc nêu lên vấn đề cho mọi người biết cũng có thể tạo ra những hiệu quả bất ngờ”.


Một nguồn ẩn danh của tôi cũng chia sẻ một suy nghĩ tương tự về việc trở thành một người làm việc nhóm: “Hỏi khi gặp vấn đề và làm những việc bạn được giao cho dù nó đôi khi khiến người khác khó chịu không có nghĩa bạn sẽ mất việc. Ngược lại, nó có thể giúp bạn giữ được công việc của mình. Nhưng trong trường hợp đó, bạn cũng cần phải thận trọng. Nếu bạn cứ liên tục phải nhờ đến sự giúp đỡ của người khác, bạn có thể gặp vấn đề”.


3. Đừng ngại thử “mã hoá” mình ra khỏi công việc


Miller có một lời khuyên đặc biệt thú vị, cho dù mới nghe qua có vẻ “ngược đời”:” Làm những việc không được giao đôi khi có thể khiến bạn được thăng tiến”. Ông nói thêm:


“Tìm cách đơn giản nhất để giải quyết vấn đề và tạo những Code miễn phí, và mọi người sẽ cho càng tin tưởng giao việc cho bạn hơn.  Họ thậm chí có thể nhờ bạn chỉ những người xung quanh làm điều bạn vừa làm. Nói ngắn gọn là, chỉ chăm chăm giữ an toàn cho công việc là một cách trì hoãn sự nghiệp của bạn”.


4. Học cách viết Tests


Một số lập trình viên cảm thấy Kiểm tra từng phần (units testing) – một kiểu Kiểm tra nằm đảm bảo từng phần nhỏ trong Mã đều đang hoạt động tốt – là vô cùng cần thiết. Count Richard Handloff, một lập trình viên cơ sở dữ liệu của Strategic Power Systems 


Richard Handloff


“Tôi nghĩ lời khuyên tốt nhất tôi có thể dành cho một người muốn học lập trình là học cách viết các bài Test tốt và học cách viết chúng ngay từ khi bắt đầu”.


 


5. Tìm hiểu về các hệ thống cơ bản


Phần quan trọng nhất của việc phát triển phần mềm chính là việc hiểu được ngôn ngữ lập trình. Tuy nhiên, rất nhiều người đã chia sẻ rằng một lập trình viên giỏi cần biết thêm về cơ chế hoạt động khác của toàn bộ hệ thống máy tính. Pete Bull, kỹ sư hỗ trợ tại Acquia chia sẻ:


“Rất nhiều các lớp mẫu được tách biệt khỏi hệ thống lập trình, và các lớp mẫu này hoàn toàn có ích vì nó cho phép các lập trình viên làm việc với năng suất hiệu quả hơn. Nhưng khi bạn gặp một bug khó nhằn và điều này đòi hỏi một sự hiểu biết sâu rộng về những gì đang xảy ra trên hệ thống thì các lớp mẫu này là một công cụ hữu ích để có thể gỡ rối một quy trình. Nó rất hữu ích cho việc tìm kiếm những lỗi tại những thời điểm hệ thống yêu cầu và bạn sẽ thực sự nhìn được 1 phần mã mà nó tương tác với toàn bộ hệ thống”.


 


Robert Douglass, Phó giám đốc mảng Chăm sóc khách hàng tại Platform.sh cũng chia sẻ điều tương tự: “Khi tôi mới bắt đầu lập trình, đã có rất nhiều điều mà tôi thực sự không hiểu về máy tính của mình. Hệ thống tập tin, mạng lưới, bộ nhớ lưu trữ là ba thứ tôi luôn muốn tìm hiểu.”


6. Hiểu được các command line tools


Là một nhà phát triển, rất có thể là bạn sẽ dành một lượng thời gian làm việc với một IDE ưa thích hoặc chương trình soạn thảo mã. Tuy nhiên, việc hiểu được các command line đôi khi có thể làm cho công việc của bạn dễ dàng hơn. Một lập trình viên 20 năm kinh nghiệm chia sẻ rằng: “Đôi khi bạn được giao một công việc phải thực hiện ngay và công cụ để thực hiện công việc này là rất hạn chế. Đây là cơ hội để bạn tìm tòi các dòng lệnh để công việc được trôi chảy”.


Bull, người bắt đầu sử dụng công cụ của Microsoft, sau đó chuyển sang Linux, đồng ý với quan điểm trên:


“Tôi đã học được các ins và outs của các command lines và tất cả các tiện ích hữu dụng mà có sẵn trên hệ thống *nix. Tôi thực sự có thể gọi lại mã mà tôi đã viết cách đây vài năm. Và dòng mã này mà có lẽ có thể đã được thực hiện nhanh hơn nếu được thao tác bởi công cụ lệnh grep + awk “.


7. Luôn xem debugger như một người bạn


Một khi đã “trót” đi theo con đường coder, bạn không thể tránh khỏi việc ngồi hàng giờ đồng hồ để debug.


Dave Varon, một nhà phát triển tin sinh học tại Novartis, nhấn mạnh những lợi ích của một trình gỡ lỗi và tại sao nó có thể giúp bạn tiết kiệm được thời gian.


Dave Varon (Ảnh linkedin)


“Thêm hai ngày để cấu hình nó. Khi bạn không thấy kết quả mong đợi, chỉ cần gỡ lỗi nó: cài đặt breakpoint, viết lại code của bạn và của người khác. Một ngày nào đó, bạn sẽ cảm thấy nó vô cùng hữu ích, hoặc thậm chí, bạn sẽ học những điều về mã hóa, bạn chỉ có thể học bằng cách đọc mã của người khác. “


Via Topdev