工程师在创业团队的技术挑战

系统
的确,就说互联网这个领域吧,创业团队或是小公司的网站规模往往并不大,或者至少要从小做起,用户访问量和那些大型网站在当下自然没法比,从这个角度上看,很多中小网站的确暂时面临不到这些高并发、大流量、高可用的这些"严峻挑战",另外,团队的职能岗位甚至也没有大型公司那么齐全,人家连做配置管理的团队规模甚至都比你整个公司人多,似乎在小团队作技术的出门都低人家一头,见面不好意思打招呼,真的有必要妄自菲薄么?

曾经有不少人对我问过类似的问题:作为技术人员在创业团队(或是小公司)工作,技术上没什么挑战,觉得自己得不到锻炼,我该怎么办?

的确,就说互联网这个领域吧,创业团队或是小公司的网站规模往往并不大,或者至少要从小做起,用户访问量和那些大型网站在当下自然没法比,从这个角度上看,很多中小网站的确暂时面临不到这些高并发、大流量、高可用的这些"严峻挑战",另外,团队的职能岗位甚至也没有大型公司那么齐全,人家连做配置管理的团队规模甚至都比你整个公司人多,似乎在小团队作技术的出门都低人家一头,见面不好意思打招呼,真的有必要妄自菲薄么?

首先要说明的是,在大一点的公司里面,最不缺的就是解决复杂技术上的资源,但是有意思的是,遇到技术"挑战"的其实是极少数的一部分工程师,大多数工程师做的都是相对可以规范起来的事情。或许有人不信,但是你要知道在团队有了一定规模以后,很多技术人就会形成路径依赖,一遇到稍微复杂一点的问题就去请教那些比较资深的同事,往往放弃了自己动手解决问题的机会,有些情况甚至他们也不敢承担风险,那么,你认为这种情况对他们会有多少挑战?

我们前面说到了复杂技术,以前关于网站架构设计、大规模集群、海量数据处理等主题,多少都还有一些神秘感,但是最近几年来,相关技术文章带来的信息越来越全面,越来越开放,不夸张的说,构建一般的大型网站的技术,你可以通过公开技术信息获得所有的细节内容。当然,有了这些,就好比你已经有了一份蓝图,具体的施工还是要自己控制。不要误会,我不是说创业团队的技术人不会遇到技术难题,如果真的遇到目前能力无法逾越的技术障碍怎么办?我的回答是:求助于社区,利用群体智慧。和那些封闭的大公司的技术团队所拥有的资源相比,这是更为辽阔的空间。注意,解决了问题不是***一步,要把解决问题的能力逐渐培养起来。有若金庸小说中的北冥神功,要善于化为己用。

有些人把挑战等同于自己想做的事情,有些人把挑战看做一种憧憬,想象那些没有做过的事情,在我看来,真正的挑战恰恰是你不愿意做、不愿意改变、当前做不好的一些事情。

