我覺得你的例子沒錯
學過一種 ORM 要跳另一種 ORM 相對容易
類似的,學過一種 OOP 語言,要跳另一種也是相對容易
但回到原命題,這些都是資工系畢業「應該」要會的嗎?我覺得 No
應該思考的是,你想去怎樣的公司
草創的新創,沒什麼錢沒什麼時間,當然會希望招到的是即戰力
這時你的技能樹就最好是完全 match 他們的 tech stack
例如可能要求有兩年 C# 開發經驗、會使用 Entity Framework
甚至 Git、Docker、Kubernetes 都要有一定程度
而稍有規模的公司,這時要求可能變成有任一 OOP 語言的經驗、用過或熟悉任一 ORM 框
架
對學習能力好的人,要 pick up 新技術其實是容易的
再大一點的公司,可能就只在意你的基礎能力、學習能力了
你可能有點難想像,他們會認為招新人進來前半年都在 training 無實際產出是值得的
在這種公司,build infrastructure、dev/production environment 都有專職的 team
幫你串得好好的
進去之後再學怎麼用就好,這時那些工具便不是 MUST
當然如果你會的話,就是你比起其他競爭者的優勢了
所以到頭來,基本的 Algo、DS 觀念才是共同「應該」要會的
語言擁有一個夠熟的即可,另外不管什麼產業掌握一種 script language 也是有幫助的
至於其他工具什麼的,有興趣的話能自學個幾種,基本上就是提升自己的競爭力這樣
忘了說,會 Google 的能力在這年頭倒是真的「應該」要會的
最後,每次這種問題總會有人推文推一串
像是 C#、Python、Git、Docker
我真的覺得不要亂害人,先搞清楚自己想走的方向、想去的公司才是真...
※ 引述《ripple0129 (perry tsai)》之銘言:
: 其實基礎學好
: 不代表學抽象化後的框架與Tool會有所加速
: 譬如說ORM好了
: 學過一款ORM轉換別款ORM可以加速
: detach persist transient 觀念都一樣
: 但是有沒有學過基礎來學框架
: 個人覺得速度提升倒不會很明顯
: 不過問題發生在底層時
: 有基礎的人比較有能力debug
: 但是當要寫一套工具來給人使用
: 沒有基礎是寫不出什麼東西的
: 工作中多數要使用的是抽象化後的框架
: 要提升快速上手的速度
: 我覺得單純基礎是不夠的
: 而是多使用各種框架
: 了解框架設計理念
: 轉換起來就會很快了
: 一個沒在研究Algo DS但是用過web framework
: 一個專注於研究Algo DS但是沒用過web framework
: 當兩個人面對一個新的web framework
: 一定是用過web framework 的上手快速
: ※ 引述《LinuxKernel (Linus Torvalds)》之銘言:
: : 資工系出來的主要出路大概是
: : 純軟、系統廠、豬屎屋三大類
: : 其實不分產業都有類似的趨勢
: : 愈小的公司愈在乎這些工具框架的經驗
: : 愈大的公司哪怕你是一張白紙
: : 他們認為你只要有好的基礎、好的學習能力
: : 工具都是用到再學就好
: : 谷哥?啥都不問直接跟你考演算法、資料結構
: : 他們認為你夠聰明沒有什麼學不會
: : 豬屎屋?誰管你什麼 git,你進來搞不好是要用 SVN、Perforce
: : 這種公司雖然比較 low 一點,喜歡用成績評斷一個人
: : 但確實這就是個命中率不算低的篩選法(不可否認還是有那種只會考試的)
: : 工作一段時間後你就會發現
: : 什麼 tool 什麼 framework 的
: : 給你三五天的時間全力學習都能掌握個六七成有
: : 但一些基礎科目,有些可能需要的是演算法、資料結構
: : 有些可能需要的是作業系統、計算機組織
: : 這些東西真的要到通、對工作有幫助
: : 真的就不是幾天幾週可以達到的
: : 當然,我還是贊成資工系學生可以在課餘多方嘗試
: : 只是這些東西真的重要性、門檻相對沒這麼高