Python 自學無痛轉職:理工科的最佳 Python 入門指南
2024 年 7 月 14 日 by Dex
Python 自學無痛轉職:理工科的最佳 Python 入門指南
如果你還在猶豫要選擇什麼程式語言作為第二職涯的跑道 ; 或是你還在掙扎是否跳脫原本的產業領域並擔心無法順利銜接到第二跑道導致薪資待遇從新鮮人開始,本篇文章會為你解答所有的疑慮
為什麼不待在台灣最夯的科技製造業就好?
科技製造業的挑戰與困境
依照我的經驗,科技製造業和半導體代工製造,是台灣很重要的產業和領域技術,這個產業的確提供了穩定且良好的薪酬。然而,隨著市場競爭的加劇,影像辨識功能、生成式AI和自動化技術的崛起,半導體製造除了工作壓力日益增加,職業發展也會變得非常狹窄。當你想轉換企業或轉換領域時,半導體工程師很快就會發覺遇到職涯的瓶頸,很難再有新的突破,這也是過去的我面臨的困境,也是我毅然決然去學習一個「帶的走」且「應用範圍廣泛」的技能。
為什麼程式語言是一個能帶著走且應用廣泛的工具?
不同於半導體代工業,很難將通用的知識或技術工具應用到下一個公司之中,程式語言擁有強大的通用性且適用於多元的場景,也因為它是一個全球通用的工具,解答和資源都能夠搜尋得到。
Pytho程式語言特別的便攜性和通用性
Python的便攜性和通用性不只是指電腦運行環境的Windows、Mac和Linux,同樣代表在不同地域和環境,Python都能夠安裝和操作,程式語言的好處便是能夠無縫運行,這意味著你可以在任何地方進行軟體開發、資料分析和測試。這種跨平台跨區域的特性使得Python在遠端工作、自由職業者受到歡迎。無論身處何地何時,只需一台電腦,就可以繼續自己的程式設計工作,程式語言的靈活性是其他技術無法比擬的。
Python的廣泛應用為職涯帶來更多選擇
學習Python能夠提供更多的職業選擇。Python在資料分析、人工智慧、機器學習、網路開發等領域有著廣泛的應用,這意味著掌握Python技能後,可以轉職到這些新興且彈性的行業。例如,資料科學家、AI工程師、軟體工程師,或者近期開始出現的「AI詠唱師」等職位,都需要有Python的技能。所以你仍然能夠坐穩高薪的科技製造業,甚至還可以探索更多職涯的機會、領域和產業。你可以在不同的行業中穿梭,
找到相應的工作機會,無論是科技公司、金融機構、研究機構或新創公司,Python技能都能夠為你提供更多的職業選擇,像是台灣熱門的新創公司Appier、Dcard、Gogoro等,都有在應徵Python的職缺。
總而言之,身為剛進入職場的你,你的「選擇」因為Pyhton突然變得非常多,不必擔心被綁死在一家公司或一個領域而無法跳脫。
理工科背景擁有進入程式領域的獨特優勢
數理能力導向:理工科背景者在邏輯思維和數學基礎上具備優勢,能快速適應程式開發
理工科背景的學生在數學方面有較強的能力,這也讓我們在學習Python程式語言時能夠快速上手。Python具有簡潔且易讀的語法,這對於理工科背景的人來說,是很大的優勢,因為我們只需要應用原本就熟悉的數理知識,不必對於程式語言的操作和語法有太多琢磨,便可以迅速適應新的工具並應用這項技術。
邏輯思維導向:理工科的訓練使得在學習程式時更加得心應手
理工科學生在大學期間學習大量的邏輯推理的能力,程式設計便是一種邏輯思維的體現和應用,所以理工科背景的工作者能夠很快地適應這樣的思維模式,從而高效地進行程式開發。
Python的低學習曲線,高CP值
Python之所以成為轉職熱門的選擇,主要是因為它的學習曲線較低,但能用在各行各業之中。相較於其他程式語言如C++、Java等,Python的語法更加簡潔,學習門檻較低,初學者能夠迅速掌握基本概念並開始編寫程式。掌握Python的技能具有很高的CP值。
以下,我們簡單的比較C++、Java、Python三種程式碼對於簡單的「a+b」加法的計算
這樣比較下,很明顯地發現Python的簡易性,其實就是一般的數學運算,而C++和Java都要在經過其他處理和程式語言的轉換
Python轉職攻略
技能樹分配
軟體工程師偏愛討論「技能樹」,我自己將技能樹重新拆解,分為「精度優先序」和「廣度範疇」。也因為程式開發是太多元的領域交織而成,你必須釐清自己想成為的「角色」,再去找出成為這樣的角色,它的技能樹的「根」在哪裡?以此才能發展出更多的枝枒。
以下由我的Data Engineer 的個人經驗說起,我們雖然在討論「Python」,但他其實不是最初的「根」,圖中「data engineer roadmap in 2021」,它其實是位於第二層的枝枒上,但Python的好處也由上述可知,這讓它精度優先序是最高的(作者也在圖中打上愛心的符號,代表最推薦的順序),而學習Python後的廣度範疇,便是向「根」的方向前進。這種逆向的方式,是非資工本科生的我能馬上進入程式領域的秘訣,甚至直接參與職場從做中學,再去學習其他所需知識。
這就像是先拿到球賽門票的概念,再到球場裡了解規則和球員一樣。所以在完成Python的學習後,我們就能再返回去理解API、Computer Science或Git等工具的使用、知識概念和操作應用。
學習心態: 認清事實、持續問答、設定目標
在轉職的學習期間,首先有很重要的事,那就是建立「良好的學習心態」,以此面對學習的挑戰和困境,隨時謹記這個心態,在遇到不知所措和茫然無解的時後,透過此態度來面對,以此找到學習的初衷和目標,也由此激勵自身。以下是我認為程式轉職必備的學習心態:
認清現實
首先,先認清自己的不足,是成功轉職的第一步。在學習之間,要認識到自身的技能和知識還不夠,而這種態度也要帶入未來職場中,這樣的自我認知能促使我們更努力學習。
持續問答
接著,承認「我一定是落後於本科資工背景的人」,這是持續進步的關鍵。雖然在提問或回答時可能會遭到嘲笑,但這並不代表你的提問和回答不重要。持續問答絕對可以幫助你更快地填補知識漏洞和盲點。
設定目標
結合上述兩點,我們會逐漸釐清自身在學習時所處的定位,有了定位也才能知道前進的目標和方向。
於是下一步,我們能設立階段性的小目標,並將這些小目標逐步整合成一個里程碑。這種方法有助於你逐步達成大目標,同時培養成就感和動力,激勵自己持續前進。
學習方式:在線課程、自學書籍、實作專案
學習Python可以採用多種方法,如在線課程、自學書籍、實體學習和實作專案等。在線直播課程通常有系統的教學大綱和專業的指導,適合初學者系統性地學習。自學書籍和線上非同步學習雖然靈活性較高,但同時也要有較高的合自律性,需要規劃進度來學習。實作專案則能夠幫助自己將所學直接應用到實際問題中,提升解決問題的能力。我推薦的學習資源如下:
在線學習
現今線上學習的課程眾多,我自己也調查了不少資源,以下推薦幾個我認為CP值較高的平台和課程:
- PressPlay Python基礎課程:17小時學會寫程式 ,此課程可透過九折優惠購買: 立即領取優惠
- Hahow Python 入門特訓 – 基礎實作到證照攻略
- Udemy 2024 Python全攻略
- Coursera Python for Everybody 專項課程
- Coursera Get Started with Python
Python 自學書籍
在入門和初學的階段,我一律建立找O’Reilly的書籍來學習和閱讀,這是因為O’Reilly的系列都有深度的專業知識和高質量編輯和設計,以下三本是我認為可以找來學習的,包含<精通Python>、<流暢的Python>、<Python技術手冊>
實作專案
除了以上,若你已經有些基礎,Github和Linkedin上也有許多開源專案實作,能讓你練練手,而且這些專案都結合了上各種工具和概念,適合進階的學習者透過逐步搭建專案的方式,將過往的單點學習都串起來!
推薦以下二個實作專案系列:
推薦的學習方法 – 學習小組的共學參與
參加學習小組或線上論壇是一種非常有效的共學方式,特別是在學習Python程式設計時。透過小組夥伴之間的交流和討論,可以共同解決難題並開發完整的作品專案。以下是一些具體的建議:
找到一群相同目標的夥伴
首先,找到一群有相同目標和學習熱情的夥伴是至關重要的。我參與實體課程時,採取了一種「真正地孤注一擲,想上完課馬上找到工作」的態度,因此,我尋找的夥伴也需要保持相同的精神。這種共同的目標和動力可以幫助小組成員在學習過程中互相支持,彼此激勵。
學習小組的組織與運作
- 定期會議:安排固定的時間進行小組會議,討論學習進度、分享學習心得以及解決遇到的問題。會議可以是線上或線下的形式,根據小組成員的情況靈活安排。
- 分工合作:在小組中,根據每個成員的強項和各自期望達到的目標進行分工。例如,有人負責資料蒐集,有人負責程式碼撰寫,有人負責測試,有人負責前端畫面的呈現。這樣可以提高效率,讓每個成員都能發揮自己的特長。
- 共同專案:選擇一個具挑戰性的專案作為小組的共同目標。透過合作開發專案,不僅可以鞏固所學知識,還能培養實戰經驗。專案完成後,每個成員都可以將其納入自己的作品集中,增強履歷的競爭力。
- 互相評估:定期對彼此的工作進行評估和反饋,這有助於及時發現問題並改進。互相評估還可以提升每個成員的溝通能力並學習彼此的優點。
參與社群和開源專案
這部分是我運用在「WOL:大聲工作法」這本書中,所提到的學習參與方法,除了是團體學習的進階方式,也是一種人脈的積累。
學習Python這樣的全球通用工具的好處就是,你能夠積極參與國際型的社群活動,並透過各種開源專案來提升技能應用。這些活動不僅能提供實際操作經驗,這些建立的人脈網絡,能讓你提前適應職場需求和你自身的市場價值。
參與社群
積極參與Python社群活動,能夠快速解決技術問題,並獲得來自全球的支持與建議。
- 提問與回答:在Stack Overflow、Reddit、Linkedin等平台上主動提問,尋求幫助的同時,也能積極回答他人的問題。這不僅能解決自己的疑問,還能提升你的理解和表達能力。
- 資源共享:分享和獲取學習資源,如教學影片、教程和書籍推薦。這些資源可以豐富你的學習內容,提供更多學習途徑。
- 專案展示:在線上平台上展示自己,尋求反饋和建議,我們可以透過他人的回饋優化專案,這也能讓更多人了解你的能力和並將成果呈現出來。
- 參與討論:在Hacker News、Twitter,甚至現在很火紅的Threads等平台上參與技術討論,了解行業趨勢和最新技術,擴展知識面,提升技術視野,一方面也擴展了個人品牌,我認為個人品牌的提升絕對有助於增進個人的就業機會。
開源專案
參與開源專案不僅能提升你的技術水平,還能增加實際工作經驗,並讓你的履歷更加豐富。
- 選擇專案:除了Github,我也習慣在g0v這個平台上尋找開源專案,在g0v有各種有趣且充滿成就感的專案能夠參與,如cofact事實查核、disfactory農地違章工廠回報等,可以嘗試參與這些在地型的專案,這樣能夠快速了解議題並且也能夠有線下實體的聚會討論。
- 貢獻程式碼:從解決小的issue開始,逐步參與到專案的核心開發中。這過程中,你將學到實際開發經驗,了解所謂的guide linec和實際落地的程式碼撰寫方式。
- 學習與反饋:透過專案中的程式碼審查和回饋,不斷改進自己的coding技巧,學習其他開發者的優秀經驗。
- 建立人脈:參與開源專案能讓你接觸到來自各式各樣的開發者,擴展專業人脈,並獲得更多職業機會。
總結
轉職進入Python程式領域,對於理工科背景的人士而言,是一個充滿潛力和機會的選擇。Python憑藉其簡潔的語法和強大的通用性,不僅能夠讓你快速上手,還能在多元的產業中找到職業發展的機會。通過設定明確的學習目標、參與學習小組和社群活動,以及實作專案,你能夠迅速提升技能並建立專業人脈。持續保持學習的心態,認清現實、不斷問答、設立目標,你將在轉職的道路上不斷進步,找到屬於自己的職涯新高峰。記住,勇敢踏出第一步,掌握Python將會為你的職涯帶來更多選擇和可能性。
電子報訂閱
更多學習資源和工作經驗分享
可訂閱 我與經驗值 <I And EXP> 電子報
https://iandexp.ck.page/283146f2d3
訂閱即可獲得NVIDIA AI 學習資源