来分享个学的广的经验,不过会有一大段的铺陈就是了
先说说我的背景已经工作十几年了,但是程式设计是到大学才开始学
大一开始学C,那时候递回对我来说根本是天文:(
懵懵懂懂的还是把大学给唸完了,回到台北找了第一份工作用VC写MFC
然后被介绍到第二个工作还是用VC写MFC,但是额外学到的东西就有趣了
“如何hack软件/侧录硬件protocol/监视OS在做啥动作“(windows)
当然这些东西并不是有教科书教的,
而是工作上"需要"所以前辈把经验传承下来
毕竟那时的工作是在做“模拟”原厂软硬件的克隆软硬件
而且这份工作的后期因为厌倦了当人体build machine学了python和php
自干了一个build window application的类jekins系统(约2004年)
第三份工作就跑到了未分家前的以卵击石,写产线的Auto Testing System(ATS)
在A5U5时发生过一次很好笑的事,因为各BU分红是看各BU的业绩,
所以别的BU不一定会把他们的code给你,所以我得去hack同是A5U5家的软件 XD
分家后因为工作需要,学了linux embedded system,QT
然后因为客户进入Mac,obj-C,iPhone的世界了
离开系统厂后进入一家做电子书的Start up公司,专职作iOS app
当时能完整呈现epub电子书的是Stanza,本者软件能做就能黑的精神
把Stanza的做法黑出来后,我自己在用html5+jQuery+CSS 做出类似的功能
(我那时每天开者browser的developer mode都快变web前端了)
应该是台湾第一个把epub reader做出来的iOS app
接下来的公司也是纯软,不过没啥好谈的就跳过它
终于要进入发挥我大成的公司了(误
这家A公司是家专门做"代理"的手机游戏公司,当时他们接了一个日本大咖游戏
但是日本端的要求是只放source code给台湾,架设/管理/营运都要台湾自己做
所以只好成立RD部门,我是部门第二个员工,但是是第一个真的有写code的
面试时的工作范围是负责iOS端的开发,那时我还开始学了unity的c sharp
不过代志当然不是那么简单
在部门成立前,A公司就找了家外包公司负责架设服务器
总之在发生一连串狗屁事件 ex:只有外包公司的人才有服务器的admin密码
A公司总算把服务器通通收回来了,然后就开启了神奇天赋(误
原本日本人是用团队去做server/client的开发,
但是刚开始部门能coding/debug的只有我一个
所以就变成最多时我要看四个以上的语言,php,java,RoR,C sharp,python
必要时还要看看Android和iOS 的native code
偶尔充当DevOP架设Tomcat/Apache/Nginx,管理32*2组的服务器
固定每周当一下DB admin备份整个Oracle的DB
吃烧饼哪有不掉芝麻的,
我曾经在php里用了java的string api然后花了半天才抓出这个问题
还不小心drop掉整个db,害PM只好在花一天的时间把CB资料补回来(无备份)
更不用说对不熟的工作总是要花时间研究和找解法
好在后来陆陆续续有了可靠的同事之后,就把部分的工作分派出去
看到这,相信大部分的人都会觉得这是啥惯老板给的屎缺啊
但是我得说,除了那些coding上的东西,我可是得到了些相当有趣的经验
毕竟在这份工作前,我一直都在client端的工作,没有在server side过
所以这些经历对我来说都超新鲜有趣且印象深刻
ex:第一次体验到Tomcat有多傲娇
RoR对新手有多不友善:(
不过最后我还是离开这份工作了,原因是我看不到A公司的未来
后来的工作又回到iOS就不多说了
回到原原PO的问题"[讨论] 学的广真的没好下场?"
网友们提到的Startup和惯老板情况,我都经历过也可以告诉你他们的意见是对的
我想说的是对我自己来说,学的广的好处是我可以用不同的解法去看/解决问题
ex: 用html5+css+jQuery去做出epub reader,而不是用obj-c
如何去黑硬/软件/web front-side (这最近又在用了;p)
Server side出问题不认帐/不会解的时候,怎么提证明/解法给他
以职涯规划来说,有个专精项目当然是好的。至少可以让你不愁吃饭
但是你额外学的东西可以成为你的助力,让你对事情/问题有不同的看法和弹性
而且同 qrtt1网友说的“广跟专精并不冲突”
就像达文西不也学超广的,可是他还是留下了很深刻的影响