Re: [請益] 為什麼文組轉職主流是寫code
原文恕刪
其實這個問題還滿有趣的,最近的確是一堆文組首選都是學寫Code
我想最大的根源還是Programmer的需求缺口太大 + 程式入門的門檻降低
/*
這篇有點長,有點講古的感覺,最後會提一下學程式的兩三事,不想看講古的推薦跳最
後一Part看就好。很多是個人的經驗和感受,如有不對的地方也歡迎各位前輩多多指教。*/
// 正文開始
首先來說說Programmer的需求,主要還是隨著時代的演進,幾乎近代的產業大變革都與
程式相關,像是工業4.0 / IoT / AI / ML / 大數據等等... 這幾項帶動了科技業的大幅發展,自然也需要大量的Programmer來進行開發,但問題Programmer的產出科系CS其實是近10多年才熱門起來的,這也導致供給嚴重不足,在美國最缺人力的時期,甚至是只要有一點名氣的學校,CS還沒畢業的就一堆公司在搶。但人力還是不夠,怎麼辦呢? 既然國內填不滿,那就搶國外的吧~ 於是美國就開始狂搶海外的軟工菁英,後來中國發展起來了,自己也是狂搶人。
到後來外商又覺得把人抓到自己國內太麻煩又量少又貴,反正軟體開發的特性就是不用實體,乾脆把研發也設在台灣方便招人,此外對於很多新創來說,台灣的工程師更是配合度高又便宜好用,於是這幾年可以看到外商/新創瘋狂在台灣設點與擴編,但台灣自己產業一樣在經歷變革的浪潮(只是比較晚),自己也有很大的人力缺口,大家也知道依照台灣企業的尿性,薪水上要尬贏外商很難,就算開出差不多的薪水,也因為傳統的加班凹人得過且過的文化導致很難搶贏外商,這就導致人才外流嚴重,但缺口還是要想辦法補,怎麼辦? 於是就只能降低標準來招募,對於一些中小企業來說甚至只能找一些非本科但好歹有點經驗的慢慢去養成,這就是大家目前看到的景象。
再來程式入門門檻的降低是怎麼回事呢?
其實一開始程式語言的入門並沒有那麼簡單,像是早期一開始學C或JAVA,可能變數型態就可以讓一堆初學者像是在看天書一樣,光是一個字串切Token就可以搞爆一堆初學者,更不用說後面的控制邏輯、指標、作業系統特性再到物件導向特性等等...
但程式語言畢竟是人虛擬出來的東西,背後並沒有像是傳統電子學電路學是需要遵守許多定律或物理性質的,加上程式的人力需求大增後,為了讓程式能開發得更為迅速+擴增企業影響力,越來越多的公司投入開發Open Source的Libary、Module,同時也鼓動開發人員加入Open Source的行列,後來就演變成Framework的形式,讓程式開發人員省去大量從基礎做起的時間,同時也幫忙Handle好許多在以前需要很小心的地方(例如Thread的排程、記憶體的Locate或是Http CRUD的底層處理等等),快速就能產出對應的程式。
再加上新式程式語言的興起,像是Python,簡化了大量的複雜語法與Script式的語言特性更是讓程式入門變得更為容易,而這種類型的語言最被為詬病的效能問題也隨著同等價位的硬體效能快速提升後也慢慢變成沒那麼嚴重。
除此之外,程式碼具有非常高的可攜性與延伸性,伴隨著程式人力的擴增,網路上的教學資源豐富程度也隨之急遽提升,學習程式變得看似十分簡單。
簡而言之,程式的門檻降低就真的是因為站在巨人的肩膀上,前人種樹後人乘涼。
// 跳過上面講古的,歡迎從這邊開始看
Q. 所以學程式真的相對簡單又好找工作嗎?
我的答案是Yes,就像上面說的,程式入門已被前人簡化許多,加上大量的人力缺口,
所以學程式後轉職相較其他專業來說沒那麼難,待遇相較起來也不會太差。
Q. 那這樣學程式轉行後會有什麼問題嗎?
問題其實是中長期的職涯問題,雖然程式入門簡單,但要寫得好卻是需要大量的知識與經驗累積,這部分其實比很多專業的提升還難不少,一個經驗豐富的Programmer跟新入門的Programmer差距是誇張的大,舉例來說Programmer新人De一個bug要2周還不見得搞得定,但強者可能一小時就解決... 而在程式開發與品質更是難以估計強者與新人的差距。
再來,程式的技術日新月異,改朝換代的速度快得嚇人,你必須要一直不斷地學習新的東西,適應新的理論甚至是新的語言,這對很多人來說其實很累。
最後則是最麻煩的,程式並非你學了就能勝任任何跟程式有關的行業,更為接近現實的是程式就只是一個工具,猶如畫畫時用的畫筆,你可以用畫筆畫出任何畫,但問題是如果你想畫出能賣的畫,就不是只有拿畫筆起來畫那麼簡單,你需要有很多的知識、理論甚至是靈感才有辦法畫出好看能賣的畫,程式也是一樣的道理,程式可以人人都會寫,但要把
程式應用在各個領域上是需要很多知識觀念與思考邏輯的結合才有辦法做得出好的成品。
一旦你沒辦法在某個領域成長或是跟上技術的腳步,那就意味著未來職涯的成長空間將會十分有限,可以預期的是也許未來有一天相關的人力需求會飽和,這時候會被淘汰的會是誰呢?
Q. 常常聽到寫程式是需要天分的,是真的嗎?
答案是Yes也是No
其實寫程式的思考邏輯和學數學不太一樣,在我看來學數學是講究因果邏輯,也就是從A導到B從而證明C,而程式的思考邏輯更偏向所謂的抽象化思考,像是資料輸入A經過流程B中的格式轉換最終產出C資料結果,這整個過程能在腦袋中構思組合出來這類的抽象化思考能力才是所謂的程式天分。
那麼寫程式到底需不需要天分呢? 一般來說程式入門時,天分只是反映在學習的速度快慢,有天分的人總是學得超快,沒天分的人就注定要花更多時間學習,但最終不論有無天分都還是能學會寫程式,時間長短而已。若是以學程式的角度來看,天分是加分但非必要,所以答案是No,當然學習時的痛苦程度也會有差XD 很多人中途放棄就是學太久太累太煩。
但若是以要把程式寫得更好,更漂亮,邁向我們口中的強者之路,那天分就非常重要,具強悍的抽象化思考能力註定天花板會更高,沒有天分的人在學到某個程度後想要再有大幅度的進步會十分的困難,所以以這角度來看答案是Yes,這同時也會反映在專業職涯發展上,當然職涯發展的因素很多,只是若是以專業為主要發展基礎,那麼有沒有天分影響程度就會很大。
// 學習雜談
最後談談常常有人在討論學習是否倚靠CSDN會快很多,我認為畢竟CSDN大多是中文,對於閱讀和學習來說會簡單很多,但CSDN有很大的問題是太過速成,裡面很多就單純是快速
翻譯原文的片段,或是東湊西湊的縫合怪,甚至是單純搬運工抄別人的加上自己一點無關緊要的註解,很多東西的原理連作者都一知半解而已。
所以如果是要追求快速做出東西,能動就好,多看點CSDN應該可以滿快就弄出來的,但如果真的認真想要學習真正的原理和完整的技術我還是建議英文學好一點,多看一下
Stack Overflow 之類的問答網站和官方的API說明文件與論壇會比較有用。
// 大概是這樣,希望以上能給對於想入門程式或是剛入門程式的人有一點幫助。
--
推
CSDN難道沒人覺得超爛的嗎… 都是三手資訊。而且一堆垃圾
。
不過還是感謝原文分享經驗談,謝謝。
推抽象化能力天份那段,真的影響蠻大的
推分享 ,stack要連次解也看。最佳解有時只是簡化
好懂反而失去學習意義。
對初學者來說越速成的東西越好,人就是要有成就感
才能走下去
我反倒覺得對初學者來說,沒把概念學懂,只求速成的成就感很沒意義
推 都認同
推
認同這篇文章的觀點
推,認同
csdn 根本就一堆機器翻譯的垃圾文章的集合體
推
純噓csdn
CSDN 只有一手文章有看的價值
CSDN 就是一堆垃圾,東抄西抄
看過好幾篇 CSDN 都是同樣的內容
那我還不如直接看原文 浪費時間看抄來的
那個說程式人力缺口的,是不是ICC的conspiracy?
應該不是拉,人力缺口是真的很大,今年就被獵頭找很多次,明顯市場很熱
高手
推,然後早就沒看CSDN了,一半以上都是抄別人的,真
不懂26心態,不是你的也在那邊偷
寫這麼長給個推
推 既客觀又詳細的分析
抽象化思考真的滿有用的 我記憶力很差 但靠抽象化能力補
回來 也算是有點靠天份吧
在重構或設計架構的時候幫助特別大
倚靠的倚打錯了
已修正,感謝提醒
寫程式真的要天份嗎?其他理工科系門檻比寫程式高的多,
也沒聽過他們說要有天份,
我認為是之前讀十幾年書,結果碰到程式這種全新的概念還
是要從頭學,落差太大才會覺得需要天份八
理工科系很多要天分~ 像是物理、數學都是要有天分才比較容易學會的,至少我是聽滿多 理工同學都曾說過有天分和沒天分的差異很大
推分析
推推
推
其他理工科系沒人說要天份?你聽誰說啊
數學幾乎是最常被講要天份才能讀的吧
對岸教學文章可以速成,但最後還是去看 stack overflow
和官網文件 +1
推畫筆這個比喻
CSDN我是覺得還好 抄歸抄 起步時找中文資訊不是在這就是
個人部落格 在習慣StackOverflow和原廠文件前 能下對關鍵
字找到自己能吸收的東西比較重要
是說最近教人也是 99乘法或遞迴寫費布納希都還好
但講到call by value/ref 很容易炸...
如果寫過幾次code 會看記憶體還是對這沒感覺
我就會歸類成天賦問題了...
這純粹是對記憶體運作不瞭解吧... 用實物(例如積木)仿記憶體的環境,讓他當電腦實際 動手操作也許會比較易懂。
推這篇
推抽象化思考,我們主管這個能力超強
我倒是覺得csdn不錯 先快速有個overall的概念 細部原理
再用其他原文資料下去延伸 效率好很多
就像維基百科 有中文頁面我一定也會先看 再去看英文的
軟體很多是舉例大概就懂了
現在物理跟數學對我來說比較是外星語言等級了
推
推 感謝分享
我只能說 有的人是真的不會就是不會..w
不是都找 stack overflow 嗎
推
只用stackflow, CSDN在新人時期就覺得爛爛的
推
寫程式天份並不是很稀有,但就是有人沒有
這跟音樂美術其實很類似,音樂美術基本學科訓練學了後
多少都會一點,但是要靠這行當飯吃,就不是每個人都行
推
CSDN一手的都會收錢 蠻貴的
之前查to毫米波晶片的時候有想買過
ti
3
謝謝大大回的那麼認真,那我也認真的回一下,百萬年薪當然不是指新人價,而是能在三 年內達成的結果,試問有多少文組工作能在第三年薪水漲到破百,你還點出一線系統廠前 兩年拿不到百萬,那不是更顯軟體業的CP值? 下面領域部分又扯太多了,文組能轉職的方向通常就是APP跟Web,你提到的MVC, Lifecyc le大多就是十幾頁文件能理解並應用的東西,SQL query大部分需要用到的難度就是補習22
看到這篇好像又覺得可以回一下,雖然我覺得這篇有點引戰,但還是有些點可以討論一下 大概可以拆成兩點: 1. 補習半年就可以工作後拿年薪百萬? 首先大家好像被PTT誤導到覺得百萬年薪對於新人來說很容易,我想還是務實一點,先來 計算一下怎樣才能拿到百萬年薪5
看了H大有講到抽象化思考 我去找了定義 發現有些文章寫得滿不錯的 運算思維(Computational Thinking)可以分成四個步驟11
這類討論文,都帶一點歧視。 不管是歧視轉行跟你競爭的人, 或是對各種理工或者 CS專業的歧視。 首先,如果你認為,憑甚麼文組學個三個月半年,就可以跟我搶工作。這點該檢討自己,自己走的路線是否需要修正,做了幾年,永遠是一年的經驗,連續用十年。 找工作,永遠只找沒門檻,薪資普通的工作,然後抱怨整個產業沒門檻。4
講這麼多,我們只要承認寫code跟其他工程類工作比起來簡單很多然後CP值又很高就行了 補習半年就可以工作,只要學會Map List ForLoop就可以應付90%的工作然後百萬年薪, 有些人還可以在家工作,這種爽缺誰不要 --1
看到這文就想起最近跟同事聊天 說到這一陣子看到一些產品主打no code 工程師都會想推No code做網站 no code做機器學習 no code部署到k8s 這種猴子這都會用的產品 同事就閒聊說什麼都no code了還要我們這些工程師做啥4
我算是逆向跨到文組的軟體人, 搞到現在都有大學聘書了 這幾年也是有觀察到一些現象, 所以可以簡單分享 軟體工程, 與其說軟體不如說資訊, 又或者就是跟資訊有關的職業 所謂文組本來就是在處理資訊, 所以這兩者之間的關係並沒有這麼遠 資訊有很多面向, 比方說製造的過程, 呈現, 敘事跟傳播的手法5
中文系出來回文 這命題問題就是你把寫程式當作理組啊 資管不就是文組寫程式 所以寫程式根本不算文組轉職吧 如果要看科系2
寫文章是寫給人看 讓人讀 要有起承轉合 注意冗言贅字 知道什麼時後用什麼用詞 這沒有錯 但是寫 Code 也是寫給人看的 不是給機器看的 所以也可以有起承轉合 注意冗言贅字 而編譯器的功能是像是 翻譯 將程式碼翻譯成 10101010 給機器看20
我怎麼覺得這篇是來洗文章數的 ※ 引述《AlainDelon (午後七點零七分)》之銘言: : 現在業界缺瑪農 缺前端 : 所以文組很多去資策會培訓個半年寫code 去面軟工 : 有說法是軟工相較於其他理組最容易讓外行人來跨
爆
[心得] 前端培訓轉職失敗心得會想分享的大部分都是成功的人,所以我想說來分享一下失敗的心得 本魯公立文組畢業,上了某培訓機構的前端班半年的課程。 那時會想上是因為看到朋友也是文組上課之後在軟體業發展的蠻好, 加上自己也沒特別想做的事情,所以上網自修了一點覺得還ok就決定報名了, 在課程中發現寫程式真的很需要天分...當你想了一整天只寫出一兩題,37
Re: [討論] 為什麼文組轉職主流是寫code?缺人 背景知識門檻低 有點邏輯腦就能進來學了 加上網路資料太多 ctrl+c, ctrl+v 沒多久code就動起來了 讓初學者很有成就感 加上一堆機構如資策會在發證書 一年半載就能有點小作品如UI, App 根本信心爆棚 馬上登上達客效應的愚蠢之巔 再說電學比較簡單的我看各位沒看過電磁學吧....11
Re: [請益] 記不住代碼,我的智商有問題嗎???看到這個文章我笑了,原因是: 1, 我的記憶力比你還差,從小就差,長大退化更快,但是我還是活的很好 2, 怎麼會有那麼笨的人,還在用腦袋記東西。 大部分的東西,我從來不用腦袋記,養成作文件的習慣,會輕鬆很多 文件要做得很好索引,下次你要找它,就可以很快找到13
Re: [請益] 程式怎麼選擇與入門?在這個年代, C 語言應該不是最適合初學者第一個學習的程式語言。 對初學者來說,一開始能夠培養語感、學會用程式解決問題的能力才是最重要的。 先試著習慣寫程式,並習慣用程式邏輯言思考與表達,同時看能否嘗試解決一些自己在意的問題, 試著從實作中獲得成就感並了解是否適合這種人格特質。 如果在這個情況下還想進一步徹底瞭解電腦 (機器/Machine) 底層運作的機制的話,C 語言就可以是一個很好的開始。- 是的,數學爛程式不可能好的 寫程式有點點像是在做數學證明題 可是程式雞巴地方就是它說不動就不動 你證明題寫對一些部分還有那麼點點分數 在程式來說你就是零分