首页 程序人生 记我经历的一次公司破产经历,一行代码害死一家公司

记我经历的一次公司破产经历,一行代码害死一家公司

前言

这是一篇亲身经历的真实记录,事情发生在2010年。狗血剧情一再上演,使我的程序员生涯变得跌宕起伏,也从中学到了很多。

在写这篇文章之前,我还专门去查了这家公司的资料。有如下事实:

1.官网已经打不开了。

2.天眼查上可以看到公司有4项失信信息,均为2015年之前法院判决的偿债通知而未履行。

我心中一阵感慨,但愿前东家一切安好。往事如烟,却一切历历在目。

画大饼驱动的梦想

公司当时研发的是智能家居设备,兼容可视对讲和家电控制。而我在公司从事家电控制研发这一块。研发总监大刘是一个很技术厉害的人,工作非常拼命,起早摸黑,每周工作6天半。后来才知道,老板和大刘之间是有股份承诺的。所以大刘拼了命给公司干活,也是图有个较好将来。大刘带领一帮同事苦苦干了一年多,产品逐渐出来了。

股份无法兑现,研发总监出走

产品已经弄的差不多了,研发总监自然就要向老板讨要承诺的股份。此时不讨,更待何时?难道还要等产品稳定,研发总监没有价值的时候讨吗?最后的结果自然就是谈崩了。这是很自然的结果。公司不是老板一个人的公司,要给股份可以,股份从哪里来?其他股东同意吗?这些都是一个很大的问题。总不能让老板一个人把自己的股份转让给技术总监,老板也不愿意。最终的结果就是研发总监离职。

上一个刚走,下一个就来

在深圳,最不缺的就是人才。上一个研发总监刚走,下一个研发总监马上就进来了。而且来头要比上一个更厉害,是华为港湾出来的研发副总。这么厉害的大牛进来,当然不是光靠工资就能请来的。老板当时就有承诺,产品做到一定阶段就会兑现相应的股份。

找出产品一个“致命缺陷”

新总监进来之后,就要对产品进行测试和制定后续研发策略。当时进行压力测试的时候,发现产品的串口发送数据常常会被冲死。数据量一大,就会异常。我们反复测试,一直找不到这个原因在哪里。我当时也是很费解,为啥之前产品测试都是好好的,但是新的研发总监进来之后,产品就出现了这样的问题。当时代码已经交给新的研发总监,然后再出版本给我们的。

产品推倒重来,再上路

因为解决不了这个串口的问题,公司高层开了很多会议来论证,判定是这个设计的方案有问题。我们当时嵌入式设备采用的是Linux系统,讨论的结果就是Linux系统的串口驱动有问题,无法解决。需要把Linux系统去掉,然后裸跑,做到代码每一步都可控。这就意味着软件要推倒重来。就这样,新总监带着我们,又一顿猛如虎的加班操作,经历大半年的吐血努力,新的产品慢慢又做出来了。

一行代码的过错

新产品出来之后,就要进行测试。其中我负责的一项工作,是与上一代产品做对比测试。经过测试对比,我们这一代产品,在串口的数据吞吐方面,确实大大优于第一代产品。但这个再一次勾起了我的疑惑,Linux驱动应该是成熟的,怎么会有这么低级的问题呢?于是我想办法拿到了上一代产品的源码,从Linux的内核开始追踪,一直追到串口驱动。我竟然有了惊人的发现,串口驱动被修改了,加入了随机延时的功能!

这个随机延时是怎么实现的呢?

就是每次调用驱动的时候,就去取0~10的随机数,如果结果命中3,则会延时若干毫秒。这一发现差点惊瞎了我的狗眼,难怪上一代产品会出现间歇性被数据冲死的现象。当时,我仿佛明白了好多事情。

瞎猜测

当时我作如下的猜测:

1.给别人擦屁股,是最辛苦而没有价值的。新的研发总监也不愿意给上一代产品擦屁股,只有自己创造一代产品,才有资本和老板谈判。

2.产品的驱动确实是被修改了,这个我和原版的驱动做过对比。但是谁改的呢?至今无从考究。

