不拖不欠,眨眼两个月。
说巧不巧,跟上个月一样,刚好也是我负责的Project due。这次完成得没有那么干脆,难度比较大,跟以前的系统整合,不敢轻举妄动。
公司人事变动很大,我顶头上司回去他从小长大的NYC,现在应该开着车在美国中部的某个州游历。新来的觉得工作不对口,离开了。前台觉得还是以前的政府工作更有发挥,又走了。某上层因为公司方向的更改,给layoff了。每次当我看到大家能move on,我都是很高兴的,因为总有更好的在前面等着。人要失去,才懂得珍惜。
#该不该outsourcing?我发现公司很多大大小小的事务都是outsourcing的。当初招聘我的时候就是recruiter联系的。印名片也是有代办。服务器流量在世界各地有外包的公司处理分流。语音识别找的是世界最顶尖的产品。发宣传电子邮件也是找专门的代理。最让我觉得好玩的是,连碎纸也有代理——没有碎纸机,只有像邮筒一样的碎纸桶,每天有碎纸公司来统一拿去碎。想起当年在I记,每次碎纸机夹纸,不上不下的时候,就得弄得满头大汗。
outsourcing的好处就是专业,但前提是要么不找,找就得找上档次的外包公司,才能保证事半功倍。例如,我找工作的时候,星期四第一个联系我的recruiter,把我的第一场面试定在下星期三,这期间我收了近百封emails,而且经过好几轮其它公司的面试,在星期二晚上,我已经敲定接受了我现在公司的offer,先不管我公司聘了我算不算请人不淑,但那第一个recruiter就一定叫做瞎忙。
outsourcing的不足有二:1。费钱;2。受绑
不过也是相对而言,如果outsource的好,包括挑的好,沟通的好,管的好,省了钱也说不定。受绑如果不是核心,例如碎纸,倒不是大问题,然而核心技术outsource,就要看大家成长速度是否一致,而且就算现在一致,也要在将来争取保持一致。
#公司规模决定了在里面能学到什么。以前的小IT咨询公司(十多二十人),有足够的空间让我去学习最新的技术并且应用,技术提高很快,而且都是动手的,没有虚招。现在的公司(约百号人),产品基本定型,也正在盈利,每次改动,有越雷池的感觉,快速提高的是整体思考能力,和从市场部的角度去判断产品功能的能力,不单是从技术角度考虑。简单说,就是技术上能做的不一定要做,有市场推广价值的,技术上有困难也得克服,每一场小的攻坚战都是直接抛离对手的一步。(最近我常警告自己,从书上看到的最新技术,都没有动手的机会了,慢慢的会变成眼高手低。不能让公司规模限制个人的学习发展模式。慎防!)
#一点题外话:之前一年兼任的网管,对于我作为一个developer,无比宝贵。现在programming,不可能不涉及网络,一旦牵涉,关于各种server的理解,并非一日之功。我在这方面的自信,远远超过跟我同等年薪的绝大部分developer,不是说我underpaid,这只是我的style,十分力用三分,慢慢活,活在comfort zone之内。
,
我的公司也一样,很多事务都outsourcing, 包括你所讲的碎纸,其实道理是最简单最原始的,我地应该永远让做得最efficient的那个party做那样东西,而且专做那样东西。如果我地要自己碎纸,我估我可能一日超过5个钟坐响度碎,甘仲边有时间将人地的钱转来转去玩得甘过瘾:)
软件开发如果是核心技术就不应该 out-source ,跑到亚洲去必须要在哪里成立一个新的公司,派专人过去管理。但这里面的交流,大家的不同认识程度,语言,是不会有好的效果的。除非成立独立的研究所等等,我认为是合适的。
如果是技术上的合作,我觉得就要看重要性了。如果比较重要,不想制肘于他人,而且自己可以承担开发,应该自己开发,时间长了会有收效的。但如果是一些比较成熟,通用的技术,例如 log4net,Hibernate,Spring Framework,而且是开放式代码的,就更应该大胆采用。