「我想轉職數據分析師,你會建議我先學 Python 還是 SQL 呢?」這是我在諮詢時最常收到的問題之一。通常我會針對發問者的狀況提供建議,而這篇文章會分享在理想情況,我建議你如何開始學習這兩種程式語言。
首先,確保你是真的 Python 跟 SQL 兩種語言都需要學
比起排定優先權,最重要的是先釐清你是不是真的 Python 跟 SQL 都學會之後才能達成你的目標(無論是轉職、為工作加分、做 side project…等)。如果是轉職者,我強烈建議一定要先爬過人力銀行或 LinkedIn,找你有興趣的工作 JD,確認他們要求的語言能力有哪些。
有些職稱如商業分析師、營運數據分析師,很大的機會只會要求你有使用 SQL 的能力,Python 則會是加分項,那麼這時要先學哪個語言也很清楚了吧。
如果在爬過資料以後,你發現大部分的工作都要求具備 SQL 與 Python 兩種能力,那麼接著往下看在理想狀況下,你該如何開始學習吧!
學好資料型態、資料結構,上手 SQL 更容易
所謂的理想狀態,指的就是時間充足的狀態,如果短時間沒有特定需要達成的目的,我認為最佳解是先學 Python,再在中後期加入 SQL。
SQL 是一種非常簡單的語言,甚至不算是程式語言。但因為它過於簡單,通常市面上的教學也都只是教各種語法怎麼用,而很少提到資料型態、資料結構的觀念,如果缺乏這些概念,我認為離真正靈活運用 SQL 還會有些距離。
而學習 Python 則必定會學到資料型態、資料結構這些觀念。相比從 0 開始學 SQL,當你是先學 Python 並對 Python 有初步的了解後,未來再回頭學 SQL,會發現 SQL 的結構與語法使用都很清晰,上手 SQL 就更容易了。
雖然 Python 的入門門檻會比 SQL 再更高一些,但那也只是相對來說而已,以基礎 Python 本身的難度來說,如果願意用邏輯去理解、花時間寫練習題,相信多數人都是可以學會的。
如果就是想先學 SQL,可以嗎?
當然也沒問題。只是對一個小白來說,或許從 0 開始學 SQL 的難度還是會有那麼一點高,一開始你會遇到需要把問題用邏輯去拆解,然後再用 SQL 語法去表達的階段,光是這段我個人就卡了不久。
這段卡完,後面就會輕鬆許多,再下一次卡應該就是等到正式開始工作,遇到更複雜問題的時候了。
無論你決定是先從 Python 還是 SQL 學起,我個人建議都可以一次先學一個語言,避免有些語法重複、或是兩者互相錯用的情況。雖然我是兩個分開在不同時間學習,但還是曾經把 Python 的語法誤用進 SQL 裡,有時候要抓 bug 還真的不會意識到是哪裡出錯。
個人過去的學習經驗
過去我也是想說先學 SQL,但當中實在有太多觀念是教材裡沒有明說、麻瓜如我也搞不懂的,所以一開始學 SQL 時解題速度非常之慢,心情上也是充滿挫折。
後來加入 ccClub 學完 Python 基礎,對資料結構、資料型態有概念之後,再回來寫 SQL,許多題目就迎刃而解了。所以我認為對沒有經驗的人來說,先對程式運作有比較完整的認識之後,再回來學 SQL 會輕鬆很多,也不至於花太多時間卡在摸不著頭緒的地方。
如果你也想轉職數據分析師,或是單純想學習 SQL&Python 來擴展自己的職涯,都歡迎諮詢我,或是你已經學過了,也歡迎在這篇文章底下留下你學這些語言的心路歷程哦!