我知道这件事之后,虽然觉得老板很可怜:因为这么一个小问题,导致产品重建,消耗了大半年的功夫。这大半年的时间的成本是巨大的。但我一直没有对任何人说过这件事,直到今天把它写出来,忽然内心畅快了许多。

股份,还是股份

我们中国人做事情的思维习惯是这样的:我刚进来还没有做出业绩的时候,我什么都不说;一旦我做出业绩了,我该要的就一定要得到,不然就鱼死网破咯。产品做的差不多了,研发总监就屁颠屁颠的去找老板邀功,讨要股份。结果,,,还是你想的那个结果。哪里有什么股份,打工的向东家要股份,99%的老板都是认为不合适的。工资已经给你了,凭什么还要给你股份?

不给股份,再见

研发总监和老板谈不笼,迅速辞职,剩下一帮惊得目瞪口呆的程序员。他们异口同声的说出了这么一句世界上无人能翻译的英文:WQNMBD,之后纷纷辞职。然后,就没有然后了。

总结

这篇程序员生涯回忆录,说的有点玄乎,但是句句真实。相信很多人在职场,都碰到过很多这样的狗血事。这样的事还很多,如果大家想要和我探讨,欢迎和我联系。

站心网

前言这是一篇亲身经历的真实记录,事情发生在2010年。狗血剧情一再上演,使我的程序员生涯变得跌宕起伏,也..

为您推荐

代码照进现实:对公司管理策略的技术性解构

上学的时候觉得计算机专业的一些理论晦涩难懂,跟现实世界的关联太少,每当遇到一些精妙的设计时都会发出一种感叹:究竟是什么脑袋才能想出这么有意思的东西。一晃工作十年,阅历渐丰,隐约发现其实社会中的一些现象..

编写优秀 CSS 代码的 8 个策略

编写基本的CSS和HTML是我们作为Web开发人员学习的首要事情之一。然而,我遇到的很多应用程序显然没有人花时间真正考虑前端开发的长久性和可维护性。我认为这主要是因为许多开发人员对组织CSS / HTML和JavaScript的策..

你的青春,值得献给小型创业公司吗?

01、2014 年的时候,我从“上有天堂下有苏杭”的苏州回到了九朝古都洛阳。之所以用“回”这个字,我想你也猜到了原因:我的籍贯是河南省洛阳市。回来的时候挺胆战心惊的,因为洛阳的软件行业很萧条。举个不恰当的例..

程序员跳槽到对手公司,被前老板设计陷害

这件事发生在2007年,我就职的第一家公司。今天把它整理写出来,希望它对程序员有一个警醒的作用。永远要记住,程序员的世界除了有代码,还有被套路。资深工程师的苦恼第一天到公司,是浩子带着我办理了入职手续。浩..

年底跳槽,我来告诉你如何选择下一家公司?

