#web项目

创业初期,我的角色虽然是商务,但是项目人力紧张的时候,也要亲自写代码。 我记得一个非常复杂的web项目,我前期没重视,让一个研发同学负责,研发同学折腾半年用wordpress给对方搭建,但是甲方有非常多的定制要求,所以最后对交付产品非常不满意。 我春节前和公司副总一起去甲方现场挨批,被骂的狗血淋头,骂完了,甲方说让我表态,我说做错了的事情,就是我们错了,没有借口。 甲方进一步逼问怎么办,我说马上春节了,你们好好过春节,春节上班后没法用,退全款再加罚款。 甲方本来想为难我,没想到我说春节后第一周交付,根本不可能呀。你们半年都没搞好的事情,两周会搞好?但是都这样表态了,甲方也找个台阶给我下,但是甲方的眼神告诉我,你们等着违约吧。 我回到武汉和研发同学梳理了一下需求370个任务,半个月,每天20多个任务,春节加班搞。 每天我们就花半个小时对接用户需求和当天完成任务,那时候我身兼设计师和前端,简单来说就是不做设计图,脑袋想象设计图,一次编码出产品质量的CSS和功能。 那段时间压力特别大,每天早上8点编码到晚上12点,写完代码洗漱就睡,啥都不干。老婆小朋友在北海玩,每天给我发赶海和螃蟹的照片,我就那样写呀写呀,眼看最后期限到,任务都快差不多了。最后5天基本上一起床脖子就疼,坚持写,疼也要写,拼了! 终于终于,最后一天写完就收工,傻逼的经历要来了。 最后一个功能是甲方要一个三列拖拽控件管理前端内容的顺序,找了下开源控件没有一个好使的,自己徒手搓,从晚上12点搓到1点,写了个demo做测试,各种测试不过,到3点眼睛已经困的不行了,各种测试不过,天亮就要交付了。还有几个小时,干脆重写吧,不调试了。 因为写了一遍,第二遍重写也很快,1个小时写完控件和demo,一测试,过了,oh yeah。 既然是全能研发,肯定不会这样放弃为什么第一版不工作的原因,我打开emacs,用ediff检查了两个版本的代码到底有啥区别,看完我狂吐一口老血啊......... 差别只有一个,关键状态的初始值差别,第一版是false,第二版是true,其实第一版控件逻辑是对的,就是太瞌睡了,初始化的时候脑袋抽了。 我20多年经验,凡是软件牛逼bug要么是知识屏障问题,要不就是越牛逼的bug原因越傻逼。 结局呢?春节后第一天上班,全新系统交付給甲方,甲方都震惊了,里里外外全部原创搞定,没有bug。甲方最后说,这才是我们以前了解的操作系统团队,牛逼!