作开发两年以来的一点思考

         今年一直比较忙,8月份稍微松了一点,可是随后又开始忙起来,虽然工做繁忙,可是有时候难免会陷入思考和反思的流(stream)中。最近半年以来(一直 到如今),通过一些师长的教导以及对遇到开发上的问题思考,再加上对之前一些老师说过的话的反思,我对产品和项目略有一点想法,或许会被高手和过来人贻笑 大方,但至少是本身的一些真知灼见,在这里略做探讨。
        今年是2014年,我是2012年的差很少这个时候进入公司实习的,过完年(2013年春)转正的。算起来也有两年了,在2013年刚开始开发 Zigbee网络分析系统这个项目的时候,我是个刚入门的C#winform程序员,没什么想法,也不会什么东西,只是了解一些基本的C# 语法,不少东西都接触过,可是仅次于知道有这么回事而已。记得这个项目开发了一个初级版本的时候,主界面显示了一些Zigbee包结构,还有一些大体分析 出来的Zigbee网络节点,其中有个功能,叫假冒节点(假冒一个网络节点通讯),我作了一个界面,显示的是下拉列表让用户选择节点地址,还有一些普通用户根 本看不懂的东西,而后我作的这个功能执行完什么信息都没反馈,虽然我知道功能被执行了,可是执行成功和失败也没多少明显的提示和反馈。就在这个时候公司需 要在北京物联网大会演示这个项目,我只是改了一些明显的bug,而后公司带着这个系统去了北京。回来以后我被个人老师(是上司,可是比老师还老师)训了。 他说了一句话:”你看看本身作的这是什么,咱们作的东西,未来是要给人用的“。简单的一句话,我当时很不觉得然,不就是用么。当时,我和读到这个句话也没 明白的人的思想是相同的,上面的故事不是重点,重点是后面那句话,接下来看看我最近几个月开发中的一些事情。
       今年的开发中,有个项目我糊涂了好久,负责项目的上司(也是个人一位老师),曾经屡次批评过我,他是这么说的:”这项目交付,应该让XX(我)去,你拿着 本身作的东西去面对客户,让你感觉一下售前(应该是售前吧,我没记清这个)的难处,你之后写程序就用心了“,当他说这个的时候,我还在由于本身不是售前而 沾沾自喜。然而,在开发快完的时候的一天晚上(那些时候很忙,回去的晚,有时会通宵加班),久久不能入睡,由于我在思考这个项目,佛家提倡顿悟,就在快开 发完的时候我顿悟了,想通了整个项目结构,越想越兴奋,基本没睡。这不是重点,重点是我明白这个项目以后,接下来我对我和同事忙了半个月赶出来的东西的失 望。在我想通以后的次日,有客户来参观,我要提早调好给人看,可是就在这个时候亮点出现了,这个系统的控制智能家居的开关灯按钮一点就程序奔溃了,并且 上面的大多功能都不能用,看都不能看,由于有些界面一点开会弹出不少MessageBox,关一个会又弹出一个,没完没了。这个时候我虽然很失望和生气, 可是我仍是没有深入认识到这件事情,由于当时我还认为,这是由于项目作完以后没有测试和修改的缘由。
         古语云,以人为镜能够明得失,接下来的这个故事,引发了个人思考。最近有一个同事写的程序,我能看懂,可是正由于能看懂,因此感受写的一坨一坨的,当他把 本身写的一坨一坨的程序给我,让我写完的时候,我花了两天时间弄好了,你可能在想我是否是重构了,可是我没有,我改好以后给了他,说真的,我改的很痛苦。 因为下位机改协议,因此程序要调整,因为他没有看或者也是认为我写的烂吧,他给弄了个乱七八糟,而后又问我怎么改,正当我还没问明白改那的时候,他以一种 傲慢和不屑的态度对我说,走吧走吧,我本身重写。这……我当时就爆发了,我花了两天,旅游都没去写的东西,正在我沾沾自喜的时候被人这样一顿冷水。我怎么 能接受?可是,这件事刺激了我,当我在静下来思考我和他写的程序的时候,我忽然想起了之前两位老师的话,咱们作的东西是要给人用的,咱们拿了人家的钱,项 目交付的时候要给人一个交代,咱们不能把交付项目的同事抵押在客户那里就无论了。
         说了这么多,或许仍是有不少人不觉得然,前面我都用”项目“两个字,接下来咱们要思考”产品“这个词语,项目和产品有什么区别?曾经读过梁肇新(中国第一 代著名程序员,中国的软件行业曾经经历过一个”我的英雄雄起“的时代)先生的《编程高手箴言》中曾经说过一些话,大体意思是作产品的程序员大多不会吃青春 饭,只有作项目的或者作的连项目都算不上的程序员才吃青春饭,或许有点言过其实,可是做为一个程序员,我认为作产品和作项目绝对不是一个层次,虽然项目也 是给人用的,可是绝对没有一个给不少人用的产品那样精致入微。就拿个人第一个故事来讲,那个界面显示的东西用户根本看不懂,当点击运行时,谁知道这程序有 没有运行,就拿整个界面来讲,根本没人知道这个功能干了些啥,更别提界面好看和功能稳定了。通过最近的思考,我真正理解了,做为产品是要给人用的这句话, 人家是付过钱的,钱都是血汗挣来的,试问谁愿意花钱买一个处处都是Bug,不能正常运行或时好时坏的软件?况且大项目都很值钱动轴几百万上千万,咱们这样 的态度怎么能作出可靠的软件给人用?当我看到一些老师他们即便很小的事情,都会当作一件很重要的事情同样认真仔细的时候。我不只在想这种态度或许就是一种 作产品的态度吧。听说德国的东西质量很好,尤为是之前德意志时期,在中国建造的一些东西百年不坏。这两年有个手机叫魅族,听说魅族的掌门人有乔布斯同样极 致的作手机或作事的态度。我感受之后作事情就应该有作产品同样的精神,凡事要作到极致,或许作不到太多功能,可是作了的功能至少是必须稳定,怎么折腾都不 会出问题,只要用户没关它,它就能永不死机。固然,作到这个程度很难,可是无论难不难、能不能作到,咱们都必须朝这个方向努力。当你通过严密的思考,精心 作出东西来,Bug虽然会有,可是会少不少不少,而后通过严格的测试,再次完善。这个时候内心会产生一种很放心和知足的感受,不再用像之前同样,每到交 付时,内心放不下,吃很差饭,睡很差觉,更不会睡到半夜被叫回公司调程序。当销售人员拿着系统给客户演示的时候,咱们能够很放心的给他们,不会担忧出了问 题丢人现眼。谨以此文做为最近几个月思考的总结,但愿之后作事时时提醒本身作到完美极致,程序稳定且永不司机。。。

                                                                                                                                                           2014年10月30日晚手打程序员

相关文章
相关标签/搜索