从成都转战深圳的粉丝来信上周五,一位从成都离职,转战深圳发展的女粉丝,跟我微信私聊,问我找工作选择公司的问题,现在不知道要选择什么公司的offer。(插一句,都说土哥的这个号,是前端圈里,妹子关注最多的技..

天天写业务代码,如何成为技术大牛?

不管是开发、测试、运维,每个技术人员心理多多少少都有一个成为技术大牛的梦,毕竟"梦想总是要有的,万一实现了呢"!正是对技术梦的追求,促使我们不断地努力和提升自己。然而"梦想是美好的,现实却是残酷的",很多..

如何处理前任程序员留下的代码

作为软件工程师不可避免会遇到的一个场景是:我们在改变或添加一个功能到不是我们创建的、我们不熟悉的、与我们负责的系统部分无关的代码中时,会遇到麻烦。虽然这可能会是一个繁琐而艰巨的任务,但是由于使用其他开..

苦逼程序员如何在公司生存的经验分享

我本科从深大毕业,从事编程工作已经十几年。期间在大大小小的公司呆过,见惯并且厌倦了职场各种争斗。很庆幸自己从一开始的选择——做一个纯粹的技术人。很多初入职场的朋友存在一个误区,觉得只有从技术岗转管理岗..

创业码农被公司套路最惨的一次经历

2018年马上就要过去了,把这一件真人真事写出来,也算是向过去一起努力的兄弟有个交代吧。关注我博客的朋友,应该都看过我之前写的一篇文章《记一次被骗去创业的经历》。该文章记录了博主在创业公司里的一段奋斗经历..

对码农而言什么样的代码才能叫做好代码?

好的代码,就像是好的笑话——无需解释就能让别人明白。如果你的代码能够做到不解自明,在大多数时候,你根本无需为其配备说明文档。好的代码,就像是一辆配备了优秀音响和杯架的汽车,这辆车在行驶到最高速度的时候..

深度干货:那些值得你去的好公司,都长什么样?

又到了年底跳槽的高峰期,后台一下子涌现出许多关于换公司的疑问。许多读者对如何判断一家公司值不值得加入拿捏不定,想咨询我的看法。今天我就来和大家聊一聊,当你准备跳槽去一家新公司时,应该看哪些重点。每个人..

当一个程序员写不出代码了,该怎么办?

你已经对着电脑n个小时了。不知道该写什么代码,或者一种摔键盘的冲动正在你的胸中酝酿。咖啡一杯接着一杯。不敢再喝了,因为搞不好要有副作用了,心跳加速,身体不由自主地颤抖,出冷汗,但还是无法产出任何代码。..

ASP.NET MVC最常用的设计模式代码示例

ASP.NET MVC 是一个基于分层架构的框架,其核心架构本身已经实现了 MVC 模式(Model-View-Controller)。除了 MVC 模式,开发者在使用 ASP.NET MVC 开发应用时,通常会结合其他设计模式以提高代码的可维护性、可扩展..

10款.NET开发中推荐的代码分析和质量工具

以下是10款.NET开发中常用的代码分析和质量工具列表,以及它们的主要功能和使用场景:1. SonarQube简介:一个流行的开源静态代码分析平台,用于检测代码中的漏洞、错误、技术债务等问题。主要功能:支持代码质量监测..

小公司的程序员,老想跳槽怎么办?

7 月下旬的时候,有个读者私信我了很长很长一段文字,吐槽公司小(4 个后端,1 个前端),开发团队水平菜(不重视规范,所有业务逻辑都写到 Controller,而不是 Service),待遇福利差(一开始说双休,结果是单休)..

.NET C# EntityFramework(EF)连接SQLite代码示例

在.NET C#中使用Entity Framework(EF)连接SQLite数据库是一种常见的做法,可以有效地管理和操作数据。以下是一个简单的示例代码,展示了如何使用EF Core连接到SQLite数据库并执行基本的CRUD操作。首先,确保你已经..

设计模式之高质量代码

0,什么是高质量代码我觉得回答这个问题,应该从两个方面考虑。从业务角度考虑。首先,在公司开发一款软件,应该是业务在驱动。所以,从这个角度来说,代码第一个应该满足的是业务需求,如果连最基本的业务需求都满..

什么是VoidZero?Vue和Vite之父尤雨溪成立的技术公司

VoidZero是一家由Vue和Vite之父尤雨溪成立的技术公司,主要致力于解决JavaScript工具链的碎片化、依赖复杂以及性能瓶颈问题,通过提供一个统一、高性能的开发工具链来改善开发者的开发体验。优点分析统一性:VoidZer..

C#发送邮件代码简洁示例(附源码下载)

C#发送邮件,主要使用的是System.Net.Mail命名空间下的方法实现,方法很简单,短短十几行代码即可完成发送,具体代码如下。 try { MailMessage myMail = new MailMessage(); myMail.From = new MailAddress..

AutoMapper.AutoMapperMappingException”类型的异常在 AutoMapper.dll 中发生,但未在用户代码中进行处理

今天修改别人的代码抛出了这样的异常: AutoMapper.AutoMapperMappingException”类型的异常在 AutoMapper.dll 中发生,但未在用户代码中进行处理。进行了调试,往下走的时候直接报错了,百度之~中文网站上没..

发表回复

返回顶部