- vừa được xem lúc

Become a "Better Coder" - Cải thiện kĩ năng lập trình của bạn như thế nào ?

0 0 31

Người đăng: Trần Thái Dương

Theo Viblo Asia

Nếu bạn đang ở bài viết này tôi tin rằng trong đầu bạn đang có một câu hỏi tương tự như:

  • "Làm thế nào để trở nên giỏi hơn ?"
  • "Như thế nào để được gọi là một lập trinh viên thực sự ?"
  • "Lâu nay mình vẫn dậm chân tại chỗ ư ? Làm cách nào để có một kĩ năng tốt, chuyên môn cao ?"
  • ...

Khi bạn nghĩ tới những câu hỏi này có thể bạn đã dừng lại ở một level nào đó vì bạn không thực sự được tiếp cận với những thứ mà bạn cần , những điều mới mẻ mà bạn chưa được học. Đôi khi bạn hỏi ai đó một câu hỏi, nhưng khi nhận được câu trả lời bạn lại khăng khăng rằng điều đó không thực sự đúng. Tất nhiên điều đó có thể là thật, nhưng trường hợp chúng ta cần nói đến ở đây lại không phải ngoại lệ đó mà chính là sự "bảo thủ & thụ động" trong việc tiếp thu kiến thức. Hay chỉ đơn giản như bạn đang mất phương hướng như đứng giữa ngã tư mà không có biển báo, bạn không biết nên đi đường nào, làm thế nào để bản thân trở nên tốt hơn. VÌ vậy ở bài viết này chúng ta sẽ cùng tham khảo 9 bước để giúp chúng ta "Become a Better Coder" !!!

1. Nhắc nhở bản thân rằng bạn phải học bao nhiêu

Chúng ta đều biết kiến thức là vô tận, có thể bạn tốt nghiệp từ một trường đại học danh tiếng , đó chính là thành công của bạn nhưng đó chỉ là thành tựu nhỏ trong cuộc đời của bạn, điều đó không chứng minh được bạn thật sự giỏi hơn một người tốt nghiệp một trường nằm top dưới. Nhưng thực tế cho thấy rằng có khá nhiều người có vẻ "rất" tự hào với những thành quả hiện tại của mình, điều đó có thể làm bạn liên tưởng đến câu chuyện ngụ ngôn "Thỏ và rùa" đúng không ? Tất nhiên bạn cũng biết điều mình muốn nói đến ở đây là gì rồi đấy. Chúng ta có quyền tự hào với những thành tựu mình đạt được, nhưng đừng quên nhăc bản thân bạn rằng "cần học bao nhiêu là đủ ?"

2. Ngừng cố gắng chứng minh mình đúng

Các lập trình viên mới (và quá nhiều người có kinh nghiệm lâu năm) luôn nhìn vào mã của họ để ngưỡng mộ sự tuyệt vời của nó. Họ viết các bài kiểm tra để chứng minh rằng code của họ hoạt động thay vì cố gắng làm cho nó thất bại. Các lập trình viên tuyệt vời luôn chủ động tìm kiếm chỗ họ sai — vì họ biết rằng cuối cùng người dùng sẽ tìm thấy những khiếm khuyết mà họ đã bỏ qua. Hãy tự nhìn lại những kẽ hở trong code của bạn, có thể nó chạy hoàn hảo trên một hoặc vài flow nào đó , nhưng hãy luôn ghi nhớ rằng "No system safe", đến ngay cả nhưng công ty công nghệ hàng đầu họ cũng không dám khẳng định hệ thống của họ không có một chết nào.

3. "Code chạy" không phải là nơi bạn dừng lại, đó là nơi bạn bắt đầu

Vâng, bước đầu tiên của bạn luôn là viết phần mềm chất lượng đáp ứng các thông số kỹ thuật. Các lập trình viên trung bình dừng phát triển tại thời điểm đó và chuyển sang việc tiếp theo.

Nhưng dừng lại một khi nó đã "xong" cũng giống như bạn chụp một bức ảnh nhanh và mong đợi nó trở thành một tác phẩm nghệ thuật. Các lập trình viên giỏi biết rằng lần lặp đầu tiên chỉ là lần lặp đầu tiên. Nó hoạt động — xin chúc mừng! —Nhưng bạn vẫn chưa làm xong. Bây giờ, hãy làm cho nó tốt hơn .

Một phần của quá trình đó là xác định “tốt hơn” nghĩa là gì. Nó có giá trị để làm cho nó nhanh hơn? Dễ lập tài liệu hơn? Có thể tái sử dụng nhiều hơn? Đáng tin cậy hơn? Câu trả lời thay đổi theo từng ứng dụng, nhưng quy trình thì không.

4. Viết nó ba lần

Lập trình viên giỏi viết phần mềm hoạt động. Những người tuyệt vời viết phần mềm hoạt động cực kỳ tốt. Điều đó hiếm khi xảy ra trong lần thử đầu tiên. Phần mềm tốt nhất thường được viết ba lần : * Đầu tiên, bạn viết phần mềm để chứng minh với bản thân (hoặc khách hàng) rằng giải pháp là khả thi. Những người khác có thể không nhận ra rằng đây chỉ là một bằng chứng về khái niệm, nhưng bạn thì có. * Lần thứ hai, bạn làm cho nó hoạt động. * Lần thứ ba, bạn làm cho nó hoạt động đúng .

