我觉得你的例子没错
学过一种 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 的
: : 给你三五天的时间全力学习都能掌握个六七成有
: : 但一些基础科目,有些可能需要的是算法、资料结构
: : 有些可能需要的是作业系统、计算机组织
: : 这些东西真的要到通、对工作有帮助
: : 真的就不是几天几周可以达到的
: : 当然,我还是赞成资工系学生可以在课余多方尝试
: : 只是这些东西真的重要性、门槛相对没这么高