微信扫一扫
分享到朋友圈

欠债还钱,欠技术债,可能还得公司破产。。。

作者:差评 来源:差评 公众号
分享到:

04-30


欠下的

总该还



差评君最近想买个新电视。


这样才能配得上我的 PS4 Pro 的 4K HDR 游戏画质。


但是我想了半年了。。。


为啥呢?


因为每个月,还了信用卡以后,就发现赚的钱不见了。。。


这种程度的债务带来的痛苦,想必很多人都体会过,更别提那些贷款创业然后公司运营不善的老板们了。。。


但是,你有没有听说过另一种形式的债,会让程序员和科技公司抓狂。


这种债务,欠的不是钱,但是值不少钱。


它叫技术债。


技术债的意思是就是做技术开发的时候欠下的债。


不过这么解释好像等于没说。。。


差评君还是举个例子吧。


假设差评君想要搬运一堆石头,但是身为一个优雅的人,不愿意徒手去干这活儿。( 放在软件开发里,往往是因为需求不适合人来做 )


于是叫了一帮开发弟兄们,来给我解决一下这个问题。


小黑胖觉得可以做个推车,大家也认同这个方案,于是就这么定了。

( 灵魂画手差评君的新系列 )


于是,世超做轮子,小黑胖做车身,小二做纤绳。


这个过程,和技术开发类似,大家分头做一个个功能,然后组合。


差评君呢?


做老大的自然要在旁边看着才叫老大嘛。。。


让我们假设当时技术比较落后,没有办法生产比较圆的东西,或者说轮子在这之前都没被发明过,大家也不知道该做成圆的还是方的,就用方的轮子了。


颠着颠着也还能用。。。


于是就这么凑合着了。


例子里场景比较荒唐,但在早期技术开发的时候,确实有因为技术受限做不出完美方案的情况出现,只好给某个部分做妥协。( 也有可能是设计的时候没想到,或者是让项目尽快完成 )


车子造好了,大家费了很大的劲,开始装石头进去。


拖着拖着,发现这轮子不光会颠,碰到软的地面还会陷进去,总而言之用是能用,但是不好用。


这时候,负责开发轮子的世超拿着两个圆形的东西跑过来,说找到更好的轮子了!


但是,装上轮子需要停下手头的活儿,并且还得拆装小车,这些事儿都要费很多功夫,更何况万一这新轮子的轴不搭还得重做呢。。。


在现实的技术开发中,这个所谓 “ 换轮子 ” 需要费的精力和金钱往往是很惊人的,因此很多时候会选择妥协地用着不太完美的方案。


咱们决定继续用方轮子的方案。


但速度不快的确是个问题,于是决定给小车做一次升级:给它安个推进器。


但这么搞发现效果不太好,因为速度太快,方轮子磕地面会越发剧烈。


这个本来很棒的升级方案,因为之前的一次妥协,变得不太好了。


但好在能勉强解决,就是把推进器做成斜向上的,这样小车就会稍微往上弹起,轮子变得不太容易磕地面了。


现实中,一个技术产品需要往后迭代,增加功能时,有时候会受老功能里不太完美的代码的影响,为了解决它往往需要在做新功能时也妥协一部分。


然后,因为推进器的设计,又有新的问题出现了。


因为这么移动时,需要稍稍的 “ 蹦 ” 起来一些,导致这个小车太晃了,于是咱又不得不给小车加个盖子防止石头掉出来。


这就不光是妥协的问题了,我们甚至需要做一些工作,专门去维护因为妥协而造成的问题。


随后,因为盖子的问题,咱们得做扣子不让盖子乱跑,轮子老磕地面还容易坏,石头晃来晃去也让车子很不稳定,总而言之问题越来越多,补都补不过来。


最后,咱们终于觉得换个轮子的重要性不可忽视了,但是这时候再看看,拆了重做的工作量更多了。


以上,大概就是欠下技术债的样子了。



为什么要说它是债呢?


因为真的很形象:


一开始,我们用方形轮子这种糟糕的设计时,就好像是欠下了一笔债。


而一旦小车运行起来以后,要还债就得付出停车和修改的代价,这多付的地方就是利息了。。。


再然后,当我们想要升级的时候,因为方轮子的关系,花了额外的时间精力去解决推进器适配问题,还做了妥协,这就好比是再欠一笔来填原来的利息。


因为推进器也做了妥协,产生出了新的问题,利滚利了。。。


这时候终于忍不住想换轮子,想还债了,回头看看,发现债务和利息加起来变得非常恐怖。



在技术开发领域,这些利息可能是:


本来添加个很简单的新功能,但是却花很大功夫来磨合原有的项目。


一些怎么都搞不定的错误,甚至得专门花时间金钱来处理


而还债呢:


当一个项目在原有基础上添了很多东西以后,你要 “ 还债 ” 几乎等于重做。


这就好比你造大楼,地基打歪了,你再想修的话得把上面的建筑一起敲了再搞。


这个时候,你说还吧,太昂贵了。。。


你想想,现在程序员工资这么高,工作内容却是让他们把原来的东西重新写一遍,你说昂贵不昂贵?


不还呢,哪天利息滚到你想锤蛋自尽。。。


这种例子在各位熟悉的大型科技公司身上很常见。


比如说微软,当年给他们的开发工具 Visual Studio 做了个网络服务 Visual Studio Online,但因为以前的系统设计失误,让他们这个新功能宕机了 7 个小时。


Facebook 也有个技术债经历。


了解开发的差友们可能知道,Facebook 是用 PHP 语言写的。


他们当年就有这样一笔写在在 PHP 代码里的技术债,滚到根本还不起了。


所以干脆发明了一个虚拟机,叫 HHVM,因为他们最后发现修复那个漏洞的成本还不如发明另一套新工具。。。


现在,你理解技术债有多麻烦了吧?


更麻烦的是,它有一点和贷款不一样,就是很多时候直到问题出现才能意识到自己欠了技术债,比如说设计失误。


但是这不一定是个绝对要规避的东西,有时候,一个项目拖不到更好的方案时,需要贷这样一笔技术债来加速一下进程,尽快上线让它运转起来也是有必要的。


在知情的情况下,要不要欠技术债,欠下以后怎么还,多久还,也是一个开发战略,做技术开发绝对不是蒙头写代码那么简单~


但是有一点是可以确定的,就是欠债的人不会喜欢利息,而且还的时候肯定有些痛苦。


就和我每个月还信用卡一样。。。



“ 第二天别忘了上班哦 ”

阅读8758
技术 
举报0
关注差评微信号:chaping321

用微信扫描二维码即可关注
声明

1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“差评”微信公众号,文章版权归差评公众号所有。

评论
更多

文章来自于公众号:

差评

微信号:chaping321

邮箱qunxueyuan#163.com(将#换成@)
微信编辑器
免责声明
www.weixinyidu.com   免责声明
版权声明:本站收录微信公众号和微信文章内容全部来自于网络,仅供个人学习、研究或者欣赏使用。版权归原作者所有。禁止一切商业用途。其中内容并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现头条易读网站上有侵犯您的知识产权的内容,请与我们联系,我们会及时修改或删除。
本站声明:本站与腾讯微信、微信公众平台无任何关联,非腾讯微信官方网站。