Mức độ công việc này có thể không rõ ràng khi bạn nhìn vào công việc của những nhà phát triển giỏi nhất. Mọi thứ họ làm có vẻ rất xuất sắc, nhưng những gì bạn không thấy là ngay cả các nhà phát triển ngôi sao nhạc rock có thể đã ném ra phiên bản thứ nhất và thứ hai trước khi hiển thị phần mềm của họ cho bất kỳ ai khác. Bỏ mã đi và bắt đầu lại có thể là một cách hiệu quả để đưa "làm cho nó tốt hơn" vào quy trình làm việc cá nhân của bạn.

Nếu không có gì khác, "Viết nó ba lần" cho bạn biết có bao nhiêu cách để tiếp cận một vấn đề. Và nó giúp bạn không bị mắc kẹt trong một con đường mòn.

5. Đọc code. Đọc thật nhiều code

Bạn có thể mong đợi tôi dẫn đầu với lời khuyên này, và thực sự đó là gợi ý phổ biến nhất và có giá trị nhất để cải thiện kỹ năng lập trình. Điều khó hiểu hơn là những lý do mà việc đọc mã của người khác là rất quan trọng.

Khi bạn đọc mã của người khác, bạn sẽ thấy cách người khác giải quyết vấn đề lập trình. Nhưng đừng coi đó là văn học, coi đó như một bài học và một thách thức. Để trở nên tốt hơn, hãy tự hỏi bản thân:

  • Tôi đã viết khối mã đó như thế nào?
  • Bạn sẽ làm gì khác đi, bây giờ bạn đã thấy một giải pháp khác?
  • Tôi vừa học cái gì đấy?
  • Làm cách nào để áp dụng kỹ thuật đó cho đoạn mã mà tôi đã viết trước đây? (“Tôi chưa bao giờ nghĩ đến việc sử dụng phương thức truy xuất đệ quy ở đó…”).
  • Tôi sẽ cải thiện mã này như thế nào? Và nếu đó là một dự án mã nguồn mở mà bạn tự tin rằng mình có giải pháp tốt hơn, hãy làm điều đó! Viết mã theo phong cách của tác giả . Thực hành điều này giúp bạn hiểu được tâm trí của người đã viết phần mềm, điều này có thể cải thiện sự đồng cảm của bạn . Đừng chỉ nghĩ vẩn vơ về các bước này. Viết ra câu trả lời của bạn, dù là trong nhật ký cá nhân, blog, trong quá trình đánh giá mã hoặc diễn đàn cộng đồng với các nhà phát triển khác. Cũng giống như việc giải thích một vấn đề với một người bạn có thể giúp bạn tìm ra giải pháp, việc viết ra và chia sẻ phân tích của bạn có thể giúp bạn hiểu lý do tại sao bạn phản ứng với mã của người khác theo một cách nhất định. Đó là tất cả một phần của sự xem xét nội tâm mà tôi đã đề cập trước đó, giúp bạn tự đánh giá điểm mạnh và điểm yếu của mình một cách công tâm.

Nhưng việc đọc nhiều code mà không trở thành một lập trình viên giỏi cũng không hề ít, cũng giống như một nhà văn muốn đọc những tác phẩm văn học tuyệt vời mà không cần cải thiện văn xuôi của chính mình. Nhiều nhà phát triển xem xét mã nguồn mở hoặc phần mềm khác để “tìm câu trả lời” và rất có thể là copy & paste code để giải quyết một vấn đề tương tự. Làm điều đó thực sự có thể khiến bạn trở thành một lập trình viên tồi tệ hơn , vì bạn đang mù quáng chấp nhận sự khôn ngoan của người khác mà không kiểm tra nó. (Thêm vào đó, nó có thể náo nhiệt hơn một chuyến dã ngoại mùa hè, nhưng vì bạn không dành thời gian để hiểu về nó, bạn sẽ không bao giờ nhận ra rằng bạn vừa nhập một nhà máy sản xuất lỗi).

6. Nâng cao kĩ năng mềm, kĩ năng làm việc nhóm

Điều này tưởng chừng như đơn giản vì thông thường chúng ta có thể làm việc nhóm một cách cơ bản, nhưng để trở thành "Better Coder", chúng ta cũng sẽ cần học cách làm việc nhóm một cách hiệu quả nhất, mang lại năng lượng và năng suất thực sự tốt cho nhóm, ví dụ đơn giản ngay như việc giao tiếp, chúng ta cần tham khảo một điều gì đó, nhưng liệu chúng ta có chắc rằng mình có thể diễn tả theo một cách hiệu quả, khiến họ có thể hiểu vấn đề một cách bao quát nhất và trọng tâm nhất hay không ? Điều này sẽ phụ thuộc vào kĩ năng giao tiếp của bạn, không chỉ giúp họ không cảm thấy mệt mỏi và chán nản mỗi khi nghe bạn hỏi, điều này còn giúp cả ta và họ tiết kiệm được thời gian, nâng cao năng suất và cảm hứng làm việc

