
Tại sao Coding lại khó? – Phần 2
Trong bài viết trước, tôi đã liệt kê, có vẻ là không quá hữu ích, tất cả những lý do tại sao tôi thấy việc học lập trình khó khăn. Trong phần tiếp theo này, tôi muốn cung cấp cho bạn một số công cụ để dành chiến thắng.
Điều đáng chú ý là những chiến lược này là những gì tôi đã sử dụng, nhưng bạn không nhất thiết phải giới hạn phương pháp của mình trong những điều này. Nếu có một mục đích, tôi chỉ muốn chỉ cho bạn cách tôi đã làm để kích thích sự sáng tạo trong quá trình học của bạn.
Hãy bắt đầu.
Chọn phương pháp học coding của bạn
Đối với người bị khuyết tật đọc chữ, việc đọc sách về lập trình rất khó khăn: tôi cần được chỉ dẫn. Hơn nữa, lời khuyên kém hữu ích nhất mà tôi từng được một senior developer đưa ra về cách học là “đọc hướng dẫn”. 🙄
Không có câu trả lời dễ dàng về cách học tốt nhất, nhưng hãy tin điều này từ một người nghệ sĩ – nếu bạn gặp sự kháng cự tâm lý với phương pháp học của mình, có thể là bạn sử dụng không đúng hình thức học.
Một số người học tốt nhất bằng cách nhảy vào và mắc lỗi, một số người học tốt hơn bằng cách xem người khác làm trước, một số người học tốt nhất bằng cách đọc code.
Dù cho bạn có chọn phương pháp nào, hãy hiểu rằng một chuyên gia là người đã mắc phải tất cả các lỗi có thể trong một lĩnh vực đã chọn. Tôi biết rằng tôi thường học nhiều hơn từ những thất bại của mình so với từ những thành công vì thành công không đòi hỏi một cái nhìn sâu sắc vào những gì tôi vừa làm.
Do đó, thành công trong lập trình ít liên quan đến việc làm đúng mà liên quan hơn đến việc không bỏ cuộc. Với tinh thần đó, hãy tiếp tục cố gắng code.
Nếu bạn không tiếp tục, những gì bạn đã dành thời gian học sẽ bị quên lãng. Và bạn vừa lãng phí thời gian của mình.
Hãy nắm vững một số kiến thức cơ bản, nhưng đừng dành quá nhiều thời gian trong thế giới hướng dẫn/học tập. Bắt đầu, sau đó tiến xa và làm việc thực tế.
Hãy tiếp tục học tập
“Hóa ra là vậy” ấn tượng nhất mà tôi tìm thấy trong lập trình là việc bạn không bao giờ thực sự học code, bạn học cách để học cách viết code. Bạn không bao giờ tự nhiên “biết nó”, bạn chỉ trở nên giỏi hơn trong việc tra cứu và nghiên cứu. Kiến thức của bạn sẽ là sự tổng hợp của những dự án mà bạn đã làm.
Công nghệ và xu hướng diễn biến quá nhanh. Bạn không thể học nhanh đến mức có thể theo kịp. Bạn không bao giờ có thể biết đủ nhiều đến mức có thể ngừng học.
Điều này đối lập với những gì chúng ta đã quen thuộc và thoải mái; mô hình học tập mới của chúng ta ngược lại với những gì bạn được dạy ở trường.
-
Cách cũ: đây là một đống kiến thức, học hết, có thể có trong bài kiểm tra, ngủ trong lo sợ… kiểm tra.
-
Cách mới: Học một ít kiến thức cơ bản, sau đó sử dụng việc thất bại như một phương pháp giảng dạy để phân tích ngược, với sự tò mò làm kim chỉ Nam.
Cách tiếp cận trước đây bó buộc và hạn chế, và mỏng manh.
Cách tiếp cận sau đây là vô hạn, không rõ ràng và bền vững. Và đáng sợ.
Các senior developers thành công nhất mà tôi từng có cơ hội làm việc cùng sẽ không quen thuộc với những gì bạn đang làm khi gọi họ đến giúp đỡ, nhưng họ sẽ có thể đọc code và cố gắng phân tích ngược để xem vấn đề là gì.
Cuối cùng, hãy nhớ rằng Grand Canyon được khắc bởi sức mạnh của nước. Không phải vì nước mạnh hơn đá, mà vì nó kiên nhẫn hơn.
Đắm mình trong nền văn hóa
Giống như việc học một ngoại ngữ, vốn từ vựng và sự thoải mái của bạn phụ thuộc trực tiếp vào mức độ tiếp xúc và nỗ lực của bạn so với thời gian bạn dành để đắm chìm vào nó.
Hãy nghe các podcast, xem các bộ phim tài liệu, đọc những bài đăng trên blog, tham dự hội nghị và gặp gỡ nhóm, đặt câu hỏi. Bạn cần được bao quanh bởi các khái niệm và thuật ngữ. Bạn cần phải biết những gì đang tồn tại và cách nó liên quan đến những gì bạn đang cố gắng làm (hoặc không làm!).
Nhưng chung quy, hãy tiếp tục cố gắng. Bạn càng đắm chìm vào việc học, bạn sẽ càng tiếp xúc với các thuật ngữ và ý tưởng mới, và mọi thứ sẽ trở nên dễ dàng hơn. Lập trình là một trong những bộ môn thú vị khi mà ban đầu, bạn sẽ cảm thấy ngớ ngẩn. Nhưng đến cuối, bạn sẽ tự hỏi tại sao một số thứ lại gây cho bạn nhiều khó khăn đến vậy,trong khi bây giờ bạn thấy chúng trở nên dễ dàng hơn rất nhiều.
Bạn được phép trở thành một đứa trẻ lần nữa
Khi còn bé, trải nghiệm của chúng ta được định nghĩa chủ yếu bởi những sai lầm, nhưng cũng có sự tự do để thất bại.
Khi trưởng thành, chúng ta đã tiến bộ và đạt được thành công bằng cách học từ những sai lầm của mình. Nhưng chiến thắng đã làm cho chúng ta trở nên ngại ngần trước rủi ro.
Những gì đã biến bạn trở thành người trưởng thành thành công sẽ không giúp bạn trở thành một đứa trẻ thành công. Bạn phải tự cho phép mình leo cây, ngã từ chiếc xe đạp, trầy xước đầu gối, làm bẩn móng tay.
Thách thức mà lập trình đặt ra cho người lớn là nó đưa chúng ta vào nhiều cơ hội để trông như chúng ta không biết chúng ta đang làm gì. Điều cuối cùng chúng ta muốn làm khi đã trở thành người lớn thành công là cho cả thế giới thấy chúng ta không biết gì, hoặc làm việc kém.
Khi trẻ con thất bại, chúng không biết rằng chúng đang làm nó kém hoặc không quan tâm. Chúng chỉ cho rằng đó là một phần của quá trình. Vì vậy, tôi nói với bạn rằng việc mắc lỗi như một đứa trẻ là hoàn toàn bình thường. Hãy cứ vui chơi đi.
Xây dựng những thứ bạn quan tâm
Hướng dẫn, dù có thiết kế tốt trong việc sử dụng chiến lược cho các ứng dụng giả thiết, thường sẽ không phải là điều bạn quan tâm.
Công bằng mà nói, những gì bạn muốn xây dựng có thể yêu cầu công nghệ mạnh mẽ hơn so với những ví dụ dạy học tôi có thể đề cập. Tuy nhiên, khi có thể, hãy cố gắng theo đuổi các dự án của riêng bạn, cho chính bạn.
Bước này có thể là một trong những bước quan trọng nhất mà tôi muốn chia sẻ với bạn. Bạn sẽ không quan tâm đến dự án của người khác như bạn quan tâm đến dự án của chính mình. Niềm đam mê muốn cải thiện cuộc sống của bạn, làm cho nó tốt hơn, dễ dàng hơn, vui hơn, ngớ ngẩn hơn, sẽ giúp bạn vượt qua những khó khăn trong quá trình học lập trình.
Nếu ý tưởng của bạn quá tham vọng so với trình độ kỹ năng hiện tại của bạn, hãy giảm nhẹ. Loại bỏ các tính năng, không thêm chức năng, thêm một “danh sách ước muốn” cho đến khi bạn đạt đủ trình độ.
Thực hành tốt nhất về sức khỏe
Giấc ngủ
Tôi không nghĩ rằng tôi cần giảng giải cho bạn về tầm quan trọng của giấc ngủ. Tôi chỉ muốn nói rằng trong cộng đồng của chúng ta, có một quy tắc bất thành văn rằng một đêm ngủ ngon thường là công cụ tìm lỗi tốt nhất.
Tập thể dục
Tâm trí thường giải quyết các vấn đề tư duy trong quá trình hoạt động thể chất. Hơn nữa, nếu bạn chưa quen với khối lượng nhận thức của việc giải quyết vấn đề logic, việc học liên tục trong nhiều giờ đồng hồ và tìm lỗi sẽ làm bạn mệt mỏi. Tập thể dục là một thói quen lành mạnh. Chấm hết.
Đó cũng là một kỹ thuật lập trình để làm sạch tâm trí.
Sức khỏe tâm thần
Đây là lý do cuối cùng vì trong kinh nghiệm của tôi, cả từ trải nghiệm cá nhân và 5 năm giảng dạy, lý do hàng đầu khiến những sinh viên có năng lực và sáng dạ bỏ cuộc là thiếu sự tự tin hoặc phải đấu tranh liên tục với sức khỏe tâm thần.
Khi chúng ta nói về việc học lập trình, chúng ta đang nói về một trong những trải nghiệm nghề nghiệp nhục nhã nhất mà một người có thể phải đối mặt – đặc biệt khi bạn không có nền tảng kỹ thuật. Bạn đang cố gắng học một điều gì đó rất chi tiết đến mức một dấu chấm phẩy thừa có thể làm sập ứng dụng của bạn.
Bạn có thể cảm thấy ngu ngốc, không thông minh, như một trò đùa. Rất nhiều sinh viên của tôi đã bỏ cuộc vì họ thuyết phục chính mình rằng họ không đủ thông minh. Điều đó còn đáng buồn hơn nữa khi bạn là một người trưởng thành và bị một dấu phẩy sai vị trí làm bạn gặp khó khăn.
Khi nhìn lại đoạn mã đã gây ra tất cả những rắc rối đó, nó không còn khó như vậy, nhưng trong khoảnh khắc đó, nó dường như không thể khả thi.
Nếu bạn có vấn đề sức khỏe tâm thần tiềm ẩn, điều này chỉ làm trầm trọng thêm vấn đề.
Giải quyết vấn đề sức khỏe tâm thần cùng với quá trình học sẽ là yếu tố quan trọng quyết định sự thành bại của sự nghiệp lập trình của bạn.
Hơn nữa, rất nhiều người nghiêm túc xem việc lập trình là một sự lựa chọn nghề nghiệp mới trong khi đang gặp khủng hoảng: dù là cá nhân, nghề nghiệp hoặc tài chính. Do đó, hầu hết sinh viên của tôi cố gắng học lập trình dưới áp lực và rất nhiều stress.
Kết luận
Chúng ta đã đi rất xa. Chúng ta đã cùng nhau nhận ra tại sao việc lập trình có thể khó khăn và những gì chúng ta có thể làm để nó trở nên dễ dàng hơn một chút.
Với mục tiêu đó, có lẽ bạn vẫn còn một ít lo lắng về cách bạn sẽ thực sự hoàn thành điều này.
Có thể những lời cuối cùng của tôi trong bài viết này sẽ làm cho bạn cảm thấy được động viên hơn một chút.
Bạn không cô đơn – hàng ngàn, có thể hàng trăm nghìn người đang đồng hành cùng bạn. Nhưng điều tôi đã học được từ trải nghiệm cá nhân của mình và từ những developers thành công mà tôi đã gặp gỡ là kỹ thuật lập trình về cơ bản là sự kiên nhẫn.
Bạn sẽ vượt qua được đỉnh núi không phải vì bạn cố gắng hơn, mà là vì bạn đã tiếp tục cố gắng. Thất bại trong ngành này chỉ đơn giản là một bước, không phải là biểu hiện về khả năng của bạn.
Bắt đầu từ nơi bạn đang đứng, làm những gì bạn có thể, tin vào chính mình. Bạn có thể làm được điều đó.
Post Comment