自學簡介

首先,讓我為您描繪一下場景。您在新聞中或透過朋友聽說過「程式設計師的就業市場非常棒」。

你發現自己有一些隨機的 YouTube 影片或奇怪的付費課程,它們可以教你一些東西,你會想啊哈!這就是所缺少的!

只需幾天(如果不是幾個小時)你就會很快意識到程式設計是困難的,遵循你在網路上找到的一些隨機課程大多只會讓你擅長複製東西,所以當你嘗試時,你最終只是盯著那個巨大的空白螢幕稍後自己思考。

首先,你要怎麼學到東西?

讓我們來聽聽著名程式設計師GeoHotz的說法:

{% youtube 8RtGlWmXGhA %}

學習是一個複雜的過程,每個人的情況可能會有所不同。對我來說,最簡單的學習方法就是找到能激勵你去做的事情。

由於學習是一個艱難且有時乏味的過程,因此擁有明確的目標可以讓您走得更遠,並且可以讓您感覺自己取得了更大的成就,或者正如 GeoHotz 所說:

你永遠不會透過觀看名為「學習程式設計」的影片來學習程式設計

對於我和我認識的其他程式設計師來說,我們喜歡建立副專案,而這種透過做專案來學習東西的方法(在學院中稱為基於專案的學習)由於其功效、作品集、腦海中浮現的隨機想法變得越來越流行,甚至那些可以幫助我們實現興趣愛好的東西也成為你學習的靈感來源的絕佳例子。

所以繼續吧!首先,選擇您的學習靈感/專案。如果您是完全的初學者,請從小事開始。例如,考慮一個可以在螢幕上顯示您的名字以及所選短語的程式!

還在問自己如何對一個好的專案創意進行分類?由於這對於初學者來說尤其困難,因此我們將在下面的部分中幫助您回答這個問題。

什麼是好主意?

定義想法

我正在尋找這些東西來檢查目前是否是一個好主意:

  • 實用性:這個想法應該是解決實際問題的東西/你感興趣的東西。這將為您提供將專案進行到底的動力。

  • 複雜性:想法的複雜性應該與您目前的技能水平相符。如果您是初學者,請從簡單的專案開始,隨著您的技能提升逐漸解決更複雜的專案。

  • 興趣:選擇一個您真正感興趣的專案。這將使學習過程變得更加愉快,減少苦差事。

對於初學者來說,一些好主意可以是建立一個基本計算器、一個簡單的部落格或一個互動式待辦事項清單。對於更高級的學習者,可以考慮建立一個從 API 獲取資料的天氣應用程式、即時應用程式,甚至是井字棋或貪吃蛇等簡單遊戲。

圖片描述

事實上,如果您對即時主題感興趣,我們已經編寫了完整的分步教程,向您展示如何使用 WebSocket 建立即時投票應用程式。它將教你如何與朋友即時投票,同時建立一個完全全端的 React + NodeJS Web 應用程式——一個很棒的投資組合專案!

厭倦了千篇一律的舊想法,或者在尋找新想法時完全迷失了方向?檢查這個很棒的儲存庫,其中包含許多指向其他想法清單的不同連結!

為工作/您的學習主題選擇正確的工具

選擇您的學習科目

好的第二步是為您的專案選擇正確的語言/工具。

如果您是完全的初學者:一切正常,因為大多數程式語言的主要程式設計概念都是相同的。不要擔心任何關於「更好的語言」、「更好的作業系統」或類似的東西的意見,記住,我們正在嘗試在這裡創造一些東西。

還不知道嗎?只要使用JavaScript !它很簡單,有大量教程,基本上可以製作所有東西。 :)

如果您已經具備某種程式設計基礎,請使用人工智慧和一些出色的抽象/框架來更快地完成工作。例如,您可以使用Wasp來跳過大量重複操作,而不是從頭開始建立所有內容(並且可能會在過程中遭受一些小事情的困擾),Wasp 是一個很棒的 React/Node 全端框架,可以處理為您管理程式設計的樣板部分。 🤯

此外,他們的 CLI也可以幫助您更快地啟動。透過執行wasp new ,您可以獲得適合您需求的自訂範本。例如,如果您正在建立新的 SaaS,您可能會發現OpenSaaS適合您,或者如果您正在建立更具體的解決方案,如果沒有其他合適的解決方案, AI 程式碼產生器可以幫助您快速啟動。

黃蜂命令列介面


順便說一句,如果您還沒有,請給我們的儲存庫一些關愛!像Wasp這樣的開源專案可以節省我們大量的時間,讓我們能夠專注於建立 Web 應用程式的有趣部分!

透過在 GitHub 上為該儲存庫加註星標,您將幫助我們繼續讓所有開發人員更快、更輕鬆地進行 Web 開發!

