技术成本

对于技术债务这个词我们应该不陌生了,但是技术成本这个词听到的应该不多,那我就从我的角度来说说对这个词语的理解。

1. 从golang与单元测试看应不应该用新技术

之前在知乎上看到有一个问题是:为什么golang在中国这么火? golang有多火我不知道,不过我是用过golang的。我曾经在一个SaaS公司做过两个月的程序员,技术栈采用的就是golang。因为很多golang的库都用的google的,而我习惯了每次都重新下载库来编译,导致速度特别的慢。后来我问了做Java的大学同学,他说你们没有建一个镜像库么?我才知道还有镜像库这个操作,可是公司为什么没有搞镜像库呢?这个原因我没有问领导,不过我问了公司服务程序的主备是怎么做的,回答是“没有主备”。相对于Java来说,golang算是一个新的技术了,但是从我片面的经历可以看出,新技术的坑确实也不少。而新技术的这些 ,对于公司来说,就是技术成本。

我在很多家小公司工作过,这个公司是我见到的唯一一家要求写单元测试的公司。单元测试是提高代码质量的一个好用的工具,但是就需要花费一定的成本来写测试的代码。在业务逻辑不稳定的时候,这样的成本还是比较高的。编译clang的时候,知道代码本身带了测试,是因为编译器需要非常的可靠和稳定。但是互联网公司做单元测试的,我只见到这样的一家,如果有其他的同学在工作中领导要求写单元测试,希望您在下方留言,这样的公司值得很多人学习。

2. 技术人员的角度看新技术

新技术对于程序员来说无疑大部分情况下都是非常具有吸引力的,毕竟我就是一个"喜新厌旧"的人。因为我曾经为了能够使用C++11的技术标准,从一个传统软件公司跳槽跑路,然后在6个月后被裁员了。作为一个C++程序员,我的工作简历上是没有MFC这个技术的(虽然我对这个技术已经算是比较熟悉了),要写界面的话,最起码是得用WPF和QT了吧。新的技术会带来新鲜感,同时也会是工作简历上一个加分项目。我想大部分的Java工程师的简历上应该不会写精通SSH了吧,如果遇到还没有使用Spring全家桶的公司也会吐槽一番吧。

3. 技术经理的角度看新技术

我没有做过技术经理,但是我向技术经理“安利”过新技术,成功的次数不多,就说说我的所见所闻吧,希望有技术经理从你们的角度说说看法。

我最早的时候做过Office的格式工作,版面调整有问题的时候,我想过一个方法,就是把Office的排版结果做成两个图片,来看新的排版结果是不是更好。跟项目组长说了这个情况以后,他说你先做一个demo出来,看看情况。后来我发现技术的难度太大,就放弃了。

在后来我给一个老项目检查内存泄漏的问题,因为用过C++11的共享指针,对于内存泄漏就是一把利器。我跟技术组长提了这个方案,组长让我先去看看编译服务器的编译程序的版本。当我看到gcc4.3.2的时候,我就知道我最喜欢的作家是“莫言”了。

成功的经历也是有过的,就是第二点提到的那个新的公司。因为组长跟我一样是90后,也比较喜欢新的技术。公司的代码采用CMake来构建就是他完成的,我在后来把接口改为HTTP接口的工作中,增加了单元测试的部分。因为另一个小队的同事在这方面不是很熟悉,所以测试的覆盖率并不是很高,不过对我来说已经是非常好的了。

这个部分有我真实的经历,也有网上听来的(真伪没有考证过)。不过管中窥豹,可见一斑,也希望更多的技术经理提供例子。

4. 技术成本

腾讯抄袭被人吐槽已经不够新鲜了,但是几年前,腾讯在中国也是互联网的数一数二的存在了,马化腾难道不知道这个被人吐槽么?在知乎上找到了一个回答,我觉得可以说明这个问题

而创新根本不是提高竞争力的必要元素,相反减低成本,提高盈利水平变得更为重要。所以,在我天朝机制不完善的情况下,抄袭作为减低成本的操作手法变得更为重要。最关键是,抄袭是明确的,创新是不明确,显然创新的风险更大。对于任何一个想要活的更久的企业,除非,他有个不缺钱的老爹,让他可以有资本随意折腾创新,大部分自己一路打拼过来的他们过来的,他们更愿意选择一条明确的道路。 作者:潘玮霄 链接:https://www.zhihu.com/question/24827491/answer/29235093 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

我们在看到新技术带来的收益的时候,一定不要忽略新技术的成本。除此之外,还要注意成本出现的时期和成本收益的时期中间的时间差。很多公司不一定能够撑过这段时间,很多项目也是如此,很多人的在公司的岗位也是一样的。对于大多数的工程师来说,谷歌、微软、Facebook都是大家向往的公司,也是拥有很多新技术的公司。我们在看到新技术诞生的同时,不要忘记这些公司的收益完全可以覆盖掉新技术的成本了。