最近部門裡興起了一陣SQL旋風,希望負責產品的PM也可以具備基本的SQL撰寫能力,能夠自行做一些簡單的數據撈取,方便觀察產品的經營狀況。於是部門就劃分為兩個組別:會寫程式要負責教導的「老師組」和認真學習的「學生組」。
在這個教學與學習的過程中,也讓我重新從初學者的視角,看到從零開始學程式上會遇到的一些常見問題和挑戰。我本身原本也是完全不懂程式的文科生小白,從BI Tool開始接觸數據報表與資料庫,到自學程式做數據分析,其中摸索階段裡也踩過不少的坑。
接下來分享的這些建議不只適用於SQL,在學習不同的程式語言時也都會遇到相似的過程,接著就跟大家分享一些我的經驗和觀察,希望能幫助大家更容易快速上手學習。
清楚易懂、結構化的入門學習教材
現在網路上有很多免費的學習資源選擇,但對於不具備基礎知識的初學者而言,是一種資訊量過大的負擔,無法很好地分辨不同學習資源的差異和優缺點,從而選擇適合自己的方式。
有結構的入門學習基礎就好比學習英文時,需要先知道26個字母是哪些、基本的文法架構是如何組成,才能由簡單的單字開始拼湊成能夠表達自己意思的句子,奠基於這些基礎上,再往後延伸更多的時態文法和單字量的擴大。
那該如何找到一個好的入門基礎呢?
建議可以由適合初學者的簡單課程或書籍開始,從課程大綱或書籍章節觀察編排的脈絡,找尋自己方便理解的教學方式,也可以請有經驗的前輩推薦。重點是由淺入深,可以協助自己逐步建立起好的基礎觀念,在後續做更深入的學習時,才知道怎麼去問對問題,探索更多學習方向。
大量情境題目練習
如果學習英文,從給你一本字典背滿7,000個單字開始,聽起來是不是很無趣呢?但如果換個方式,讓你從日常生活中每天都會用到的物品和對話去學單字,感覺就實用又有趣多了!
學習程式也是一樣的道理,只是知道語法的寫法,是很無感的,從實際的應用題目中去思考如何解題,才能更落地。
題目的來源可以是工作與生活上會遇到的情境,或是網路的刷題網站,小至計算每月商品的銷售業績報表,大至如何建置一個購買高鐵票的自動化程序,從大量的題目中持續練習,讓自己逐漸熟悉解題的手感,便可以熟能生巧。
模仿是最快的學習
程式語言簡單來說就是與電腦溝通的語言,透過建立指令,讓電腦協助我們執行工作,因此在語句結構上,有其標準化的語法,可以透過定義好的語法結構或關鍵字來表達,是具有邏輯性、可被拆解的。
承接上一個大量練習的建議,在撰寫程式時,難免都會遇到卡關、不知道怎麼寫下去的困境,這時候會建議新手在練習題目時要盡量選擇有社群討論或是有偵錯建議機制功能的平台。
初學時期模仿是最快的學習方式,可以藉由觀摩他人的寫法,拆解他的思考方式,像是:為什麼會這樣寫?和我原本的寫法有什麼不同?這樣寫有什麼優缺點?會是更有效率的寫法嗎?經過這樣多次的拆解和思考後,能漸漸培養起屬於自己的程式經驗和寫法。
搭配ChatGPT,加速學習效率
隨著科技的進步,搭配ChatGPT來協助程式撰寫,能加速學習的效率,我自己常運用的場景有:
(1)想要達成什麼功能,卻不知道合適的寫法或指令時,請ChatGPT給予一個寫法範例
(2)當程式返回的錯誤訊息時,協助解釋錯誤訊息的意思是什麼,並給予修正建議
也提供我的詠唱法給大家參考看看:下方是以[OOO程式]所撰寫的程式碼,想要[達成什麼目標、做什麼事情],以下是返回的錯誤訊息及撰寫的程式碼,請協助解釋錯誤訊息的意思,並直接給予程式碼的修正建議。
[貼上回應的錯誤訊息] --------------------------------------------------------------------------------- [貼上撰寫的程式碼] ---------------------------------------------------------------------------------
建立屬於自己的知識筆記
在初學程式的時候,我會習慣將新學到的一個用法,轉換成自己看得懂的方式,紀錄在Excel裡做整理,紀錄的內容包含:函式、定義、用法、例子、註解。
在剛開始學習的階段裡,最重要的是讓自己盡快熟悉程式的寫法及常用函式,就像上課一樣,如果只是聽老師講課,印象會不是那麼深刻,但邊上課邊作筆記,除了可以加強記憶力外,事後複習時,也能更快回想起學習重點。
透過這樣的整理筆記對我來說有兩個很棒的優點,一個是在寫的過程中,把學到的東西吸收後重新內化成自己的語言,以「理解」取代「硬背」;另一個則是在之後的運用上非常便利,當遇到曾經用過的函式卻不太記得使用方式時,只要打開Excel使用搜尋鍵,就可以立刻找到相關的用法、案例和使用上要注意的地方等等,不必再Google一次,歷經重新查找和理解的過程。
在剛開始學習一件新事物時,學習曲線是最為陡峭、困難度最高的階段,希望透過這5個建議可以幫助大家更快上手,找到適合自己的學習方式囉!
如果你剛好是想轉職成為商業分析或數據分析的工作者,或者在職場上時常會碰到與數據分析相關議題的話,也歡迎參考我的線上數據分析課程,希望可以幫助你快速入門數據分析。