赞
踩
前一阵子要换工作,所以一直在面试、试岗、再面试再试岗,突然间有很多感悟,今天分享其中的一个话题。
我在面对面试官的时候,他们通常会问这么一个问题:你上一份工作的离职原因?
这个问题肯定有不少同学都会被问到吧,好多人都这么回答的:现在的项目代码太烂了,前人留下了很多坑,我实在忍受不了了。
在我看来,因为这个原因离职显得未免太不职业了,而且可能把工作想的太过于理想化了。如果因为代码很烂就离职,那么你跳槽到下一个公司依然会面对同样的现状,你是不是还要用离职来解决呢?因为几乎每个人,都会觉得自己公司的项目代码很烂。
造成这种现象的原因是什么,首先,我们得相信,没有任何一个人故意把自己的代码写的很烂,每个人都想把自己的代码写的很完美,扩展性很好,但是可能当初水平不够,在当时看似还不错的代码,日后在别人看来就是所谓的垃圾代码,我们每个人都在进步,别说别人了,你现在看你三个月之前的代码,可能你都会觉得写的很垃圾,如果你没有这种感觉,只能说你在止步不前,你没有进步。
其次,技术更新换代太快,市场的变化也太快,产品自然也一直在演变,也许在当时看起来还不错的代码,随着时间的推移,功能的更新,代码的堆彻,慢慢就变成后来者眼中的烂代码了。
也许你说,我跳到一个新的公司,做一个全新的产品,就不用忍受那些垃圾代码了,我有信心把架构设计的非常牛逼,为之后做足够的扩展性考虑,我只能说你想的过于理想化了,我们永远没法预测未来,随着需求与市场的变化,我们的功能一直在迭代,我们的产品也一直在变化,你会发现很可能你之前花了很多心思设计的架构,完全被推翻了,尤其在新产品刚推出的阶段,这是一个快速验证快速迭代的阶段,你的理想化的技术性思维,对产品没有任何帮助,随着产品的更新迭代,代码的不断增加组合,慢慢的你就会发现,你的那些完美的代码设计,很可能就是你自己口中的烂代码,这是一个必然的结果。
这里也衍生出一个问题,在产品的初期,不要过多的考虑架构设计、性能优化之类的,先把主要精力把功能实现,把产品的体验提升上去,技术人总是沉醉于先把自己的代码写的完美,其实殊不知,产品能不能成还是一回事呢,先实现再优化,是当今快速发展的互联网市场最基本的原则。但是你也没必要故意把代码写的很烂,想着以后单独抽时间去做重构,我以一个过来人的经验告诉你,给你单独的留出时间去做重构几乎不可能。
所以,如果一家公司各方面发展还不错,仅仅因为代码很烂就离职,跳槽到了另一家公司很可能更糟,而且越是成熟的产品,代码遗留问题越多,如果你觉得这家公司还不错,想一起发展下去,代码很烂的话那就试图去改变一下,给你单独的时间去做重构很难,那就边开发功能边重构,边迭代边优化,在不影响产品迭代的情况下,尝试着去做些力所能及的改变,在这个过程中你会发现,其实你也在慢慢的成长。
大部分人其实都在抱怨环境,只有极少数人会去做点改变,哪怕这些改变微不足道,有些时候,你很可能会因为这些微不足道的改变,得到一些更好的机会。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。