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


 
有天和朋友聊天,朋友是国内一家大型互联网企业的一位技术主管,朋友把他将近十年研发工作积累的心血总结成两点,这两点朋友刚一提出来我并没有马上明白,只是大约有这么一个概念,我还没达到朋友在技术领域的那种高度,不能彻底领悟他深刻的思想。但我想与众多刚刚踏入IT技术研发领域的新人们分享一下这位朋友的思想,我尽全力来解释阐述朋友的话语,希望能给大家带来一些启发。
第一点是:不断抽象已知的东西。现实生活总是包括很多零散的东西,待解决的问题不会只有一面,所以抽取零散东西的共同属性,聚合不同角度的同一面向,成为从问题领域进入编程领域的第一步。抽象的层次越高,你架构设计就越简单。
第二点是:面对未知的东西用已有的抽象经验来模拟体验,从而不断调整直至达到可以控制未知东西的程度。有了上面第一点的基础,才可能到达这第二点的境界。现实问题总是不断变化着的推陈出新的,从未知到半知到已知,是人认识客观世界的一个过程,恰如人生从天真到懵懂到成熟的过程。
天才是什么?聊着聊着我们突然说到比尔盖茨,说到那些天才***,朋友和我都很兴奋。我问朋友,从他总结的两点来看天才是怎么实践这两点的?朋友想了一下说,天才就是生来就有那种抽象的能力,他并不一定局限于计算机领域的空间来看待问题,他拥有从这个世界其他领域来模拟体验计算机领域的天赋,他甚而可以抽象整个世界。
朋友的思想太博大高深,如我这般入行不久的初级程序员怎能领会?但我还是装作深有体会的不断点头,同时把朋友从山巅拉到山脚下。我说:“你说得太抽象了,不如你告诉一个起步阶段的程序员应该怎么慢慢通过实践来逐步达到这种境界吧。”我知道朋友在这方面颇有体会,他以前曾跟我提起他毕业后在第一家公司是怎么接受锤炼的。果然朋友很快开始阐述:“很简单,起步阶段就是专心的模仿。切记不要被那些乱七八糟的东西晃花了眼,什么j2ee与.net之争,什么soa的革命等等,你不要去关心这些东西。当你在公司上班时,会有这样一个矛盾,当你完成公司交待的一个任务时,你可能为了尽快完成任务用了很多别人现成的框架。这本身没问题,但何谓专心的模仿?就是说你在工作之余,需要来研究这些框架,你可以不用这些框架,而是用最原始的方式来写,你会慢慢体会到框架的约束,进而有对框架进行改进的欲望。但是最终你也会发现:其实任何一个框架都比你自己写的要好。然而在你不断模仿的同时你就得到不断的提高。”朋友越讲越起劲,又开始分析高手和低手在起步阶段的差异,“其实所谓学得快,所谓高手,就是说他在模仿的过程中不断比较自己写的东西和框架本身的差异,不断发现问题,想尽办法解决问题,思考得越多,你碰到的问题就会越多,这是一个正向循环,最终你的技术能力就会螺旋式的上升;而低手只会被动的等待问题,一旦问题自己觉得解决得差不多就放下了,这样自然就不会产生更多的问题,最终技术能力就始终停留在那个菜鸟阶段。”
朋友的话让我惭愧不已,我就是典型的不求甚解啊,问题解决得差不多就行,能运行就万岁,总是不去深究,这样给系统留下多大的隐患啊,而且也是对自己极大的不负责任。
聊完了技术方面的东西,我们想聊点轻松的,但是话题仍然离不开那些搞技术的新人们。朋友正好最近替公司招聘人才,面试了很多名校的计算机相关专业的一些毕业生。朋友说他们技术功底不够扎实,我说他们除了这个,心态也很浮躁,恨不得一参加工作就拿大几千的工资,一进公司就做项目经理,太眼高手低。朋友也深有同感,说面试的时候就有一种怪怪的感觉,而且朋友进一步将这种心态问题提升到编程提升到认识论的高度,“其实我觉得他们本质上是一个不能够正确认识自己的问题。认识论其实很简单,首先认识问题,然后解决问题。你说你想做项目经理,那么你需要具备哪些技能,技术上的,管理上的等,你需要多长时间来磨炼这些技能等。编程不也就是这样嘛,认识问题,抽象问题,进行设计编码最终解决问题,其实做所有的事情都是如此。”
跟朋友的这番聊天让我受益匪浅,而让我感受最深的不是上面提及的这些关于编程和心态两方面的道理,而是我体会到:技术人员并不像人们想象中的那么呆板,每个人都在以自己的方式活着,不断参悟人生的玄妙,而技术人员以一种更为奇特的方式和电脑搏斗,付出了更多的心血,当然体悟得也更加深刻,然而最终每个人都会殊途同归。
ljc3046的专栏
Trackback: [url]http://tb.blog.csdn.net/TrackBack.aspx?PostId=1600426[/url]

