2021/05/29

學什麼程式語言入門的建議及心得分享

  網路上常出現一些奇怪問題,也不能說是怪。只是對於一些想要入門軟體開發的人心裡總是會想"該從那裡下手,選什麼程式語言,什麼開發工具呢?"。這個問題對於在這個行業超過二十年的我來看,通常第一個反問的問題是"你想做什麼?"。如果只是玩玩,或是只是也想要會寫點程式,那又我只會開始潑冷水。如果是像親戚的小孩,真的考慮進入這個行業,那我會先提醒將基本功打好,而不是只有程式語言這項。作業系統/網路通訊基本原理/資料庫/資料結構/演算法等等,這些在學校應學好的基本功,再來考慮進入就業市場,也要看你入什麼產業,該產業用什麼工具。很多學校教的真的不夠,和產業差距太大,以台灣的生態不太會有讓你進公司慢慢學,所以才會有資策會或其它電腦補習班在補上產學落差這一塊。或是大學生的教授與外面有合作,有機會工讀可以直接接觸實務使用的程式語言及工具。英文閱讀基本能力也是個人強力要有的能力,現在是網路及搜尋與資訊分享快速的世界,一手資訊英文世界最多也最快。不要讓英文能力限制了你的學習速度。

         至於軟體開發要看你是那一方面? 系統層,應用層,自己列出一些我了解的如下供參考:

應用層: 
  • APP 開發: 也就是寫手機,平板的軟體。兩大陣營Goolge Android (安卓)和Apple。程式語言不同,工具不同。很少工程師能兩邊通吃,只能選一邊專精。
  • 資訊系統開發: 分為 client  及 Web 兩種,client 以 Windows 為大宗,Web 就不限 Windows / Mac / Linux 。Web 系統又份前端/後端/全端開發。使用方面又分公司內部使用及網際網路使用。內部使用對於資訊安全沒有網際網路那麼高。現在有些較有規模及制度的公司知道前端也是要專職及專業,若公司養不起這樣的人會外包給專業的開發公司。前後端分的很清楚的公司一般是電商或是網際網路應用的系統,使用者體驗UX很重要,也是門面。總不會找一個只會寫程式卻沒有美感或操作設計能力的人來設計吧。至於後端工程師真的是市場上人力需求的大宗。多少大中小型公司都需要有人來開發或維護自家的內部使用系統。這種工作人力需求量大,工作相對也好找,但許多公司開出的條件也是十八般武藝樣樣會的項目一堆。一般來說這類型的工程師要三到五年的實務專案開發磨練才會進入成熟期。也是薪水可以開始大跳的本錢。

一個好的軟體工程師不是那麼容易養成,技術要求的多樣性再加上特定領域的Know How才能產出該領域的系統,有些領域特別要求數理能力,有些領域要求金融會計等。不只是邏輯能力,溝通能力也一定不可少,說到最後其實學那一種程式語言和工具真的沒那麼重要。以現在網路資源及書籍都很普及的狀況下,自學入門一個程式語言已經是進入這行業的基本能力,在國外許多高中生就能辦到。台灣也應該許多人有這個能力,自己公司內的同仁,許多都不是資訊相關科系畢業,一樣經過幾年學習也能表現不錯。