Bắt đầu tự học lập trình từ năm 9 tuổi, với hai mươi lăm năm kinh nghiệm trong ngành phát triển phần mềm, 7 lời khuyên dưới đây của một lập trình viên đến từ The Toggl team sẽ rất hữu ích với bất kỳ lập trình viên nào.
Trong ký ức, lần đầu tiên tôi chạm tay vào những dòng code khoảng 8 hay 9 tuổi, bằng chiếc máy MSX cũ kỹ của anh trai, khi tôi lục lọi lại đống đồ đạc cũ trên nhà kho. Mãi đến sau này, tôi mới biết được đó không phải sự tình cơ.
Trong những lần thấy tôi ngồi hàng giờ liền sau lưng khi anh làm việc và lén đọc những cuốn sách về lập trình của anh ấy.( Thật ra tôi chỉ xem những hình ảnh đẹp về lập trình game trong đó). Anh trai tôi đã cố tình bỏ máy MSX cùng một cuốn sách về lập trình cơ bản vào một thùng các tông, sau đó gợi ý để tôi tình cờ nhận được món quà ấy.
Chương trình hoàn chỉnh đầu tiên của tôi viết dưới sự giúp đỡ của anh ấy rất đơn giản:"Bạn nhập tên bạn và nó sẽ hiển thị lại như vậy".
Mãi đến sau này,khi tôi biết đến khái niệm chương trình con và nó đã hoàn toàn thay đổi cái nhìn của tôi về lập trình. Việc bạn có thể tái sử dụng những thứ bạn đã viết hoặc có sẵn không phải là điều tuyệt vời sao? Đấy cũng là lúc tôi bắt đầu nghiêm túc nhìn nhận về việc trở thành một lập trình viên.
Với tất cả kinh nghiệm sau hơn 25 năm làm việc với máy tính, tham gia rất nhiều dự án lớn nhỏ, những điều tôi sắp nói dưới đây, sẽ là bài học hữu ích cho những ai đang muốn tự học lập trình hoặc phát triển sự nghiệp trong ngành công nghệ phần mềm.
1 – Giải quyêt vấn đề, không phải tạo thêm rắc rối
Nghe như mấy lời khuyên nhảm nhí chung chung, nhưng đấy là thực tế – đó là lí do người ta thuê lập trình viên. Chúng ta làm khách hàng thoải mái, giải quyết các vấn đề của khách hàng, làm cuộc sống của họ dễ dàng hơn.
Tóm lại, điều đầu tiên bạn cần nhớ: hãy chủ động giải quyết mọi thứ.
Nếu máy tính gặp trục trặc phần mềm thì (thông thường) máy tính sẽ cố gắng nói cho bạn biết, có điều gì đó không ổn đang xảy ra. Hãy thử giải quyết vấn đề trước khi nhờ giúp đỡ – ngó kĩ màn hình, xem lại log, coi kĩ các dòng thông báo lỗi và tra google, cố debug. Còn nếu các bước trên không thành công? – Hãy cầu nguyện.
Vậy nếu chúa không đáp lại lời thỉnh cầu của bạn? Hoặc bạn gặp phải quá nhiều trục trặc và trình độ xử lí thì có hạn? Hoặc bạn phải chờ chỉ thị của sếp?
Nếu bạn không đủ khả năng để giải quyết nó, hãy chủ động liên hệ đến người khác và mọi việc sẽ đơn giản hơn khi bạn cố gắng giúp họ hiểu vấn đề mà bạn đang gặp phải, đưa ra các giải pháp phù hợp.
2 – Kiểm tra & chạy thử tất cả mọi thứ
Bạn nên tập thói quen kiểm tra mọi thứ kĩ lưỡng rất quan trọng. Chạy thử chương trình cũng vậy. Nó thể hiện nỗ lực của bạn trong việc đảm bảo rằng những thứ mà bạn viết ra có thể chạy tốt mà không làm hỏng lẫn nhau.
Kinh nghiệm xương máu của tôi là khi có bất kì thay đổi nào trong chương trình, dù lớn hay nhỏ, bạn vẫn phải chạy thử. Và “chạy thử” có thể đồng nghĩa với “nhờ vả”. Có thể bạn sẽ phải nhờ người khác/phần mềm khác kiểm tra chương trình của bạn.
Ở Toggl, quy trình làm việc của chúng tôi luôn có bước này. Chúng tôi xem xét kĩ các dòng code của nhau trước khi chính thức hoàn thiện.
Tóm lại, cẩn tắc vô áy náy. Việc khách hàng của bạn gặp vấn đề với chương trình của bạn còn rắc rối hơn việc bạn chạy thử chương trình đấy.
Và nên nhớ rằng, nếu bạn không tìm ra lỗi của chương trình, thì khách hàng sẽ làm điều đó. Một khi họ đã không vui, câu chuyện của chúng ta sẽ chuyển theo chiều hướng tệ hơn.
3 – Đừng quá tin vào trí nhớ của bạn
Có bao giờ bạn lâm vào tình trạng nhìn 1 đống code nhảm nào đó và thắc mắc về sự thông minh của tên tác giả, rồi tẽn tò nhớ ra tên tác giả của chúng là bạn chưa?
Chưa hả? Đợi đi.
Khi viết code, bạn không chỉ viết cho máy tính hiểu, mà cũng phải dễ hiểu cho con người. Làm được điều này không dễ, nhưng lợi ích không nhỏ: dễ dàng theo sát code, dễ phát hiện bugs (nếu có), thuận tiện cho các developers khác nữa.
Bạn nên tập thói quen, lưu trữ lại những tài liệu hoặc đoạn codebase bạn đã viết. Tin tôi đi, một lúc nào đó, bạn sẽ cần mở ra xem lại, vì bạn sẽ chẳng thể nhớ hết tất cả mọi thứ.
4 – Bạn không phải là Supperman
Lúc mới học code, tôi cực tin vào sức mạnh bản thân mình: thức tới sáng, làm việc quá giờ & không nghỉ lễ. Thật tình là tôi nghĩ như vậy ngầu lắm, vui nữa. Nhưng công ty của tôi thì không. Tình trạng nhân viên cố quá sẽ dẫn tới hiệu quả tức thời nhưng hậu quả lâu dài: thời gian tiêu tốn tỉ lệ nghịch với năng suất làm việc – bạn ôm đồm cả đống dự án, và cái này bị chậm trễ, kéo theo cái kia. Thế là công ty chọn cho tôi giải pháp bằng cách tặng tôi một vé nghĩ dưỡng mãi mãi bên ngoài công ty – Giải quyêt vấn đề, không phải tạo thêm rắc rối
Phải mất thêm một khoảng thời gian, đổi qua một vài công ty, tôi mới hiểu được việc cân bằng giữa cuộc sống và công việc. Khi bạn cố gắng làm tất cả mọi thứ, bạn sẽ chẳng bao giờ hoàn thành tất cả. Việc Overtime quá nhiều không phải là giải pháp, mặt khác nó còn đảo lộn cuộc sống của chúng ta. Quen dần, mỗi ngày đi làm bạn sẽ cực kỳ áp lực, vì có quá nhiều việc cần phải làm và quỹ thời gian của bạn không vượt qua đó nổi.
Tóm lại, bạn có nghỉ ngơi thoải mái, dù bạn có cố gắng hay không thì deadlines vẫn dí thôi. Nên cứ thoải mái đi (trong chừng mực).
5 – Đừng quá chú trọng hình thức
Nếu bạn có nhiều thời gian để 1 chương trình thì việc chú trọng vào hình thức 1 chút cũng không sao cả. Nhưng nếu deadline chỉ còn cách bạn vài phân thì việc hoàn thành chương trình mới là ưu tiên hàng đầu vì tựu chung, lập trình viên (programmer) là người giải quyết vấn đề, xử lí rắc rối chứ không phải người viết code cho đẹp .
6 – Đừng tốn thời gian tạo ra những thứ đã có sẵn
Một tin vui là hầu như mọi thông tin bạn cần ngày nay đều có trên các thư viện, diễn đàn và Blog.
Điều làm bạn trở nên giỏi hơn không phải là việc ngồi code lại những thứ bạn đã biết mà cách tư duy logic trong quá trình làm việc. Thế nên tôi khuyên bạn đừng mất quá nhiều thời gian vào những việc chân tay. Trước khi bắt đầu code, hay search google và đảm bảo rằng những thứ bạn sắp thực hiện, nó chưa từng có trên đấy. Còn nếu đã có rồi, việc gì bạn phải mất thời gian ngồi code lại trong khi có thể copy và paste?
7 – Hiểu rõ các công cụ bạn sử dụng
Các công cụ được phát minh để giải quyết vấn đề. Chúng có các chức năng đặc thù riêng và chỉ phát huy hiệu quả công việc tối đa khi bạn dùng đúng với chức năng ấy. Vì thế, tìm hiểu kĩ các phần mềm, các tools trước khi sử dụng không bao giờ là thừa. Bạn đâu thể lấy 1 cái máy tính để chặt cây, phải không nào?
Bạn nên tìm hiểu kỹ các tools trước khi sử dụng nó. Một lời khuyên là hãy tham gia các diễn đàn về lập trình, lắng nghe và đặt các câu hỏi để mọi người cho bạn lời khuyên tốt nhất. Đôi khi, bạn nghĩ bạn rất hiểu rỏ một tools nào đó, nhưng bạn có chắc, bạn đã nắm hết tất cả. Đôi khi có những tools khác tốt hơn mà bạn chưa từng sử dụng, vậy tại sao không lắng nghe những lập trình viên đi trước bạn cho bạn lời khuyên?
Học hỏi không bao giờ là thừa. Trở thành một lập trình viên không phải là dễ. Cách tốt nhất và nhanh nhất để trở nên giỏi hơn là hãy tìm một người thầy trong ngành lập trình. Không sách vở nào có thể cụ thể hơn những lời chỉ dạy ấy. Ở đây, mình không khuyên bạn quay lại các lớp học hoặc ngồi hàng giờ liền trong giảng đường, với ngành lập trình, muốn giỏi, cứ lao vào máy tính trước, sai thì sửa, sửa không được hãy hỏi người đi trước. Chẳng có code nào mà không có lỗi, chẳng có hệ thống nào là an toàn cả. Muốn trở thành lập trình viên giỏi, thì đừng bao giờ dừng học và bằng lòng với kiến thức hiện tại.
Dịch và biên tập lại từ Toggl
Nguồn topit.vietnamworks.com