在创业团队你可以做的一些更有挑战的事情:

  • 重构自己的代码 如果是开发人员,随时要记得的事情是如何改善自己的代码质量。要让自己成为更好的技术人,重构或许是是随手可作的并且切实可以提高自己能力的一件事情。有好的代码为基础,才有可能随时面对更大的系统压力。要记住小网站有可能发展为大网站,技术人需要的是提前做好准备,为你的代码,为你自己,为你的团队。
  • 自动化日常工作 有人说,萝卜快了不洗泥,团队什么事情都要我做,我怎么有时间去搞什么重构?那么,是否可以将一些日常需要重复做的事情尽可能的自动化,比如日常发布是否可以自动化?测试工作是否可以自动化?安全检查是否可以自动化?有了这些为前提,你肯定有足够的时间去做你想要做的事情。
  • 良好的开发习惯 在一个团队中,如果养成良好的开发习惯会让你节省时间和精力。比如对版本工具的掌握程度,如果连 SVN 都缺少使用意识的话,很难想象团队协作开发的时候会搞成什么样的局面。也不要抱怨团队的同事没有好习惯,他们或许正需要你的帮助呢...用你的行动,去带动他们。顺便问一下,你平时为代码写注释么?
  • 改进自己的产品 复杂未必是***的竞争力,细致和精致有的时候是更好的竞争力。很多技术人员做到***发现自己做了很多对用户并不重要的功能和产品,而最重要的产品反而疏于改进。这未必都是别人的错,如果自己能够对产品和业务有足够的了理解的话,你或许会驱动团队少走弯路,做更正确的事情。
  • 提高资源使用率 别人用数台机器支撑的访问量,换了你,能否用更少的硬件支撑?这些方案是可扩展的么?是可验证的么?遗憾的是,我看到多数小团队硬件利用率甚至比一些大团队更低。如果听任低效的代码、冗杂的产品功能不去改变,那么可能的确要面临资源利用率相对较低的窘境。
  • 规划资源的能力 团队小的时候,整个产品架构、整个网站架构的信息收集并不难,让你建立起一个全局的观念相对更为容易一些。注意分析整体架构的演变,根据自己的理解,一步一步预期将来可能出现的问题。这是非常难得的锻炼自己的机会。顺便问一下,你给自己的网站画过架构示意图么?
  • 保持学习的热情 我在前面说到了网络上的技术资源的丰富性,你是否能够持之以恒的去学习、吸收这些技术经验,是否养成了评估某项技术成熟度的能力? 什么,学了用不上?问题是再大的公司在技术上也是要有取舍的,更多的时候都是在用更为合适的技术而不是看起来更"先进"的技术。

这个清单肯定可以列得更长,至少还应该包括沟通技巧的改进、传授技能给他人、塑造技术影响力... 看似都是一些平淡无奇的事情,其实在大的团队大的公司,我觉得有挑战的也都是类似的事情,我也不确定哪一个对你来说更难做到。不过真的能把这些都做好的话,或许蓦然回首,那些所谓的挑战对你来说已经是浮云。

说到底,不能靠环境改变自己,如果你自己要改变自己对你收益是***的(当然挑战也大),而要环境改变你会让你更为痛苦。只要你愿意。而且,在规模较小的团队中,你的改进会直接体现到团队的整体上,不要忘了,你是这个团队的一份子。团队越小,你的影响力就会越大,等到团队壮大起来,不就是你有更大职能的时候么?从经济学的角度上看,团队虽小,但是人均产出未必不如那些大团队的成员。正好比做手表的做到***,不比造飞机的少赚多少。总有一天,很多技术人会以在小团队工作为荣。

挑战不在河对岸,就在你面前。

【编辑推荐】

  1. 设计的力量——“欧特克2011年度卓越工程师评选”正式启动
  2. 51CTO技术沙龙十九期总结:数据库检索引擎的选择与应用
  3. 傲游Maxthon宣布将支持“Do Not Track”技术
责任编辑:Yeva 来源: dbanotes
相关推荐

2015-06-02 11:29:55

软件工程师程序员

2012-10-12 10:24:43

创业创业公司招聘

2015-06-02 04:08:42

软件工程师私活

2018-01-09 17:21:18

软件工程师创业代码

2013-08-01 10:58:53

2015-02-13 19:52:47

测试工程师APPTestin云测

2015-03-17 15:29:03

创业公司后端工程师应用开发

2015-06-16 15:20:33

技术周刊

2013-01-18 17:00:20

设计师创业团队

2018-06-28 16:33:58

团队工程师专家

2018-01-29 09:42:27

创业技术团队

2015-10-21 09:12:17

中国谷歌工程师

2013-04-19 02:06:58

手机游戏手机游戏引擎技术选型

2013-05-02 08:57:04

程序员创业

2018-10-10 16:15:01

团队研发效率

2013-12-23 09:09:29

网络工程师技术愿望2014

2020-04-01 11:01:57

工程师技术裁员

2022-09-19 10:36:37

Nick微软Rust

2011-04-11 23:34:44

FacebookHBase迁移
点赞
收藏

51CTO技术栈公众号