作者oneheat (等待)
看板Soft_Job
標題Re: [請益] 覺得自己能力不足,我真的適合寫程式嗎?
時間Thu May 30 14:20:04 2013
※ 引述《AzureCoder (AzureCoder)》之銘言:
: ※ 引述《brianhsu (墳墓)》之銘言:
我說句不中聽的
這樣並沒有很強,一堆人以為會coding就叫會寫程式
老實講這兩者間差很多
domain knowledge才是念資工的人level的差別
你不懂codec你要怎麼做encode, decode?
你不懂圖學你要怎麼做3D...
你不懂tcp protocol,你又要怎麼實做socket
不是要打擊原po,只是看到一堆推文讓人對台灣資訊體系的未來感到擔憂
一堆人似乎把coding=念資工了
現在太多資源了,導致一堆人都以為會call API能夠把程式兜出來就叫強者
其實根本就是天差地遠的東西
coding就只是會一種語言而已,
framework和架構有其的重要性,但是都不是最重要的東西
不要在學生時代就叫別人去學這些害人好嗎
學生時代還是回歸到最基本的東西,英文和數學以及自己有興趣的topic上面
不要覺得這些沒用,這些才是真正將來能幫你賺大錢走出和別人不同的差異所在
千萬別在一堆網路的虎爛仔騙了,以為自己會coding很厲害
其實正好相反,一點都不強,那只是coding machine而已,遲早會被真的machine取代
不寫程式卻能在軟體公司活的好領的多得,才是真正的強者
共勉之
喔,對了,別聽人唬爛在學生時代去學一堆語言,那些都是花招沒啥用
把最基本的OO挑一個好好學好,比你學一堆花招有用多了
這行最忌諱的是學得多卻不精,寫出來的程式到處是地雷,處處是大便,延伸性極差
不如不要寫
: : 忍不住要跳出來說……你 18 歲這樣已經很厲害了好嗎?
: : 多的是一堆資管/資工畢業出來結果不會寫程式的。XDDD
: : 這很正常,畢竟現在的程式語言和框架愈包愈上層,把比較底部的東西
: : 都幫你解決了,所以寫程式的特點就是常常你不懂底層硬體/演算法/
: : 資料結構的東西,一樣可以兜出一個看起來能夠跑的東西,只是可能會
: : 有隱藏的問題,例如效能低落,程式架構紋亂難以維護,選錯了該用的
: : 資料結構等等。
: : 如果你真的有興趣的話,大學去唸個相關科系,自然就會學到這些東西,
: : 就算老師教的不夠好,至少也可以知道要往哪些方向可以補足你想要學的
: : 東西。
: : 我自己覺得大學最珍貴的地方是都有人幫你把專業相關的科目的體系整理
: : 的好好的,真的不學白不學。
: : 像我也是一直到大學學了作業系統後,才真的比較摸得清程式語言這層的
: : Memory management 到底是啥東西,在做什麼事情。
: : 出來工作的話,你會發現有大多數的時間一樣是在 Google 啦。XD
: : 看官方文件是必需的,Google 不是錯,Copy Paste 雖然我自己不鼓勵,但有
: : 的時候 Copy & Paste sample code 後再來修修改改是很正常的事,重點是自
: : 己到底知不知道那段 code 到底是在幹嘛的。
: : 看到這邊,我覺得你的問題比較像不知道怎麼樣「從無到有
: : 不靠 Google 做專案」耶?
: : 那這邊推薦 SO 的姐妹站:http://programmers.stackexchange.com/
: : 裡面討論過很多如何從無到有做專案的問題,不過最後的結論大概都是告
: : 訴你別想太多,用 Google 做專案是正常的 XD
: : 至於如果你想寫遊戲卻不知如何開始的話,請參加下面的免費網路課程:
: : https://class.coursera.org/interactivepython-002/class/index
: : 教你怎麼樣從頭開始寫 Pong / 翻牌記憶力 / Asteroid,基本上從 Pong
: : 這個作業開始他就沒給你什麼有用的 sample code,所以除非你去 Google
: : 別人的解答,不然就是從無到有寫遊戲了。
: : 至於在 GitHub 上發表公開 API 那種,我覺得你多慮了,反正就把你寫的
: : 東西丟上去就好了啊,不然就是找個你有興趣的東西,開一個 repo 開始寫
: : 然後把東西丟上去就對了。
: : 又沒人規定不能把爛東西丟上 GitHub 對吧?我自己的 GitHub 上就一堆爛
: : 東西和練習用的 repo。:p
: : 你真的很獻慕人家有可以給別人用的函式庫的話,我教你一個簡單的偷步
: : 做法:
: : 1. 找一個你有在用的,而且有 API 的網路服務(Plurk / Flicker / Facebook...)
: : 2. 找一個你自己喜歡或想新學的程式語言(Obj-c / Java / Python / Scala...)
: : 3. 開始做一個把網路服務的 API 包給你選的程式語言的 library
: : 這樣很快你就有可以給別人用的函式庫了,而且還可以學怎麼樣設計函式庫
: : 架構,才可以讓你的函式庫的使用者會比較容易使用,一舉兩得。
: : 別人已經有寫了?管他的,以超越對方為目標寫一個新的,更容易使用的函
: : 式庫出來,反正重新造一個輪子又沒犯法!
: : 我要再次強調,Google 是正常的,看官方文件寫 code 是必需的。
: : 你不給我查 JavaDoc,難到叫我要把那些偶爾才會用到的 Java 的類別都背下來嗎?
: : 如果是這樣,我會先跟你翻臉。寫程式是為了解決問題,不是為了背書啊。XDDD
: : 另外,自己適不適合當 Programmer 我覺得你只要問自己:
: : 我寫程式的時候快樂嗎?會像中毒一樣不可自拔嗎?
: : 我寫程式的時候是不是覺得時間一下就過去了,
: : 而且完全沒注意到天已經黑了或亮了?
: : 如果以上都為真,那就沒什麼好說了,如果一件事能讓你這麼投入,讓你覺得這麼有
: : 趣,你還管他自己到底適不適合幹嘛?繼續玩下去就對了啊。:p
: 先推一句
: 有興趣就是最強的能力
: 還有就是,不要停止前進
: 很多人在你這個階段停止前進,下半生就只做一個script boy
: 我不是什麼老前輩,只比原po大1,所以可能沒什麼資格說什麼,我和原po的階段差不多,也接過1,2個外包
: 我覺得可以住2個方向前進
: 1.底層前進
: 看看automation theory,algorithm analysis,白皮書等,學c++,c
: 2.理解高層的deaign
: 去學java,把head first ooad和design pattern看了,再回去看gang of four,玩一玩spring,hibernate(strut個人看沒什麼前途)
: 英語,最少也要有6.5雅思的程度
: 不能停止自學,理想是1年1 language and framework
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.242.38.175
※ 編輯: oneheat 來自: 210.242.38.175 (05/30 14:22)
※ 編輯: oneheat 來自: 210.242.38.175 (05/30 14:24)
推 eric111043:我同意你的論點 05/30 14:27
推 MontaEllis8:同意你domain knowledge才是讀資訊該有的能力 05/30 14:31
推 brianhsu:所以才叫他好好去唸大學補基本工啊!XD 05/30 14:32
推 kaibaseto:資工將C好好學好就夠了 05/30 14:38
推 abola921:程式語言一直換pay不會一直往上,要專精才有突破點 05/30 16:20
→ abola921:不過我真是覺得現在不少學校,害了不少學程式的學子.. 05/30 16:21
→ abola921:每一間都教android,出來每個人都說想寫(會寫)game 05/30 16:21
→ abola921:幾番面試後,發覺90%人只是會deploy android to device 05/30 16:23
→ abola921:程式題都從SCJP中挑最簡單的基礎單元, 沒人答對過半 05/30 16:24
→ abola921:真的不知道現在大學資訊系科的,他們教學重心與目標在那 05/30 16:28
推 Gaitz:這篇中懇 05/30 16:35
推 hanbz:只能中肯大推,不過domain knowledge到底應該算什麼@@? 05/30 16:48
→ hanbz:之前看有人提到的domain knowledge是說產業的知識 05/30 16:48
→ hanbz:像是財會流程,某間公司的行政流程,倉儲相關知識...等等 05/30 16:49
→ hanbz:其實不是很能體會懂這些流程方面的東西能加分的意義 05/30 16:50
→ hanbz:除非"只"做某方面的系統,但是流程也是看客戶開不是= =? 05/30 16:50
→ hanbz:也不會讓你用"你的"經驗來做系統啊 囧 05/30 16:51
→ oneheat:domain knowledge很廣,簡單說就是教你怎麼"寫程式" 05/30 16:54
→ oneheat:像是h264 codec, h265 codec,臉部辨識等等的 05/30 16:54
→ oneheat:假設你做多媒體,這些東西不會,那就注定只能作基本的coding 05/30 16:55
→ oneheat:不過更多時候最基本的英文數學和演算法更是重要 05/30 16:56
→ oneheat:雖然很多library會支援,但是懂不懂往往注定一個RD的好壞 05/30 16:56
→ realmeat:所以每次有人問說程式設計學啥語文最好, 立馬回: 英文 05/30 17:19
→ realmeat:程式就是一堆堆的邏輯兜起來的, 但邏輯 == 數學? 05/30 17:21
→ realmeat:演算法有些確實都是數學的東西, protocol 則是按表操課 05/30 17:22
→ realmeat:總結還是英文最重要 XD 05/30 17:22
→ realmeat:因為一堆東西都是需要靠大量的文件, 而且大多沒中文 05/30 17:23
→ hilorrk:會說很強,是因為原 PO 才 18 歲。除了高中就有自己碰或參 05/30 18:14
→ hilorrk:加比賽的外,光是熟悉基本程式概念就比很多人有利了 05/30 18:17
→ hilorrk:不過的確,除非專門研究程式寫法(軟工、design pattern) 05/30 18:18
→ hilorrk:否則「寫什麼程式」比「會寫程式」重要多了 05/30 18:19
→ hilorrk:話說看看不同語言有時也會學到一些有趣/漂亮的 pattern 05/30 18:22
→ hilorrk:像是 C++11、scala、haskell 之類的 05/30 18:23
→ andymai:大哥~他才18歲耶~說強是強在他贏了一堆同年紀的人~另外~架 05/30 18:29
→ andymai:構在大一學也還好~反正這東西需要經驗累積~先看過有個概念 05/30 18:31
→ andymai:也還OK吧?本來他們這年紀就是該把基礎打好~不要說有沒有興 05/30 18:33
→ andymai:趣~一堆人連自己將來要幹嘛都還不清楚... 05/30 18:33
→ Ting1024:這篇似是而非,基礎實做能力還是根本。 05/30 20:36
→ Ting1024:理論在資工領域略懂即可。輪不到資工的來弄。 05/30 20:36
→ bndan:認同一半...背景知識在學生時間是最重要.但不代表實作能力沒 05/30 20:47
→ bndan:意義.而且軟體公司那段...我只能說走到那步大概也爛差不多了 05/30 20:48
→ cha122977:某種語言學到一個地步後 學其他語言 會有新想法@@ 05/30 20:51
→ cha122977:學語言可以學其他語言的思維 不是壞事 但最好有專精的 05/30 20:52
→ oneheat:實做能力是建立在有強大基礎上 05/30 22:04
→ oneheat:另外,不是自己沒遇過就說沒有好嗎?世界很大,多看看吧 05/30 22:05
→ oneheat:事實就是基礎強才有能力談實做,而不是反過來 05/30 22:06
→ oneheat:學生真的好好把書念好把基礎學好,實做面將來多的是機會 05/30 22:15
→ oneheat:而且一直強調,重點是英文和數學,其他都是其次 05/30 22:25
→ oneheat:現在就是網路上太多無用的資訊,反而造成一堆混亂和誤解 05/30 22:26
→ realmeat:強大基礎? 東西多到根本看不完? 要多強大? 05/30 22:30
推 chchwy:不同意 這篇太偏頗了 coding雖不是最重要的事 但也很重要 05/30 23:02
推 Wush978:推這篇 05/30 23:24
→ nhtyjm:完全不認同 coding call API是基本功被你講的一文不值 05/31 00:06
推 snaketsai:Soft Engineering跟Computer Science本來就該分開 05/31 01:01
→ snaketsai:遇到教某領域的老師,開學第一堂說他不做該領域五年 05/31 01:02
→ snaketsai:台灣的資工系根本掛羊頭賣狗肉,中文叫資訊「工程」 05/31 01:03
→ snaketsai:結果英文叫Computer Science,教授換個數學model就能 05/31 01:04
→ snaketsai:再發一篇論文,這樣叫做有domain knowhow大概也滿悲哀的 05/31 01:05
→ ssccg:太偏了吧,實作將來多的是機會? 不一定吧 05/31 03:49
推 Bencrie:我們家是叫 CSE,Computer Science and Engineering 05/31 09:01
→ Bencrie:Computer Science 應該是叫 ... 資科吧 XD 05/31 09:01
→ yoco315:「coding」本身就是一門 domain knowledge ... 05/31 10:33
→ TonyQ:其實不是大家都把 coding 當資工了,是一堆不懂 coding 的人 05/31 14:03
→ TonyQ:從資工畢業了。 05/31 14:03
→ TonyQ:現在也不是他們不念英文或數學跑去練程式,現在是一群學生 05/31 14:05
→ TonyQ:啥都沒什麼認真念啥都沒什麼認真學到的就從學校離開了。:Q 05/31 14:05
推 asleisureto:其實我覺得對寫程式有股狂熱就是最難能可貴的天分 05/31 14:49
→ asleisureto:資工畢業生那麼多 有幾人真對寫程式有興趣的? 05/31 14:49
→ PSptt:我大學研所畢業也不太會coding也覺得學校教的東西沒用.. 05/31 21:46
→ PSptt:工作幾年過後我才發現一些看起來沒用的課其實還滿不錯的 05/31 21:47
→ PSptt:大學教育應該是教基礎理論與邏輯思考的地方 拿來練工具有點 05/31 21:48
→ PSptt:浪費.. 出社會有一堆時間可以練工具.. 05/31 21:49
→ PSptt:以前看到理論的書就有點煩 出社會看一堆工具書才發現理論書 05/31 21:52
→ PSptt:真的是比較有深度.. 05/31 21:53
→ PSptt:台灣的coding工作大多都很雞肋.. 做久了真的想回去好好念書 05/31 21:56
→ PSptt:老師我對不起你 以前應該好好認真念的XD 05/31 21:57
推 solamb:推~想回去好好念書的人+1 06/02 06:05