7. Làm việc với các lập trình viên khác theo bất kỳ cách nào bạn có thể

Nó giúp ích cho việc lắng nghe người khác. Điều đó có thể có nghĩa là lập trình theo cặp , hoặc tham gia một cuộc thi hackathon , hoặc tham gia một nhóm người dùng lập trình (chẳng hạn như Vermont Coders Connection ). Khi bạn đóng góp cho một dự án mã nguồn mở, hãy chú ý đến phản hồi mà bạn nhận được từ người dùng và từ các nhà phát triển khác. Bạn thấy điểm chung nào trong những lời nhận xét của họ?

Bạn có thể đủ may mắn để tìm được một người cố vấn cá nhân mà bạn có thể tin tưởng để hướng dẫn bạn mọi thứ từ kỹ thuật viết code đến các quyết định nghề nghiệp. Đừng lãng phí những cơ hội như thế này, vì "học thầy không tày học bạn", họ có thể chỉ là một người bạn, một đồng nghiệp hay bất kì gì đó của bạn , nhưng họ là người có kinh nghiệm và sẽ có thể là người dẫn dắt bạn tuyệt vời.

8. Học kỹ thuật, không phải công cụ

Ngôn ngữ lập trình, công cụ và các phương pháp có thể đến và đi, có thể tại thời điểm này sẽ trở thành top trending, nhưng bạn có thể chắc chắn điều đó sẽ tồn tại mãi hay không? Tôi có thể chắc chắn cho bạn câu trả lời đó là KHÔNG, với tốc độ phát triển của công nghệ như hiện nay thôi, việc thay đổi công nghệ đã nhanh tới mức chóng mặt rồi. Đó là lý do tại sao bạn phải trả tiền để có được nhiều trải nghiệm nhất có thể với nhiều ngôn ngữ và khuôn khổ nhất có thể. Tập trung vào các nguyên tắc cơ bản về lập trình, bởi vì những điều cơ bản KHÔNG BAO GIỜ thay đổi, quan tâm nhiều hơn đến kiến trúc cốt lõi hơn là sẽ tốt hơn việc bạn tập trung học cách sử dụng một tool hay một framework lập trình nào đó. Điều bạn cần thật sự chính là thích nghi với sự thay đổi.

9. Chủ động là điều THIẾT YẾU

Điều này không chỉ đúng ở riêng lĩnh vực này, mà là điều THIẾT YẾU trong cuộc sống này, việc chúng ta tìm sự giúp đỡ không hề sai, nhưng sẽ sai nếu chúng ta chưa thực sự tìm hiểu đã mong chờ vào sự giúp đỡ của người khác, chủ động chính là sự phân biệt rõ ràng nhất người có tiềm năng và người không, cần cù có thể bù siêng năng nhưng một bộ não thiên phú chưa chắc đã có thể bù đắp cho sự lười biếng của chính bản thân - "Kỳ tích là tên gọi khác của sự nỗ lực".

> Tôi có thể tiếp tục, nhưng nguyên lý quan trọng của việc hoàn thiện bản thân là biết khi nào nên dừng lại !

Nguồn tham khảo : https://blog.newrelic.com/engineering/8-ways-become-a-better-coder/

Bình luận

Bài viết tương tự

- vừa được xem lúc

Ví dụ về UIActivityViewController

Trên iOS, UIActivityViewController cung cấp giao diện thống nhất để người dùng chia sẻ và thực hiện các hành động trên văn bản, hình ảnh, URL và các mục khác trong ứng dụng. let string = "Hello, world!". let url = URL(string: "https://nshipster.com").

0 0 45

- vừa được xem lúc

Chia sẻ một trang website thú vị về danh ngôn cuộc sống bằng tiếng Anh

Hi, lại là mình đây . Hôm nay mình không viết bài mang tính chia sẻ kỹ thuật, mà muốn giới thiệu đến tất cả các bạn một trang web khá là thú vị về danh ngôn cuộc sống, tuy nó là một trang web đơn giản

0 0 200

- vừa được xem lúc

Mình tự học lập trình từ con số 0 như thế nào?

Hành trình tự học lập trình. -----Xin chào các bạn mình tên là Vinh, hiện tại đang là một lập trình viên, thật ra thì chủ đề này khá củ rồi nhưng với mình thì hành trình học tập cũng mõi người là một

0 0 27

- vừa được xem lúc

Chóng covid cùng Neo4j??‍? ❌ ?

Lời nói đầu. -----Xin chào các bạn mình tên là Vinh, hiện tại đang là một lập trình viên Nodejs.

0 0 51

- vừa được xem lúc

IT nói "KHÔNG" trong công việc liệu có tốt không ?

Trong vòng gần 2 năm qua mình đã đi làm ở một công ty IT mảng về product. Nói không khiến ta cảm thấy mình có lỗi với người đối diện, người giao việc, khiến mình cảm thấy mình vô dụng.

0 0 32

- vừa được xem lúc

Note for ACID properties

ACID Transactions. What is transaction. Example: Bank Transfer. .

0 0 25