一个程序员重写一个旧系统的故事(二)

最近又干了件吃力不讨好的事情,把公司一套旧系统的后台给重写了。有同学心里可能在嘀咕了,又重写系统,你怎么就这么仇视别的同事的工作成果,拿着公司给你的报酬,却做着其它同事已经完成的事,这么瞎折腾,工作成果在哪里,公司雇佣你的意义又在哪里。

其实这事我挺冤。这也和我刚入行时站错队有关系,我是微软系技术的铁杆脑残粉,做网站的asp、asp.net,做客户端的windows窗体应用、windows universal app,数据库 sql server、access,系统脚本vbs,powershell,这些东西全都学了遍,此外,作为脑残粉,光使用微软系技术肯定是不够,我还购买了不止一部搭载微软手机操作系统的智能手机为微软创造营收,父母使用的手机也都是装着windows 10系统的,自己也永远使用着最新版的windows系统,从win7到win8再到现的windows 10。而且,我会黑微软系以外的所有技术,不但嘴上黑,还在网上发文详细比较微软系技术和其它技术的各种特性,想以此来说服更多人加入微软技术联盟。然而,我所做的一切都是徒劳,和我接触的最多的同一个部门的同事,几乎是受到我对微软技术崇拜的直接影响,而在他们眼里,我表达的所有都显的苍白无力,他们认为微软的技术没有市场,业内招聘需求不多,学习微软的技术就意味着跟自己的饭碗过不去。

也许正是由于我善于使用微软技术的缘故,公司因组织架构变化和人员异动将原来由其它部门负责的两套asp.net系统调整至同我们部门维护,由于这两套系统的重要程度和维护所需的工作量似乎还抵不够招一个专门的.net程序员所需的成本,加上我这个微软技术的脑残粉在,这两套系统的维护工作自然就落到了我的头上。当初,由于我对自身技术能力的自信,曾夸下海口,可以轻松吞下这两套系统。然而,我太天真了,这两套运行维护多年的系统已经长的连他们亲爹亲妈都不认,我这个后爸根本驾驭不了。系统隔一天出一个小BUG,每个星期出一次大问题,再加上一些修改原有功用的需求,直把我折腾的焦头烂额,筋疲力尽。我意识到我已经被两套系统牵着鼻子走了,在它们身上浪费太多的精力,且投入和产出严重不成正比,有时候哼哧哼哧花半天时间只能修复一处小BUG,这影响到了我的工作成果产出和工作时的心情,我必须甩掉这两个锅。

经过和上级的交涉,最终结果是,这两个锅是肯定甩不掉的,但你可以让部门其它同事和你一起来背。好吧,既然我做不到让同事们来和我一起用.net,那只把实现系统的.net技术换成别的,也就是重写这两套系统。

我们部门的系统都是使用php开发的,换句话说就是我们部门的所有程序员都是php程序员。然而,我还是决定使用Java来重写这两套系统,我并不是完全随自己的喜好来进行技术的选型的,我选Java的主要原因是希望通过Java语言静态类型的特性来提高项目的可维护性和降低代码的理解成本。有的同学可能会提出质疑,认为代码质量完全是跟写代码的程序员的技术水平拉挂钩的。我认为,程序员的水平对项目质量的影响最多只占百分之八十,另外百分之二十是跟所使用的语言和框架相关的,选择合适的语言跟降低项目开发维护的成本有着巨大的联系,这种联系随着项目生存时间的增加而被不断的放大。不可否认,一个高水平的php程序员写的代码质量绝对要好过一个菜鸟级的Java程序员写的代码,但实际上菜鸟程序员的数量肯定要多过高级程序员,而菜鸟级php程序员写的程序会是所有程序员的恶梦。既然人力因素不可控,那语言层面的这点优势就一定要牢牢把握住。

说心里话,只要不是从1995年穿越过来的,就应该能看的到现在的Java并不可爱。就如同前段时间杭州G20峰会时的各种约束,各种检查,搞的你写起代码来束手束脚,各种不爽。但正是因为有了这层约束,才能使你写代码的易于管理、安全性高、次序性强、不容易出乱子,而使动态类型语言写程序,很灵活,各种屌炸天语法糖让你高潮不断,然而,出起问题来却能要了你的命。

另人意外的是,在我决定使用Java重写系统时,居然得到了多数同事的赞同,他们也希望将Java引入到我们技术体系中来,并参于相关系统的开发。 .net的各方面的特性都能甩Java几条街,但不管我怎么努力推广,都没人愿意加入进来,而Java天生就招人喜欢,许多程序员都愿意和她亲近。这不禁让我联想到自己的命运,就如同.net,我身上有那么多的优雅特性,但偏偏就永远是单身狗,难到正是因为例命运的相似性,让我产生英雄惜英雄的感觉,才会使我义无反顾,不求回报的追随.net。

