曾经有不少人对我问过类似的问题:作为技术人员在创业团队(或是小公司)工作,技术上没什么挑战,觉得自己得不到锻炼,我该怎么办?
的确,就说互联网这个领域吧,创业团队或是小公司的网站规模往往并不大,或者至少要从小做起,用户访问量和那些大型网站在当下自然没法比。从这个角度上看,很多中小网站的确暂时面临不到这些高并发、大流量、高可用的这些"严峻挑战"。另外,团队的职能岗位甚至也没有大型公司那么齐全,人家连做配置管理的团队规模甚至都比你整个公司人多,似乎在小团队作技术的出门都低人家一头,见面不好意思打招呼,真的有必要妄自菲薄么?
首先要说明的是,在大一点的公司里面,最不缺的就是解决复杂技术上的资源,但是有意思的是,遇到技术"挑战"的其实是极少数的一部分工程师,大多数工程师做的都是相对可以规范起来的事情。或许有人不信,但是你要知道在团队有了一定规模以后,很多技术人就会形成路径依赖,一遇到稍微复杂一点的问题就去请教那些比较资深的同事,往往放弃了自己动手解决问题的机会,有些情况甚至他们也不敢承担风险,那么,你认为这种情况对他们会有多少挑战?
我们前面说到了复杂技术,以前关于网站架构设计、大规模集群、海量数据处理等主题,多少都还有一些神秘感。但是最近几年来,相关技术文章带来的信息越来越全面,越来越开放,不夸张的说,构建一般的大型网站的技术,你可以通过公开技术信息获得所有的细节内容。当然,有了这些,就好比你已经有了一份蓝图,具体的施工还是要自己控制。不要误会,我不是说创业团队的技术人不会遇到技术难题,如果真的遇到目前能力无法逾越的技术障碍怎么办?我的回答是:求助于社区,利用群体智慧。和那些封闭的大公司的技术团队所拥有的资源相比,这是更为辽阔的空间。注意,解决了问题不是最后一步,要把解决问题的能力逐渐培养起来。有若金庸小说中的北冥神功,要善于化为己用。
有些人把挑战等同于自己想做的事情,有些人把挑战看做一种憧憬,想象那些没有做过的事情,在我看来,真正的挑战恰恰是你不愿意做、不愿意改变、当前做不好的一些事情。
在创业团队你可以做的一些更有挑战的事情:
这个清单肯定可以列得更长,至少还应该包括沟通技巧的改进、传授技能给他人、塑造技术影响力... 看似都是一些平淡无奇的事情,其实在大的团队大的公司,我觉得有挑战的也都是类似的事情,我也不确定哪一个对你来说更难做到。不过真的能把这些都做好的话,或许蓦然回首,那些所谓的挑战对你来说已经是浮云。
说到底,不能靠环境改变自己,如果你自己要改变自己,对你收益是最大的(当然挑战也大);而要环境改变你,会让你更为痛苦。只要你愿意。而且,在规模较小的团队中,你的改进会直接体现到团队的整体上,不要忘了,你是这个团队的一份子。团队越小,你的影响力就会越大,等到团队壮大起来,不就是你有更大职能的时候么?从经济学的角度上看,团队虽小,但是人均产出未必不如那些大团队的成员。正好比做手表的做到巅峰,不比造飞机的少赚多少。总有一天,很多技术人会以在小团队工作为荣。
挑战不在河对岸,就在你面前。