在本篇文章點會以我的觀點和歷程來描述透過Python轉職過程、轉職後的工作選項和薪資狀況,並分享我知道的進修機構和學習單位,提供讀者參考。
我最初畢業於化工材料碩士,隨後先來到台灣美光,成為半導體工程師。
台灣的半導體代工業盛行,有較高而穩定的薪酬,同時仍必須思考的是,處在一個思考和技能固化的場域,代工本身就是「優化有限」的領域,加上2019年的AI 影像辨識功能和智能工廠自動化的崛起,半導體代工發展更加狹窄,但因為AI導致硬體需求的增加,代工業的壓力卻持續增加,這非常不平衡,技能越窄,工時卻越長。
我主要使用公司內部的工具進行作業,但這些技能都是「帶不走的」,如果你跳槽到另一間半導體代工業,原本的工具也派不上用場,只能重學。所以很快就遇到了成長的瓶頸,處在一個無法突破的困境,缺乏「成長感」的環境,使我萌生了「職涯轉換」的念頭,也是我想尋找廣泛、精深且能「帶的走」的技術或工具的原因。
自學打穩基礎並查詢比較相關資料,再以進修班的隊友一起完成專題和作品集,並透過進修班的老師瞭解真實市場對於轉職者的反應以及當今應徵的機會程度。
2019年,大數據和資料分析熱門程度逐漸地提升,為了先將Python的基礎打好,我趁著輪班放假的時候開始自我進修。
我對於自學的建議是:需要有很好的時間管理和資源查找能力,並且規劃出空閑、休假時的進修時程表,搭配線上課程,如Code Academy 和 Couresa 來學習。
而對Python程式語言有信心之後,也開始思考下一步轉職所需要的要件。
(對於Python 入門學習方式,未來也會有另外的文章分享,以及有關於自學的訣竅、方式,以及如何評估自學的合適程度,我會在下一篇文章中詳細說明)
在另一篇文章「掌握這三大階段,讓你成功透過Python 轉職,順利進入職場,成為Python 工程師」,其中提到的三大里程碑:「Python入門、作品集、面試履歷」,我已掌握第一步,接著是往第二階段去建立「作品集」,思量到對於個人在「作品集」建立的規模有限,決定去加入進修班並與同樣想學習的夥伴組隊一起完成更全面的作品(包含前端、後端、資料科學、機器學習等部分),這樣便能夠完成近似於「產品規模」的「專案」。
辭職於美光之後,開始了在半年在中央大學資策會與緯育Tibame合辦的「大數據與資料分析實體班」的進修生活,以下說明我認為參加進修班前的三大評估:
一定要先做好調查和研究,到各大平台如Dcard、PTT、巴哈姆特、臉書或Threads上尋找這些進修班的各種評論,確認參與過的學員是否都有被滿足其學習的需求。
也因為有些課程會去洗評價,所以思考評論的真偽也很重要,另外有些辦課組織會對於直接的負評進行刪除或隱藏,故有些人可能會用隱晦的方式來留下負評,所以自己也要判斷每一則評論背後是否有嘲諷的意味。
當然自身客觀的判斷是很重要的,每個課程一定都有正負評,這時候可以去看留言者的素質和品質,來反向確認課程的好壞。
比較各種進修班的上課內容和價格,確認內容是否符合自己想要的,是否已經有自學已經掌握的重疊內容,另外也確認這些學習內容是否涵蓋未來職涯的需求。
在尋找課程後,可以先透過104或其他求職網,先搜尋「資料工程師」、「資料分析師」或其他職務的「應徵條件」和「所需能力」來評估此課程的學習內容是否都有涵蓋到,以及沒有涵蓋時先規劃怎麼去額外地學習。
另外學習內容一定要有專題作品建立或專案建立,這樣才能透過進修課真正地實作並透過專題為轉職鋪路。
了解進修班的價格和時程規劃,因為參與實體班或全時程的線上班,需要犧牲「工作」,所以會有一段時間是完全沒有收入的時期,這時候就要確認自己的存款能否完全負擔進修時期的支出。否則在進修時還要擔心「銀彈」的問題,會對學習時的專注度和精神力造成很大的影響。
可以先去換算每日或每月的最多花費,在乘以進修班的日數或月數,保險起見,需額外加一個月的時間。
實體班最大的花費除了進修學費之外,住宿的月租費用、住宿的保證金、交通費和每餐最大花費都要算進去,如果你有開車,還需要評估附近租用停車場的月租費用。
以上三點的評估確認後,才決定參與進修班,這樣才會能先掌控風險並更有保障,也因為這樣做,你才能把心思全部投入在進修學習、作品集建立和面試履歷撰寫上。
我投入進修班是以「5W1H」的方式來執行:
認知和釐清自己參加的目的,像我是以「課程完訓」能馬上透過作品集轉職,而有些人可能是把它當作額外學習,沒有轉職計畫,有些人是原本就在程式領域工作,而另外進修進行額外的學習。
當你先釐清自身的目的後,下一步才能尋找要一起完成作品集的「夥伴」
尋找志同道合的夥伴,在第一步了解自己後,便可以用這個「頻率」去尋找對的夥伴,這些夥伴就會是你未來要DEMO的「作品集」隊友
(所謂的DEMO是程式開發者在報告或面試時,提供給主管或面試的專案/作品集的操作或影片示範)
確認每天或每週的上課時間,以及在下課後能夠持續學習的時間。
我的做法是平日早上9點到下午5點為上課時段,下課則繼續研讀到晚上11點(可以和夥伴約定一起共學),假日也至少要一天完整地早上到下午投入學習之中。我也建議參加實體進修班的人要有能力這麼做。
學習環境是很重要的,若是實體班,看能否借用教室來研讀,若是線上進修課,也建議不要待在太過舒適的房間內,而是到圖書館和其他人建立「共讀環境」。
哪怕是不認識的人,在共讀環境下的學習效率還是更高的,因為我的目的是要以最佳效率和最短時間去達成轉職,所以將學習效率最佳化是很重要的。
學習方式,這在上方也有提到的,就是「共讀共學」的方式,若是和「確認過眼神」的夥伴一起學習,可以用「互相丟出問題考對方」的方式,來增加學習的難度並學到上課之外的內容,擴充了學習的深度或廣度。
要知道的事,在你接觸到真正程式產業前,你上課的所學都是最基礎的,所以如果能多懂一點、多認知到一些,有這些機會了話,都要把握去做。
我將What放在最後,是因為這邊指的就是「作品集」本身,我在學習中期就開始招集「志同道合」(Who)的夥伴,組隊並著手討論專案的內容或技術應用
以我的狀況,當時的隊友有人想多學前端網頁,有人想多瞭解資料庫,於是就可以依照每個人的興趣去規劃、分配每個人的職責,而若是有隊友想做的是重疊的,也可讓他們組成一個小組,或是協調在重疊的領域之中再去切分個別的任務。
這樣的好處是,在學習中期,大家都對能各自想做的先進行調查和研究,對於作品集建立的規劃,達到「超前部署」,也能提早思考如何應用後期學習的內容,這是因為通常後期的課程內容會更有深度或更困難,所以若能拿來運用在專案中,更可以為作品集達到更好加分的作用。
2019是Covid-19開始出現的時候,當時AI醫療開始受到關注,於是我們的作品集便是透過病患的基本資料和看診資訊,來預測出病患在使用CT(電腦斷層掃描)會消耗的時間,再透過line推播給病患,讓他們在相對應的時間來到醫院就好,而不需要待在醫院乾等。
於是我們的作品集在實體班的發表會上也有受到很大的關注,整個專案包含了完整的前端網頁、後端資料庫和API、機器學習的預測模型以及串接Line Bot的推播機器人。
面試除了作品集之外,我認為簡報也是很重要的,需要將每一個步驟和每個要件都透過簡報描述清楚,呈現和表達的關鍵在於「提高效率」和「減少成本」的數據效果,並透過完整的「故事描述」,才能讓面試官知道整個系統的架構和關鍵效應。(關於面試簡報的建立,我之後會以我的簡報作為示範,另外寫一篇文章來說明)
專題建議時,應該將其設計成一個規模大而全面的專案。一方面能展示你的技術實力,還能體現你在專案管理和協作方面的能力。
確保每個細節都與你希望轉職的方向相符合,例如,如果你希望轉職到前端開發,你就應該負責專題中大量前端技術的應用 ; 如果你是想走機器學習,就應該專職在作品集中機器學習的模型應用。
對於大規模專案來說,劃分清晰的模塊和任務至關重要。每個團隊成員都應該有明確的職責,這樣不僅能提高效率,還能讓每個人都在自己的領域內發揮最大作用。例如,有人專注於前端開發,有人負責後端資料庫管理,還有人處理API或機器學習模型。
在面試中,這樣的大規模專案能夠展示你的綜合能力和協作能力。面試官會關注你在專案中扮演的角色,以及你如何解決遇到的困難和挑戰。
在面試中,除了展示作品集本身,描述專案中遇到的困難和解決方案也是一個重要的環節。這能夠展現面試者在面對挑戰時的應變能力和解決問題的思維方式。
例如,在我的一個專案中,我們遇到了資料庫性能瓶頸的問題。這是一個由於資料量激增引發的性能瓶頸,導致系統反應時間顯著延長,影響了用戶體驗。為了解決這個問題,我們首先對資料庫進行了全面的性能分析,找出了瓶頸所在。通過詳細的性能監測和分析,我們發現問題主要集中在某些高頻查詢和索引結構上。
針對這些問題,我們採取了多方面的優化措施。首先,我們重新設計了查詢語句,減少了不必要的嵌套查詢和聯接操作。其次,我們優化了索引結構,增加了針對高頻查詢的索引,以提高查詢效率。此外,我們還引入了資料庫分區和讀寫分離技術,將讀寫操作分散到不同的資料庫節點上,進一步提高了系統的整體性能。
這種通過具體問題來展示解決方案的方式,不僅能展示你對資料庫的理解和熟悉資料工程的能力,還能展現你的邏輯思維。面試官不僅會對你在技術層面的理解感到印象深刻,還會注意到你在分析和解決問題過程中的條理性和創造性。
這裡埋梗的意思是,刻意在簡報中述說專案的漏洞或困境,可以成為一個讓面試官必須面對的「梗」,這就像必考題一樣,讓面試官認為找到了專案的缺口或破綻,其實是你「早已準備好」的問題,這樣一方面照著自己的節奏完成了面試的答題,也因為花費在「必考題」的時間,減少了很多不確定性的問題。
其實面試就是一個說故事和聽故事的過程,若故事沒有起承轉合或高潮迭起,便無法帶給觀眾較好的閱聽感受。
面試就是看你的故事能否吸引人,讓面試官想深挖你的故事,如果他們願意花更多時間了解你本人或你的專題,也代表你獲得工作的機會大幅提升。
身為轉職者,在面試過程,最主要展示參與的作品集、專案的經驗,以及解決問題的能力。我會準備一份讓人看了一目了然的文件,還有一份有詳細內容的簡報:
保持簡潔明瞭,重點突出技能和經驗
在這邊也推薦一些面試的線上課程可做參考
Pressplay這邊,幫讀者爭取了九折優惠券,可以套用在下方的這些課程中:
Python同時協作資料科學與軟體開發,所以工作選項多元,進可攻退可守。
我轉職後擔任過三種類型資料工程師,並同時擔任機器學習工程師、資料分析工程師,現在則是軟體後端工程師。
依我的見解,整個跑道的轉換路徑,我認為可以由資料工程師作為起點,接著在看自身的興趣和「技能樹」,朝著以雲端架構師為主的軟體後端發展,或是走以機器學習為主的資料科學家的路線。
資料工程師會接觸到較多工具,同時也會比分析師有更多 coding 的機會,可以橫向發展更多如Power BI、Tableau的BI工具,或是如Informatica、Pentaho等的ETL工具 ; 也可以垂直深度發展寫程式的能力,或鑽研某項大數據技術,如Hadoop、Spark、Flink等,或是去學習雲端技術,如AWS、Azure、GCP等重量級的三朵雲。
(本篇著重在轉職的路徑,工具的介紹則會在另一篇文章「資料工程師和資料分析的技能樹」在另外說明)
作為轉職起點的資料工程師和資料分析工程師,依照我的經驗分為以下幾種:
有許多輔導機構和課程可以幫助想要轉職的人士學習Python。
以下是幾個推薦的資源:
實體班或線上班都有,養成班大多為實體班
緯育是我當時選擇的進修班,不過當時的地點是在桃園的中央大學,所以對於成本會比在台北更低一點。
最近看到桃園並沒有在招生,讀者還需密切關注一下消息,可能會隨時更新最新課程資訊,或直切去他們官方line詢問。
我當時參加的是為期半年的大數據與資料分析養成班(平日五天上課總時長共半年,提供實體上課、硬體設備、自修教室、人資介紹面試履歷的分享,以及最重要的作品集Demo配合一日業界媒合,費用為10萬左右
緯育的選擇會更為多樣,近期以資料工程師養成班、生程式AI雲端應用養成班、AI智慧應用開發實戰養成班為主。
https://school.appworks.tw/coding-bootcamps/
前四週線上參與,之後16週為平日整天的實體班
非常有名且師資優良的團隊,過去所知很多課程都是免費的。採隨到隨審且額滿截止制,會有第一關的面試審核(若人不在台灣,可以選擇視訊面談),好處是這樣篩選出來的同學和組員,都是有決心和目標導向的,更能組織起更好的轉職專案成果。
時程安排:前前 4 週每週需投入 40 小時遠距學習;後 16 週為上午 9 點至下午 6 點的實體班,一週五天的全職駐點集訓。唯一缺點可能是台北的花費較高的問題。
過去與Python相關的課程包含:
師資非常優秀,教學團隊是由使丹佛大學回台的碩士生
可選擇台北實體或線上參與
時程大多在平日晚上或週末
課程內容:
Python基礎班:
分為上、下兩個基礎班,上課內容滿扎實的,而且也有課後作業可以練習
AI班:
課程內容滿多的,共50幾個小時的課程,從機器學習概念到資料處理,以及機器學習、深度學習、類神經網路等的內容都有,包含卷積及循環神經網路,實際編寫圖像及時序性資料的的判斷。(課程內容可能會隨時更新,請以官網內容為主)
線上課程
現在開設相關的課程為「資料分析能力系列課程:數據思維」(https://tw.alphacamp.co/courses/data-1 ),另外也有開設資料工程非常需要的SQL課程(https://tw.alphacamp.co/courses/sql14days ),雖然這兩門課都沒有運用到Python,但是由資料分析的視角先了解數據,會討論到2-3個資料分析案例,我個人滿推薦若有自學Pyhton基礎的人可以來參加,以便增進資料分析的思考。
https://train.csie.ntu.edu.tw/train/courses.php
是由台大教授對外開設的訓練班,包含暑期班、假日班、平日班、線上授課的方式都有,詳情還是以官網的內容為依據。
課程非常多元,包含Python基礎、Python資料處理、Python程式設計、Python基礎資料科學等
https://its.taiwanjobs.gov.tw/
以課程關鍵字「python」去搜尋,會看到台灣各地所開設的進修班,也是滿方便找學習資源的網站,有些則會依據年齡等條件有補助的資格,可以隨時到官網搜尋相關訊息。
春季班為3月報名,秋季班為9月半名
一個由台大學生自組的讀書會,會已「完成面試專案導向」為方向的方式來進行,
詳情可去看官網中的歷屆專案(https://www.ccclub.io/achievement )
ccClub 讀書會是什麼?
Coding & Co-working Club(ccClub)成立於 2016 年,由一群國立臺灣大學學生及校友組成,成員涵蓋電機資訊學院、理學院、社會科學院、管理學院、生農學院等。我們認為在這人工智慧日益發達的世代,程式設計不再只是特定領域的工具,而是應該成為任何領域的人都能運用的第二專長。
ccClub 團隊的理念是希望能用淺顯易懂、循序漸進的方式,帶領新手一步步跨入程式設計的世界。因此團隊彙集了軟體工程師的實務經驗,同時寬廣各領域新手在學習程式設計時遇到的痛點,針對細節做教學的改善與引導,希望能降低學習門檻,讓所有充滿熱情的新手都能夠迅速且扎實的開啟程式設計之路。
https://college.itri.org.tw/edm/D3/010/10/edm1.html
線上授課,且出席達八成以上會有30%補助,完成課程有工研院頒發的「Python AI人工智慧資料分析師」培訓證書。
課程內容由Python基礎到Python爬蟲,Pandas、Numpy到機器學習和簡易的深度學習課程。
還有其他常見的如巨匠和聯成的課程
課程內容都寫得滿詳細的,也是從Python基礎、爬蟲到機器學習,但詳細的上課時程和進行方式似乎要直接聯絡會更清楚。
課程內容都寫得滿詳細的,也是從Python基礎、爬蟲到機器學習,但詳細的上課時程和進行方式似乎要直接聯絡會更清楚。
課程內容都寫得滿詳細的,也是從Python基礎、爬蟲到機器學習,但詳細的上課時程和進行方式似乎要直接聯絡會更清楚。
轉職過程中會面臨各種挑戰,轉職初期需要應對外在和內在的困境,如家人的不理解和工作上的重複性任務。Dex的解決方法包括參與各種社群活動,如開源項目和讀書會,這不僅增加了他的技能,還擴大了他的人脈網絡。