Ngày càng có nhiều người đến với vùng đất lập trình rộng lớn vì thế tôi muốn dừng lại và ngẫm nghĩ về những gì tôi đã học được khi tôi bước sang năm 3 viết lập trình. Cho dù đó là cho một dự án ở trường hay sở thích cá nhân thì việc viết code đã trở thành một phần cơ bản trong cuộc sống của tôi. Dẫu cho cuộc sống có những lúc thăng trầm nhưng đến tận giờ tôi vẫn rất yêu quý công việc này.
Tôi không biết mình đã mong đợi điều gì lúc bắt đầu cuộc hành trình này hơn hai năm trước. Tôi sẽ có được những gì khi tham gia những lớp nhập môn và build những thứ tôi thấy thú vị. Khi tôi học các câu lệnh if / else và input trong Python, tôi đã build được một máy tính tiền cho phép user mua dâu tây, cam và táo.
Nhờ việc học dự án này, tôi đã có thể đi sâu vào các khái niệm đơn giản nhất giúp củng cố nền tảng đến mức tối đa. Tuy nhiên, có một số điều tôi ước rằng mình có thể hiểu sớm hơn.
Dưới đây là một số bài học tôi rút ra được sau hơn hai năm viết code.
Bạn có thể xem thêm bài viết tại: https://200lab.io/blog/sau-2-nam-ruoi-viet-lap-trinh-toi-hoc-duoc-gi/
1. Debug là một nghệ thuật, không phải là một kỹ năng
Có những đoạn code trông rất ổn nhưng hoạt động không chính xác thường phổ biến hơn là những đoạn code hoạt động chính xác. Tôi tin rằng debug là một sàn lọc lớn hơn là học cách viết code. Trên thực tế, học viết code theo một nghĩa khác là học cách debug.
Có một nghệ thuật để debug. Nếu bạn là một kẻ phá phách (như tôi) và bạn chủ yếu sử dụng Python, thì thường rất dễ để tìm ra giải pháp cho các vấn đề của bạn. Nếu bạn sử dụng một ngôn ngữ cấp thấp hơn, chẳng hạn như C ++ hoặc C, mọi thứ sẽ trở nên khó khăn hơn nhiều và bạn cần có một đôi mắt tinh tường để tìm lỗi.
Khi bạn mới làm quen với lập trình nói chung, những thứ không đáng kể thường khó khăn khi bắt đầu. Tuy nhiên, theo thời gian, bạn sẽ quen thuộc và nhận dạng dần. Ví dụ: tôi không cần đếm số lượng dấu ngoặc đơn nếu có nhiều dấu ngoặc đơn cạnh nhau. Theo thời gian, tôi đã phát triển một trực giác vững chắc để biết mình đang sử dụng chức năng / phương pháp nào, dựa trên số lượng chức năng / phương pháp sau khi tôi lập trình.
Ngay cả khi tôi đếm sai và xuất hiện lỗi, tất cả những gì tôi cần biết là ở dòng nào và tôi có thể tìm ra từ đó. Bạn sẽ ngạc nhiên rằng số lượng dấu ngoặc đơn dường như không phải là một lỗi phổ biến nhưng bạn sẽ dễ mắc phải lỗi này.
Theo thời gian, trực giác của bạn sẽ trở nên mạnh mẽ hơn rất nhiều. Bạn càng gặp nhiều lỗi bạn càng trở nên giỏi hơn. Tôi nhớ rằng trước kia tôi đã từng rất sợ khi chương trình của mình xuất hiện bug. Bây giờ khi tôi nhìn thấy một dấu chấm phẩy, tôi khá hoang mang vì khả năng thiếu dấu chấm phẩy cao hơn bất kỳ điều gì khác.
2. Đừng ngại tìm kiếm và sử dụng những thứ giống nhau lặp đi lặp lại
Tôi vẫn đang vật lộn với điều này vì nó khiến tôi nghi ngờ về khả năng của mình nhiều nhất. Bất kể tôi có thường xuyên sử dụng một số package nhất định hoặc thao tác với một số kiểu dữ liệu nhất định hay không, tôi sẽ luôn tra cứu thêm một số thứ giống nhau. Một số kỹ thuật đã ăn sâu vào tôi, tuy nhiên, tâm trí của tôi sẽ không bao giờ cho phép tôi dùng chúng. Tôi không biết tại sao, nhưng tôi đã dần chấp nhận nó.
Tôi đề cập đến điều này bởi vì tôi biết bạn có thể sẽ gặp vấn đề tương tự. Bạn sẽ không trở nên tệ hơn vì tra cứu nhiều mà lại không giải quyết được các vấn đề như các hacker trong phim. Và tôi đã từng mong rằng nó dễ dàng. Tuy nhiên, điều đó không xảy ra và cũng không sao cả. Hãy nhớ rằng cuộc sống không giống như trong phim.
3. Bạn chỉ có thể học hỏi rất nhiều. Chọn những gì bạn yêu thích và cố gắng thực hiện.
Đây là bài học áp dụng cho hầu hết mọi thứ trong cuộc sống đặc biệt đối với các lập trình viên. Trên thực tế, khi mọi người nói rằng tôi có rất nhiều lựa chọn vì tôi biết cách viết code, tôi đã thu mình lại. Thông thường, có một giả định rằng không có sự khác biệt giữa các kỹ năng cần thiết cho các công việc, trong khi thực tế là mỗi lĩnh vực đều yêu cầu những chuyên môn riêng biệt.
Học cách chuyên môn hóa nghĩa là học cách trau dồi kỹ năng của bạn. Tôi không tin những người biết nhiều thứ thực sự thành công trong bất kỳ lĩnh vực nào, đặc biệt là trong thời đại ngày nay. Chuyên môn hóa khi bắt đầu sự nghiệp quả là một điều quan trọng. Nếu bạn muốn cân bằng lại về sau, điều đó tùy thuộc vào bạn. Tuy nhiên, khi bạn bắt đầu, hãy nghĩ đến một loại dự án và hướng đến nó trước tiên. Một người nào đó học trở thành một nhà thiết kế UI / UX sẽ cần phải học các framework khác với một nhà khoa học dữ liệu hoặc một kỹ sư phần mềm. Nắm rõ những kĩ năng cần thiết sẽ giúp bạn dẫn trước các đồng nghiệp của mình vì tất cả đều là những người mới bắt đầu.
Đó là lý do tại sao khi ai đó hỏi tôi: “ngôn ngữ lập trình nào tốt nhất cho người mới bắt đầu?”, câu trả lời của tôi luôn là “ hãy dùng bất cứ ngôn ngữ nào hoàn thành dự án của bạn nhanh nhất”.
4. Nếu bạn không thích làm điều gì vào thời gian rảnh của mình, bạn sẽ xem nhẹ nó ở nơi làm việc
Bạn không thể và sẽ không thành công trong lĩnh vực này nếu cho rằng đó là cách làm giàu nhanh chóng. Đây là điều khác xa so với thực tế.
Nếu bạn thích lập trình trong thời gian rảnh, bạn sẽ cảm thấy công việc của mình rất thú vị dù cho những thử thách bủa vây. Bạn sẽ gặp những thử thách ngày này qua ngày khác, và bạn cần phải tìm ra cách giải quyết các vấn đề phức tạp một cách thường xuyên và nhanh chóng. Có một lý do rất đơn giản khiến nhiều người kiệt sức và chuyển sang một công việc có nhịp độ chậm hơn, và có thể là do kỳ vọng công việc khác xa so với thực tế.
Những lập trình viên rất giỏi code tôi biết cũng lập trình vào thời gian rảnh của họ. Họ không làm điều đó vì trách nhiệm mà vì họ thích. Với họ, họ có những dự án của công việc và những dự án làm cho vui. Dự án làm vui có quy mô nhỏ hơn nên họ ít áp lực hơn nhưng tôi tin rằng điều đó kích thích khía cạnh sáng tạo của họ. Thói quen này không chỉ trau dồi kỹ năng code còn mang lại cảm giác tự do sáng tạo.
5. Viết code không phải là một kỹ năng mà là cả một sự nghiệp.
Tôi đã nghĩ rằng mình sẽ có thể đọc source code để giải trí sau hai năm lập trình. Mặc dù tôi có thể đọc được nhưng tôi không cảm thấy hài lòng. Tôi chỉ làm điều đó khi thực sự tuyệt vọng.
Chỉ có một cách để trở thành lập trình viên giỏi nhất, đó là lập trình trong nhiều năm. Chứng tỏ bản thân trong sự nghiệp không phải là vấn đề kỹ năng, code là đam mê và động lực. Những người thành công về lâu dài đã làm điều đó vì họ đã chọn một lĩnh vực code họ thực sự quan tâm và muốn phát triển.
Hãy nhìn xem, tôi đã làm công việc này trong hai năm rưỡi lập trình và tôi như là một đứa trẻ trong trò chơi này. Nếu tuổi của tôi được xác định bằng số năm lập trình, thì thậm chí tôi sẽ chưa đến lớp mẫu giáo.
Sau 10 năm nữa thì có lẽ lời khuyên của tôi sẽ có giá trị hơn một chút. Tôi luôn cố gắng học hỏi và phát triển các kỹ năng của mình. Đối mặt càng nhiều thử thách càng tốt - bản thân tôi trong tương lai sẽ cảm ơn tôi vì điều đó. Hãy suy nghĩ dài hạn và bạn sẽ thành công rực rỡ.
Kết
Trong lĩnh vực lập trình ngày càng phát triển, điều duy nhất thực sự quan trọng là hãy suy nghĩ như một đứa trẻ thường ngày. Không ngừng tìm tòi, học hỏi và phát triển, đó là những gì thực sự quan trọng. Sai lầm là điều tất nhiên sẽ xảy ra. Quan trong là cần biến chúng thành động lực. Bạn sẽ không kiếm được việc làm trong ba hoặc thậm chí sáu tháng đầu tiên. Nếu bạn may mắn có nhiều mối quan hệ thì bạn sẽ kiếm được việc làm trong một năm. Tôi thực sự muốn biết bạn là ai và bạn quen biết ai vậy.
Chỉ có một cách duy nhất tôi tìm thấy thành công trong lĩnh vực này và đó là thông qua công việc phù hợp và tính kỷ luật. Code tốt chính là code tốt và đó là tất cả những gì những nhà tuyển dụng đang tìm kiếm. Hãy tiếp tục viết code và tôi chắc rằng bạn sẽ đạt được những gì bạn muốn trước khi bạn đến trung học cơ sở (trong những năm lập trình).
Cảm ơn bạn đã đọc.
Bài viết này được dịch từ đây.