本文出自 51CTO.COM技术博客

转载于:https://blog.51cto.com/lovejava/60647

十年编程经验凝结 与新人们分享相关推荐

  1. 十年编程经验输给新晋AI工程师,6个月我们带你绝地反击

    据新浪科技报道,阿里AI labs年薪百万美元引进两位科学家. 除AI顶尖科学家外,华为也是为多位AI应届博士开出了200万的高价年薪. 19年9月,各大互联招聘企业陆续发布2019年人才就业趋势报告 ...

  2. 三十多岁学python来得及吗_三十岁宅男自学Python,以前没有编程经验|后院活动部...

    原标题:三十岁宅男自学Python,以前没有编程经验|后院活动部 小咖是一个三十岁的有志青年,自从几个月前开始在网上自学Python,在没有任何编程经验下进步神速. "第一周我平均每天看一章 ...

  3. 30岁学编程python_三十岁宅男自学Python,以前没有编程经验

    小咖是一个三十岁的有志青年,自从几个月前开始在网上自学Python,在没有任何编程经验下进步神速. "第一周我平均每天看一章,但是第六章(函数)非常沉重,现在要花一个星期才能完成一章.演习花 ...

  4. 从业20年的程序员,“盘”出来的5种编程经验

    AI 前线导读: 一个拥有 20 年编程经验的"熟手",编程干货有多少?本文作者是一名从业 20 年的程序员,他分享了自己这 20 年来学到的 5 种编程经验:重复的知识最糟糕.把 ...

  5. [置顶] 风雨20年:我所积累的20条编程经验

    原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务.生物技术.房地产.医疗.保险和公用事业.正如乔纳 森在文中所言 ...

  6. 20条编程经验(转)

    编者按:原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务.生物技术.房地产.医疗.保险和公用事业.正如乔纳森在文 ...

  7. 一位从业20年的程序员分享积累的20条编程经验

    编者按:原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务.生物技术.房地产.医疗.保险和公用事业.正如乔纳森在文 ...

  8. 风雨20年:我所积累的20条编程经验 (转)

    风雨20年:我所积累的20条编程经验 (转) 编者按:原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务.生物技术 ...

  9. 风雨20年:我所积累的20条编程经验

    原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务.生物技术.房地产.医疗.保险和公用事业.正如乔纳 森在文中所言 ...

最新文章

  1. java判断自己活了多少天_用程序计算你活了多少天
  2. 聊聊storm的LoggingClusterMetricsConsumer
  3. oracle替换表merge,sql – Oracle – 如何使用merge根据其他表和列中的值更新列
  4. HDU2106 decimal system
  5. mysql怎么消除冗余,mysql剔除冗余数据
  6. bmp180气压传感器工作原理_各种传感器工作原理汇总
  7. spark 尽量避免数据源的数据倾斜
  8. ubuntu16.04中ROS-Kinetic安装Arbotix
  9. Html制作简单而漂亮的登录页面-web前端教程
  10. 这篇文章说说特征工程(反欺诈与征信变量)
  11. MATLAB中调用eemd函数
  12. 【无标题】 2022淘宝天猫双十一喵果总动员玩法攻略
  13. 张朝阳:走出焦虑,不再焦虑
  14. 计算机双工模式,100M 全双工、100M 半双工、10M全双工几种模式分别测试
  15. 2021新宁二中高考喜报成绩查询,新宁一中、二中、崀高等校高考喜报!最高分684,全县大获得丰收!...
  16. HDU 5952 Counting Cliques(2016ACM/ICPC亚洲区沈阳站-重现赛)
  17. Html5酷播云视频播放器同层播放(代码实例)
  18. 上海域格NB模块主推型号介绍
  19. 通达OA RCE分析及复现
  20. 【转帖】你真的想看明白《穆赫兰道》那就好好看看下面这篇文章吧

热门文章

  1. stm32双向可控硅调压程序_双向可控硅的工作原理
  2. openjudge用c语言答案,OpenJudge - NOI - 1.4编程基础之逻辑表达式与条件分支(C语言 全部题解)...
  3. Python编程基础17:构造方法和析构方法
  4. Java Web学习笔记07:数据源、JavaBean与MVC模式
  5. Python数据分析学习笔记:计算相关系数
  6. 织梦charset.func.php,织梦程序百度php主动推送代码,亲测可用!
  7. python rq asyncio_python异步IO-asyncio
  8. 只调用一次_邹军:数控宏程序编程入门之程序的调用,老师傅用了都说好
  9. python清理垃圾_用Python自动清理系统垃圾,再也不用360安全卫士了
  10. okhttp请求php接口,安卓:okhttp请求,获取返回数据