`
caoruntao
  • 浏览: 467241 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

[转]十年编程经验凝结 与新人们分享

    博客分类:
  • java
阅读更多

【转】http://www.ismayday.com/?p=140

大概有一个月没更新Blog了,最近很忙~,天天去公司上班,晚上回来还得做毕设,体力严重超支,还有一个就毕业了,时间一晃就过去了四年,心里不禁掠过一丝忧伤,但是这四年我过得很充实,在做毕设的时候就感觉出来了,一个网页过滤系统下来洋洋洒洒5000行代码,居然没遇到什么困难就写下来了,中间也没有调过几次Bug就通过了,结果出奇地好,心里暗自窃喜。昨晚做了最后一次体质测试,和大一刚入学相比,身高不变,体重倒是增加了15斤,视力加了100度,看来这四年时间大概都花在电脑上了。
最近我们抓虾的流量似乎有所减少了,而且还有不少网友提出了批评,看着alexa的排名曲线一直在下降,心里有些失落,前段时间的努力是乎没有什么效果啊,只希望不是因为我们产品的质量下降造成的就好,这几天请了个小假回来做毕设,在无意中发现了这篇文章,贴上来收藏~~

有天和朋友聊天,朋友是国内一家大型互联网企业的一位技术主管,朋友把他将近十年研发工作积累的心血总结成两点,这两点朋友刚一提出来我并没有马上明白,只是大约有这么一个概念,我还没达到朋友在技术领域的那种高度,不能彻底领悟他深刻的思想。但我想与众多刚刚踏入IT技术研发领域的新人们分享一下这位朋友的思想,我尽全力来解释阐述朋友的话语,希望能给大家带来一些启发。

第一点是:不断抽象已知的东西。现实生活总是包括很多零散的东西,待解决的问题不会只有一面,所以抽取零散东西的共同属性,聚合不同角度的同一面向,成为从问题领域进入编程领域的第一步。抽象的层次越高,你架构设计就越简单。

第二点是:面对未知的东西用已有的抽象经验来模拟体验,从而不断调整直至达到可以控制未知东西的程度。有了上面第一点的基础,才可能到达这第二点的境界。现实问题总是不断变化着的推陈出新的,从未知到半知到已知,是人认识客观世界的一个过程,恰如人生从天真到懵懂到成熟的过程。

天才是什么?聊着聊着我们突然说到比尔盖茨,说到那些天才黑客,朋友和我都很兴奋。我问朋友,从他总结的两点来看天才是怎么实践这两点的?朋友想了一下说,天才就是生来就有那种抽象的能力,他并不一定局限于计算机领域的空间来看待问题,他拥有从这个世界其他领域来模拟体验计算机领域的天赋,他甚而可以抽象整个世界。

  朋友的思想太博大高深,如我这般入行不久的初级程序员怎能领会?但我还是装作深有体会的不断点头,同时把朋友从山巅拉到山脚下。我说:“你说得太抽象了,不如你告诉一个起步阶段的程序员应该怎么慢慢通过实践来逐步达到这种境界吧。”我知道朋友在这方面颇有体会,他以前曾跟我提起他毕业后在第一家公司是怎么接受锤炼的。果然朋友很快开始阐述:“很简单,起步阶段就是专心的模仿。切记不要被那些乱七八糟的东西晃花了眼,什么j2ee与.net之争,什么soa的革命等等,你不要去关心这些东西。当你在公司上班时,会有这样一个矛盾,当你完成公司交待的一个任务时,你可能为了尽快完成任务用了很多别人现成的框架。这本身没问题,但何谓专心的模仿?就是说你在工作之余,需要来研究这些框架,你可以不用这些框架,而是用最原始的方式来写,你会慢慢体会到框架的约束,进而有对框架进行改进的欲望。但是最终你也会发现:其实任何一个框架都比你自己写的要好。然而在你不断模仿的同时你就得到不断的提高。”朋友越讲越起劲,又开始分析高手和低手在起步阶段的差异,“其实所谓学得快,所谓高手,就是说他在模仿的过程中不断比较自己写的东西和框架本身的差异,不断发现问题,想尽办法解决问题,思考得越多,你碰到的问题就会越多,这是一个正向循环,最终你的技术能力就会螺旋式的上升;而低手只会被动的等待问题,一旦问题自己觉得解决得差不多就放下了,这样自然就不会产生更多的问题,最终技术能力就始终停留在那个菜鸟阶段。”

朋友的话让我惭愧不已,我就是典型的不求甚解啊,问题解决得差不多就行,能运行就万岁,总是不去深究,这样给系统留下多大的隐患啊,而且也是对自己极大的不负责任。

聊完了技术方面的东西,我们想聊点轻松的,但是话题仍然离不开那些搞技术的新人们。朋友正好最近替公司招聘人才,面试了很多名校的计算机相关专业的一些毕业生。朋友说他们技术功底不够扎实,我说他们除了这个,心态也很浮躁,恨不得一参加工作就拿大几千的工资,一进公司就做项目经理,太眼高手低。朋友也深有同感,说面试的时候就有一种怪怪的感觉,而且朋友进一步将这种心态问题提升到编程提升到认识论的高度,“其实我觉得他们本质上是一个不能够正确认识自己的问题。认识论其实很简单,首先认识问题,然后解决问题。你说你想做项目经理,那么你需要具备哪些技能,技术上的,管理上的等,你需要多长时间来磨炼这些技能等。编程不也就是这样嘛,认识问题,抽象问题,进行设计编码最终解决问题,其实做所有的事情都是如此。”

跟朋友的这番聊天让我受益匪浅,而让我感受最深的不是上面提及的这些关于编程和心态两方面的道理,而是我体会到:技术人员并不像人们想象中的那么呆板,每个人都在以自己的方式活着,不断参悟人生的玄妙,而技术人员以一种更为奇特的方式和电脑搏斗,付出了更多的心血,当然体悟得也更加深刻,然而最终每个人都会殊途同归。

分享到:
评论

相关推荐

    十年编程经验凝结 与新人们分享

    大神漫谈十年编程的经历。

    十年编程经验凝结.pdf

    十年编程经验凝结 从网络上找到的,也是一位编程牛人的心血之作

    《C++编程规范101条规则、准则最佳实践》中文版

    《C++编程规范:101条规则准则与最佳实践》中,两位知名的C++专家将全球C++界20年的集体智慧和经验凝结成一套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位C++程序员应该遵循的行事...

    商业地产经验之凝结.docx

    商业地产经验之凝结.docx

    凝结水泵出力不足的问题排查、分析与处理

    离心泵是化工、电力生产中的重要输送设备,凝结水离心泵(凝结水泵)是电厂中的重要辅助设备。某电厂在试运期间,在机组高负荷时,凝结水泵发生汽蚀现象。分析了凝结水泵发生出力不足的原因,并通过对凝结水泵入口蝶阀进行...

    1000MW火电机组凝结水节流系统动态模型研究

    为了克服新能源电力对电网产生的影响,传统的火电机组必须提升...通过对模型输出与机组实际输出的对比验证中可以看出,模型的响应与机组实际输出完全一致,具有很好的仿真精度,该模型可以应用于凝结水节流系统的控制优化。

    玻色-爱因斯坦凝结水暗晕与银河旋转曲线对接

    我们用银河旋转曲线呈现了玻色-爱因斯坦凝结物(BEC)和纳瓦罗-弗兰克-怀特(NFW)暗晕模型的比较对抗。 我们使用6个高表面亮度(HSB),6个低表面亮度(LSB)和7个矮星系,其旋转曲线分为两类。 在第一类中,旋转...

    热泵热水器螺旋套管冷凝器中R22的凝结换热性能

    螺旋套管换热器因其优越的结构特性和高效的换热效率在热泵系统中得到了广泛应用,本文...通过对文献中制冷剂在相似流动通道内换热关系式进行合理修正,计算得到R22在螺旋环形通道内的凝结换热系数,并与实验结果进行比较。

    C++ 编程规范

    《C++编程规范:101条规则、准则与最佳实践》中,两位知名的c++专家将全球c++界20年的集体智慧和经验凝结成一套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位c++程序员应该遵循的行事...

    凝结水泵的结构原理及维护检修PPT课件.pptx

    凝结水泵的结构原理及维护检修PPT课件.pptx

    火电厂汽轮机调试经验总结 第5章 凝结水系统调试

    火电厂汽轮机调试经验总结 第5章 凝结水系统调试

    凝结水系统充水及排水测试记录(一).xls

    凝结水系统充水及排水测试记录(一)

    [精品]编程珠玑(第2版•修订版).epub

    正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,...

    凝结水泵变频改造运行分析

    针对某电厂630MW超临界机组凝结水泵采用变频调速技术改造进行分析。凝结水泵采用变频运行不仅节电降耗,而且解决了除氧器上水调门振动大、噪音大等问题。有利于凝结水泵变频安全经济运行。

    C++/C编程规范

    在本书中,两位全世界受尊敬的C++专家将全球C++社区的集体智慧和经验凝结成一整套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位C++程序员应该遵循的行事准则。  本书涵盖了C++程序...

    编程珠玑 第二版 超清中文版 文字版可复制

    正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上很受欢迎的专栏,...

    C++编程规范

    《C++编程规范:101条规则、准则与最佳实践》中,两位知名的c++专家将全球c++界20年的集体智慧和经验凝结成一套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位c++程序员应该遵循的行事...

    凝结水系统充水及排水测试记录(二).xls

    凝结水系统充水及排水测试记录(二)

    编程珠玑(第2版•修订版),中文完整扫描版

    正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,...

Global site tag (gtag.js) - Google Analytics