Làm sao để nâng cao khả năng code?
This post hasn't been updated for 5 years
Làm sao để nâng cao khả năng code? Dĩ nhiên là phải code rồi, còn cách nào khác nữa. Nhưng code thì cũng có nhiều kiểu code. Có kiểu giúp bạn lên trình, cũng có kiểu giúp trình bạn lên. Dù là kiểu nào thì muốn code giỏi bạn đều phải code cả.
Tuy nhiên, lên trình nhiều hay lên trình ít lại phụ thuộc vào nhiều khía cạnh. Giả sử như bạn được code với một anh senior, code của anh ấy đẹp như đêm trăng rằm, hoặc bạn code một dự án thực tế hay ho thì trình của bạn sẽ lên rất nhanh. Còn nếu bạn cứ code đi code lại mấy bài CRUD trong trường đại học với mấy thằng bạn, hoặc làm vài task lặt vặt trong công ty thì trình sẽ khó lên hơn.
Nhưng đâu phải ai cũng có cơ hội code với senior, làm dự án thực tế đúng không? Đặc biệt là các bạn sinh viên như mình, hoặc các bạn mới ra trường. Nhưng không sao, hôm nay mình sẽ giúp bạn biết cách làm sao để nâng trình code của bạn, dễ thôi.
Open source – thiên đường luyện code
Ơn trời chúng ta có internet, vô số các dự án thực tế hay ho được các developer chia sẻ đang chờ bạn.
Nếu bạn biết đến github thì chắc rằng bạn đã hiểu open source là gì. Open source đơn giản là các dự án tuyệt vời được chia sẻ lên internet, bạn có thể dễ dàng clone source code, tham gia đóng góp vào các dự án này.
Vậy open source giúp bạn lên trình code như thế nào?
Thứ nhất, bạn có thể học hỏi từ những developer giỏi trên khắp thế giới. Một đại thi hào thường đọc rất nhiều sách hay, tương tự, một developer giỏi thường đọc rất nhiều source code từ những đồng nghiệp tuyệt vời. Thông qua việc tiếp xúc, đọc hiểu những dự án open source chất lượng, bạn sẽ học được cách tổ chức code, cách viết code sạch đẹp, cách các developer khác xử lý vấn đề…
Sau khi đọc code, bạn có thể bắt đầu chọn cho mình những module nhỏ mà bạn hứng thú để bắt đầu code. Bạn có thể tự nghĩ ra các tính năng mới, hoặc cũng thể giải quyết các issues có sẵn. Dù cách nào đi chăng nữa thì bạn cũng sẽ học được vô số điều mới mẻ.
Nếu bạn có thể hoàn thành một vài tính năng mới hoặc giải quyết được các issues, đừng ngần ngại commit code của bạn, rất có thể nó sẽ được chấp nhận và tích hợp vào dự án đấy.
Ngoài lợi ích giúp bạn nâng cao khả năng code, việc đóng góp vào các dự án open source đôi khi còn là thước đo khả năng của bạn trong mắt các nhà tuyển dụng. Rất nhiều công ty, nhà tuyển dụng xem profile github là một trong những khía cạnh để đánh giá ứng viên đấy.
Pet project
Rất nhiều bạn bè của mình ở trường đại học nói với mình rằng họ đã quá chán nản với những project CRUD trong các đồ án môn học, họ muốn làm gì đó thực tế hơn. Tại sao không bắt đầu một pet project nhỉ?
Pet project là những dự án mà bạn nghĩ ra ý tưởng và làm trong thời gian rảnh. Giá trị của những project này nằm ở chỗ bạn có thể làm bất cứ thứ gì bạn thích, bất cứ công nghệ nào bạn muốn học, đặc biệt là nó giúp bạn làm ra được sản phẩm, điều mà bạn khó có thể đạt được khi đi làm.
Nhiều developer thường có ý nghĩ rằng pet project phải là thứ gì đó cao siêu, làm mấy cái nhỏ nhoi thì chẳng bõ công. Tuy nhiên, mục đích của pet project đơn giản là để bạn giải trí, rèn luyện khả năng code, khả năng làm sản phẩm chứ không phải để bán kiếm tiền hay startup. Vì vậy bạn có thể làm bất cứ thứ gì, miễn là bạn cảm thấy nó hữu ích, bạn yêu thích làm ra nó.
Những ý tưởng nhỏ nhặt có thể đến từ bất cứ đâu. Giả sử như crush của bạn thích được nhắn tin chào buổi sáng nhưng bạn lại hay ngủ đến tận trưa thì làm sao? Viết ngay một con bot tự động nhắn tin cho crush. Nhỡ crush nhắn tin lại mà con bot ngu quá không biết trả lời thì làm sao. Học ngay AI và train trình nhắn tin cho con bot. Thế là bạn có ngay một pet project.
Việc bắt đầu một pet project giúp bạn trải nghiệm được toàn bộ quy trình tạo ra một phần mềm ở giai đoạn development. Nếu như ở công ty, công việc của bạn là hoàn thành những task nhỏ trong một dự án lớn, mọi thứ đã được setup sẵn khiến bạn khó có thể nhìn thấy toàn bộ quá trình thì với pet project, bạn sẽ được làm mọi thứ từ việc setup môi trường, coding, testing, deploy…
Hy vọng mình thuyết phục được bạn rằng bạn nên bắt đầu một pet project. Nhưng chưa hết, bạn còn có thể đưa các pet project của bạn vào CV khi đi xin việc, các công ty sẽ đánh giá bạn cao hơn rất nhiều, đặc biệt nếu bạn là một người chưa có kinh nghiệm thì pet project lại càng quan trọng hơn. Bởi nó chứng minh cho phía công ty biết rằng bạn thật sự biết code, biết làm ra sản phẩm. Ngoài ra, biết đâu pet project của bạn lại được mọi người ưa chuộng thì sao? Rất nhiều dự án startup khởi đầu chỉ là một pet project, như Facebook chẳng hạn, mình tin rằng lúc code Facebook gã Mark Zuckerberg cũng chỉ xem nó như một pet project thôi.
Đọc sách về coding
Lần cuối cùng bạn đọc một cuốn sách về coding là khi nào? Mình tin rằng một số lượng kha khá developer không trả lời được câu hỏi này. Dù thế nào đi chăng nữa thì sách vẫn là một công cụ tuyệt vời giúp bạn nâng cao khả năng code, vì vậy đừng bỏ qua chúng.
Ai cũng có thể viết code, nhưng không phải ai cũng có thể viết code chất lượng. Ngoài code, bạn nên dành thời gian đọc sách, bởi sách là nơi các bậc lão thành truyền đạt kinh nghiệm lại cho hậu thế. Những kiến thức như: viết code sao cho dễ đọc, dễ hiểu, design kiến trúc sao cho dễ mở rộng, dễ bảo trì…, những kiến thức dạng này bạn khó có thể tìm thấy ở các video, các khóa học trên internet.
Hãy đứng trên vai những người khổng lồ. Bạn phải chấp nhận một điều rằng bạn không phải developer giỏi nhất trên thế giới. Vì vậy, hãy học tập từ những người giỏi nhất, những người có kinh nghiệm nhất, làm theo những chỉ dẫn của họ trong sách sẽ giúp bạn tiết kiệm được rất nhiều thời gian và công sức.
Code đã khó, đọc sách về code còn khó hơn rất nhiều, tuy nhiên, hãy tập cho bản thân thói quen này. Nếu bạn làm được, bạn sẽ nằm trong top những developer giỏi nhất.
Kết
Nâng cao khả năng code là cả một quá trình dài. Vì vậy, theo mình, bạn không nên quá quan trọng việc bạn có code giỏi hay không, trình độ của bạn đến đâu. Cái bạn cần làm là tận hưởng những gì code đem đến cho bạn, học cách tận hưởng 3 điều mình nêu ở trên, rồi sẽ đến lúc bạn không ngờ rằng bản thân code khiếp đến thế.
Bạn thường luyện code bằng cách nào? Chia sẻ với mọi người nhé.
Đọc thêm nhiều bài viết tại: https://thedarkknighttech.com
All Rights Reserved