虽然我有多年的开发经验,但是我对Java并不算太熟悉,仅有的经验是来自于几个android项目。Java web的经验可以说为零。但似乎如同武侠小说中所写的那样,只要内力足够深厚,任何武器都可即拿即用,而且威力无穷。我使用陌生的Java web开发,几乎没有任何学习成本,网上找了几篇关于tomcat、spring安装和部署的文章阅读,将开发环境搭建了几起来后,就从门外汉直接过渡到熟练工动手开发系统功能了,此外,得益于hibernate框架的威力,我开发的效率还要高于之前使用的php技术。项目从最开始的技术定型到最终上线,几乎没有碰到任何波折,一切都非常的顺利,而且也已经有其他之前是做php的同事参于了进来和我共同开发了。

会用Java是一回事,而精通Java又是另一回事,我可以使用Java技术和框架快速的开发一个网站出来,但是我还是不了解spring框架的内部细节,我没有去看过spring的源码,我不了解tomcat的内部实现细节,也没有看过tomcat的源码,我不懂和如何根据特定的操作系统和硬件环境对JVM进行性能调优,这些都将成为我将来工作中解决问题的绊脚石。显然,我现在还是一个Java新手,一个拥有多年工作经验的新手。

在我刚入行时,曾被这样一段话洗过脑「程序员修炼也讲究内功和招数,算法、操作系统、编译原理、面向对象这些属于程序员的内功,而各种编程语言就是招数,程序员技术的修炼应该是内功为主,招数为辅,只要内力深厚,使用任何招数都威力无穷」,作为一个武侠迷兼程序员,我把这段话当成我职业生崖的指路明灯,我能快束上手Java也正是得益于此。然而,武侠世界变换莫测,令狐冲丧失内力还能利用独孤九剑败尽各路武林高手,任我行抛出橄榄枝选他为下一任日月神教教主的继承人,任盈盈芳心暗许,此生非他不嫁。程序员的江湖中令狐冲式的高手也更受欢迎,就如同一个精通各类Java框架、服务器、虚拟机的Java程序员,到哪都吃的开。

当年,我因为无意中得到一本asp秘籍而拜入微软门下,一路从最低端的vbs学到最高端的f#,出师后才发现本门在江湖上并没有什么地位,口碑还差,根本没有什么江湖组织愿意雇佣我。于是我乔装打扮成前端工程师和php程序员混饭吃,然而,师门在我心目中的地位一直没有动摇过,现在,迫于生活,我又要假装成Java工程师去骗吃骗喝了,然而,这一切都是被自愿的。对于初入江湖的程序员,希望不要重蹈我的覆辙,一定拜入一个在江湖上有声望地位的师门,好好修炼内力,练习招数,出师后能早日升职加薪,扬名立万,迎娶白富美,出任CEO,登上人生巅峰。

一个程序员重写一个旧系统的故事(一)

http://chhblog.com/article_view?id=326

原文发布于微信公众号 - 带你撸出一手好代码(gh_afab56b37671)

原文发表时间:2016-09-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ATYUN订阅号

人工智能平台Jane为企业提供高效信息检索

筛选旧文件对于一个人来说耗时耗力,而对于拥有数千名员工的大型组织和企业来说,更如同噩梦一般。这就是前Answers.com首席执行官David Karandis...

14420
来自专栏Python入门

一个JAVA程序员成长之路分享

我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的...

29560
来自专栏知晓程序

想了解最新军事动态?除了局座,就看这个小程序 | 国家队 #7

在微信小程序的服务范围中,「政务民生」是一个不容忽视的大类。这预示着,未来只要用手机,就能处理大量公关事务,享受公共服务。

13520
来自专栏java一日一条

一个32岁入门的70后程序员给我的启示

大家好,我是帅气小伙,今天为大家带来一个非常励志,让我反思的故事。今天为大家讲的是我父亲是如何用行动教会我成为程序员的。

10210
来自专栏顶级程序员

32岁入门晚不晚?来听听这位70后程序员的故事

源 / 简书 文 / 帅气小伙 大家好,我是帅气小伙,今天为大家带来一个非常励志,让我反思的故事。今天为大家讲的是我父亲是如何用行动教会我成为程序员的...

50350
来自专栏北京马哥教育

故障管理工作方法和技巧分享

做故障管理这么久,对怎样才能做好这个工作有一些切身感受,除去一些只可意会不可言传的部分,这次我把能想到的工作技巧都总结出来了。 由于这个岗位不是互联网公司6大...

33750
来自专栏工科狗和生物喵

一个机械人到半只程序猿的进化之旅

开篇语 好吧,名字是不是很有新意?写出来的刹那我差点在自习室感动到落泪,但是后来想想,好像有点文不对题啊~~但是谁叫这个标题这么帅呢?一向务实的我都忍不住败倒在...

485100
来自专栏睿哥杂货铺

DevOps 漫谈:从作坊到工厂的寓言故事

谈到 DevOps 概念,有几本书是绕不过去的,《凤凰项目:一个IT运维的传奇故事》(The Phoenix Project:a Novel About IT,...

43480
来自专栏IT派

一个32岁入门的70后程序员给我的启示

IT派 - {技术青年圈} 持续关注互联网、大数据、人工智能领域 大家好,我是帅气小伙,今天为大家带来一个非常励志,让我反思的故事。今天为大家讲的是我父亲是...

35250
来自专栏程序员与猫

月末总结与推书

12430

扫码关注云+社区

领取腾讯云代金券