※ 引述《jodawa (jodaway)》之銘言:
: 各位大大好,
: 小弟今年31y,政大哲學兼碩士畢,TOEIC 955,
學長您好,小弟是資管系畢業
因工作的關係,有機會接觸到大量 CS, MIS 背景或及該產業的前輩
吸收了一些經驗,也看到了一些狀況與您分享
: 現在萌生去學電腦相關技能的想法,
: 有想學統計軟體,或者學程式語言。
: 也想是該去機構(如資策會)直接學,還是去念個資工/資科碩士。
在選擇學什麼、怎麼學、在哪裡學之前,可以先想想為什麼學,要做什麼用
以業界來看,廣義的工程師的工作/職稱分很多種,諸如:
iOS, Android, Front-end, back-end, DevOps, QA, DBA, Data, Networking...
當然,職稱只是參考,重點是做什麼。我把實際的工作內容,簡單的分為三種:
1. 產品開發 / Product
什麼叫做產品?
我自己的定義為「使用者會碰到的工具、畫面」都算產品,APP, browser extension, Web 都是這個範疇
這類的職務,是一般大眾認知的「工程師」,當然,也是比較多人轉職切入的一塊。
以初學者來說,重點會放在熟悉語言或框架的用法,以及相關開發工具、IDE、API 等。
要學這類的技術,可以在 CodeSchool, TreeHouse, tut+ 等線上平台看到
優點是便宜,且隨時隨地可以學習;缺點是遇到困難時,沒人可以協助排除
當然,也可以在 III 或坊間的補教單位找到,優缺點與前者相反
2. 輔助開發 / Support
「開發」本身就不容易了,更難的是要兼具效率及效能
如何有效測試,確保功能正常、情境符合需求?如何確保開發環境、上線環境一致?
如何確保資料庫的完整性及執行效率?如何讓流量瞬間進來的時候,機器乖乖的?
這些工作,我定義為輔助開發。這類的職務,非相關軟工背景的人,不太有機會接觸到。
市場的總需求較小,但相對競爭也比較少,不過比較難切入,學習資源也比較少。主要的任務,在於解決大量重複性的問題。
各大公司都有在招收 QA/Test 新人,若願意打掉重練的話,可以考慮
當然,III 等單位,也定期有開班,可以參考
3. 核心技術 / Core Tech
核心技術,也就是非開發語言、工具上的 know-how(好籠統啊!)
像是影音串流、ML/DL、AR/VR、資安、HCI,或我們常聽到的演算法等等
終端使用者碰不到,但其實是根本的競爭力。而 SV 花大把鈔票在找的人,就是這群人。
這也是 CS 的價值所在,很多人以為,念 CS == 學寫程式。
其實,大部分資訊系所的同學,coding 都是自學,真正難的都是抽象的觀念與架構
如版友所說:課程有 OS、資料結構、演算法等等。
沒感覺?去 leetcode( https://leetcode.com/ ) 找兩題做一下就會有了
若是對特定領域有興趣,才建議去進修 CS 碩士班
: 就是不知道現在這時機點踏進去學CS相關不知道適不適合,
不會不合適,重點是想學什麼?要做什麼?
至於年紀,我覺得還好,30 幾歲才轉職的前輩我看過很多,能力不亞於大學本科(前提是在原本的領域也做得不錯)
: 市場是否太飽和,學不學得來之類的考慮。
就我五年來小小樣本的觀察:
1. 產品
需求不斷放大,但因為較好切入,加上很多 framework 及工具的出現,降低了學習門檻,所以也湧入了大量 Jr. 及碼農(我就是其中一員)
2. 輔助
需求沒有明顯的增加,且隨著許多 PaaS, SaaS 及自動化工具的出現,前景我覺得抖抖的
3. 核心
缺,一直以來都缺,但也是最難切入的。
能勝任的人,大多是 CS 本科且觀念良好,或是在業界打滾很久,專精特定領域。
當然,你可能會以薪資為首要考量,那可以參考下列網站:
1. indeed: https://goo.gl/IRrUuK
2. Payscale: https://goo.gl/HVci9b
3. glassdoor: https://goo.gl/fjcCx3
: 因為,現在的學經歷,找文科相關職業,已經碰壁到鼻子都扁了..。
: 以上,向各位大大請益,感恩!
「不要跟他拼拳,試著切他中路」
坦白說,CS 真的不容易,以前有去修過資科的課,兩週後就退選了QQ
學長有產業的經驗,走產品端會相對有優勢,因為你了解該產業的需求,做出來的產品,才能有效的解決「問題」
能解決問題,才能創造價值
而就功利的角度來看,能創造價值的人,才能在就業市場保有一席之地
以上淺見,與學長分享,也歡迎大家補充