“我想转职做软件业,是不是该{条件A}跟{条件B}...?”
一直觉得这种提问有个很基本的误会。
所谓“软件业”不是单一个业界,而是一堆用上同样技能的不同业界。
不会有哪个放眼全台软件业皆通用的标准或必要条件。
好比说 Excel,他是个非常强大的万能工具
- 你可以用它画座位表跟参加者名册
- 你可以用它记帐甚至做财报(如果公司够小)
- 你可以用它连接 SQL Server 拉资料做产品生产报表跟生产计画
- 你可以用它做问题单管理系统,还附精美统计图表(日本人真的厉害)
但如果有人问说“要怎么学 Excel 才能符合业界需要”
相信做上面四个工作的人给出的答案都会不一样
所以回到你问的外部单位职前训练(资策会、劳工局、巨匠...)
- 有的公司爱死这种职前训练,只要面试你能说人话就会录取你
- 有的公司喜欢看到你做过什么小东西(有些职前训练会带着你做)
- 有的公司只要你穿你爸的员工外套去就会录取,不在意你的职前训练
- 有的公司会在面试的时候用技术问题把你电到天上,不在意你的职前训练
(以参加过的面试来说,appworks 出来的人在第二点做得相当不错)
职前训练对不同公司的加分效果不同
而且上面几间公司的员工到其他几间不一定能有(也不一定不会有)好的表现
业界很大,征人条件不包含“会写程式”的软件公司也是存在的,薪水也不差
面试是一种自我行销,不同的行销方式或包装能吸引到不同的客人
职训单位会吸引到...喜欢职训单位的客人
如果课程有含媒合,那就是先把客人过滤一轮
职训不是唯一的行销手段,也不知道是不是最适合你的行销手段
而且行销跟实际工作也会不太一样
====================
附带一提,以泛用性技能来说,我认为最重要的技能是:
- 什么都多懂一点的杂学力
- 快速用搜寻引擎找到文件并且能认真阅读快速消化
这里讲的杂学力,有点像是这种感觉:
“会写点 css 跟 js,隐约知道尽量不要让网页需要 reflow;大概知道
mysql db 的 index 实际上是 b-tree;大概可以想像 HTTP header
里面有哪些东西;大概知道 huffman encoding 在干嘛,甚至知道这
年头一堆压缩算法都会用到它;随手就能列出一堆杂凑算法跟加密
算法也知道什么是 hash collision;对 jpeg 压缩原理有点概念;
知道什么是 ddos / injection / bufferoverflow;能说出浏览器网址列
按下 enter 后到看到页面中间发生多少事情;知道快速统计数量有
Hyperloglog 可以用;知道怎么帮接口挑颜色.....更多...更多...”
这些都是零碎的单点知识,每个知识单独看都...不能干嘛
但这种杂七杂八知识多到一定程度的时候,对于面对的各种问题都有能力
快速发现解决问题的方向
这种知识储备很难量化,但什么都知道一点的人解决问题的速度通常比较快
所谓的本科系最大的强处,除了上课内容本身就是一堆很深入的杂学以外
更重要的是泡在那个环境下,就算只是跟同学聊天也会听到各类乱七八糟知识
让孩子自然而然变成杂学大师
(这也是念名校最大的好处:在那个环境下自然而然会吃到一堆聪明人的口水)
但有这个环境是一回事,多的是在环境中什么都没吸收到的人。也有更多在非本科系
环境下成长茁壮的不像话的人(认识最强悍的 iOS 工程师是新闻系出身,而且或许
是本科系训练的关系文件写的超级好)
于是就会看到有人坚定地认为本科系很有用,有人认为不需要本科系
两种说法都正确,面向不同
善用搜寻引擎(包含快速过滤无用资讯)也非常重要,有点像是杂学不放在脑袋里
而是放在外部储存装置上,很大幅度影响工作产出能力
这里就不多着墨了