{% cta https://www.github.com/wasp-lang/wasp %} ⭐️ 給黃蜂一顆星! ⭐️ {% endcta %}


試著去做(並犯一些錯誤)

動手實踐

現在,是時候讓我們動手了!

身為程式設計師,你必須具備的一項基本技能是搜尋。內容無所不在,我們只需要找到它。首先將手邊的任務分解成更小的問題:

讓我們使用一個簡單的應用程式範例,該應用程式允許用戶輸入其姓名,以便其顯示在螢幕/客戶端上:

  • 如何在 Python 上顯示我的名字?

  • 如何在程式碼中儲存文字?

您搜尋和尋找內容的每個問題都會產生更多問題,這些問題有望更準確地解決問題。您可能會親眼看到,像「在螢幕上顯示使用者名稱」這樣簡單的任務可以變得任何複雜程度。

我們如何在應用程式上輸入和保存資料?我們如何正確顯示這些資料?您將嘗試回答這些問題,但有時可能會失敗。作為工程師,除了解決專案可能引起的任何不確定性之外,我們還必須確定這些問題是否與我們正在開發的解決方案相關。

迭代周期

在尋求答案和辨識主題是否不相關之間找到平衡非常重要。這個過程有助於我們的專業成長。哦,我們不要忘記我們的朋友 AI,例如Chat-GPT ,它可以為我們解釋甚至編碼。

請記住,與一般的工程一樣,編碼的一部分涉及嘗試和錯誤。我們每天都會嘗試、除錯並尋找解決方案。我們嘗試的越多,我們就越接近所需的解決方案。對於每個工程師/程式設計師來說,快速適應這個過程是朝著正確方向邁出的一大步。

但是,請注意,如果您是一個完全的初學者,請先嘗試自己搜尋。人工智慧很棒,可以幫助你很多,但它可能不精確,只有自己學習才能讓你有能力發現缺陷。

反思你的進步

一座山,通往成功之路

定期反思迄今為止所學到的知識非常重要。這可以很簡單,例如在每天結束時寫下您所學到的新概念的摘要,甚至建立有關它的部落格文章或教程,或者只是一條簡單的推文。這不僅可以加深您的理解,還可以為將來的使用提供參考(您可以在這裡了解更多有關公共建築概念的訊息,這對公司很有好處,對您的旅程也很有好處!)。

反思您的進步也讓您有機會評估自己的優勢和劣勢,使您能夠專注於需要改進的領域。它就像個人回饋循環,讓您更了解自己的學習方式以及如何提高學習效率。

這也是自我推銷和透過作品集向他人展示的好時機,例如,您的創作內容和方式!

自學程式設計的挑戰

自學程式設計有其挑戰。它需要紀律、耐心以及排除故障和從錯誤中學習的能力。此外,如果沒有結構化的課程,很容易感到不知所措或迷失。

然而,同樣重要的是要記住,自學並不意味著孤立學習。與其他學習者互動、分享您的程式碼並尋求回饋(例如,您可以查看Wasp 的 Discord或其他社群來開始參與)。這可以極大地幫助您增強理解並提高編碼技能。

對於課程部分,你也不必盲目地搜尋所有內容。您可以使用開發人員路線圖來了解您在每一步中應該學習哪些內容!

自學程式設計的好處

儘管面臨挑戰,自學程式還是有許多好處。它允許靈活性,培養創造力,並且可以帶來難以置信的回報。但沒有什麼比你能做任何事的感覺,或者換句話說,你將獲得的信心更令人驚奇的了。

當你最終創造出你喜歡創造的東西並意識到你在這個過程中學到了多少東西時,這很棒,但是,如果有足夠的時間,你可以學習並創造任何想到的想法,那就更棒了。此外,您可以按照自己的步調並專注於您最感興趣的領域。建立讓您興奮的專案並與他人分享您的進度。繼續學習,繼續編碼,最重要的是,享受這趟旅程。

結論

貼文中的所有圖片合併成一個循環

總之,自學程式設計是一次賦能之旅,可以釋放無數機會。有時可能會充滿挑戰,但您獲得的可能性是無限的。

哦,萬一您還沒有為Wasp 的存儲庫加註星標,我建議您這樣做!對於任何希望更快、更輕鬆地完成專案的人來說,這是一個很棒的全端框架!

{% cta https://www.github.com/wasp-lang/wasp %} ⭐️ 給黃蜂一顆星! ⭐️ {% endcta %}

最後,成功的自學之旅的關鍵是一致性、耐心和適量的好奇心。將挑戰視為成長的機會,不要害怕尋求協助。在這段旅程中,您並不孤單,每個程式設計師,無論經驗如何,都是從您現在的位置開始的。


原文出處:https://dev.to/wasp/the-art-of-self-learning-how-to-teach-yourself-any-programming-concept-5de4


共有 0 則留言