搜索
bottom↓
回复: 19

十年编程经验凝结 与新人们分享[转自CSDN 鬼手的专栏]

[复制链接]

出0入0汤圆

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

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

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

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

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

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

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

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


(原创文章,转载请注明作者和出处 )
作者:ljc3046
链接:http://blog.csdn.net/ljc3046/archive/2007/05/08/1600426.aspx

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2011-8-17 13:48:53 | 显示全部楼层
我不知要到什么时候才会有这样的感悟啊

出0入0汤圆

发表于 2011-8-17 14:41:24 | 显示全部楼层
好高深啊

出0入0汤圆

发表于 2011-8-17 15:35:30 | 显示全部楼层
d

出0入0汤圆

发表于 2011-8-17 17:10:17 | 显示全部楼层
高深啊,是不是和我们电气电子的抽象有点像啊?

自然层->定理层->集总电路层->放大器层->数字电路层->组合逻辑层->时钟数字抽象层->指令集层
                                    |->运放

出0入0汤圆

发表于 2011-8-17 17:29:36 | 显示全部楼层
感觉有点道理,领悟不了太多,太深奥。。。。。。

出0入0汤圆

发表于 2011-8-17 17:57:30 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-8-17 18:50:46 | 显示全部楼层
mark....
不错。

出0入0汤圆

发表于 2011-8-17 18:59:39 | 显示全部楼层
汗,把比尔盖子当成程序员,把天才黑客当偶像
这十年的编程经验看来是混出来
自己混也就算了,还装牛B,搞些故做高深的东西出来教坏小朋友就太坏了

出0入0汤圆

发表于 2011-8-17 19:11:29 | 显示全部楼层
谢谢,很受用!

出0入0汤圆

发表于 2011-8-19 22:42:34 | 显示全部楼层
mark
alas 该用户已被删除
发表于 2011-8-19 23:54:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2011-9-6 11:41:05 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-9-6 12:33:00 | 显示全部楼层
回复【8楼】chenchuan
汗,把比尔盖子当成程序员,把天才黑客当偶像
这十年的编程经验看来是混出来
自己混也就算了,还装牛b,搞些故做高深的东西出来教坏小朋友就太坏了
-----------------------------------------------------------------------

国语没有学好,再看看吧

出0入0汤圆

发表于 2011-9-7 22:54:59 | 显示全部楼层
这个如果用C++的思想来思考的话,就是面向对像,尽量把多个对像找出共同属性,化抽象为具体,化具体为抽象……

出0入0汤圆

发表于 2011-9-15 15:20:54 | 显示全部楼层
看看!!!

出0入0汤圆

发表于 2011-9-16 15:35:13 | 显示全部楼层
呵呵,值得深思,值得好好考虑考虑

出0入0汤圆

发表于 2011-12-20 23:41:52 | 显示全部楼层
高深啊,学习了。。。

出0入0汤圆

发表于 2011-12-30 08:31:03 | 显示全部楼层
编程不能只看经验的,,,
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 01:45

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表