低级程序员认为自己与高级程序员的区别:高级程序员任何功能都能编码实现, 编码速度快, 代码无 bug。

正如一惯的那样, 低级程序员之所以低级, 正是因为他们勉强能看到(或者根本看不到)事物的表象而看不到本质。

我们来听听高级程序认为自己与低级程序员的区别是什么。

高级程序员之所以高级, 在于他们认识到代码 bug 是不可避免的, 有千万种理由可以导致 bug, 但他们可以在设计和逻辑上保证(追求)滴水不漏, 并用逻辑的百分之百准确性来减少代码 bug。 没错, 严谨的逻辑能力是高级程序员区别于低级程序员的最主要原因。

类似于武侠小说中的武术一样,程序员也分内功和招式。

招式就是各种编程技巧和编程概念(框架,架构等),通过经验可以不断习得。而内功就是数据结构 + 算法了,招式可以决定你干活的速度,而且绝大多数情况下,不需要深厚的内力(知道加减乘除就行)。而内功可以决定你解决问题的高度,就是说一件事情难到一定程度,内力不够的话是解决不了的。

优秀程序员的行为:

拿到任务,就开始仰望星空或天花板上那盏高悬的电灯棒,状如老僧入定

忽而皱眉,忽而展颜一笑,忽而手舞足蹈,忽而在纸上指指戳戳,忽而口中念念有词,忽而长吁……感觉有点神经病啊

桌子上摆的是代码大全、设计模式、敏捷实践之类的书籍,并且没有灰尘

chrome或firefox的书签栏里分门别类,类别多于10个,8个以上是技术相关的

容不得破窗户,看见别人的烂代码就想改过来

随手就能在白板上画出软件的流程图或者时序图……普通程序员的行为:

拿到任务就开始噼里啪啦敲键盘,一天写了好几千行代码

没事儿就被测试MM叫过去沟通……

都早上10点多了还想着昨晚的球赛,10点半就琢磨中午要吃拉面、扯面、刀削面、牛肉面、旗花面、臊子面、窝窝面还是炒细面……

过了一阵子,看到自己的代码,感到很惊奇,认为是别人写的……

低级程序员成为高级程序员在于他做到了:

1、勇于去研究你不懂的代码

一般人都不愿意去研究自己不曾接触过的代码,很多人都没有尝试就放弃了。如果你经常去研究你没有接触过的代码,你就会越来越熟悉不同的代码结构和设计模式。现在人们很容易就接触到优秀的开源代码资源,你可以很方便的就下载下来做一些改动或者调试,去研究为什么代码可以这么写。

除了代码之外,很多人对于陌生的工作内容也会感到恐惧。每次换工作的时候,你可能都会遇到新公司的工作内容和以前工作的内容不一样的情况,以至于刚开始的时候工作效率没有以前那么高。很多人甚至觉得,他们是不是骗了面试官。

2、精通代码调试(debug)

很多人在写代码的过程中,经常会有的一个问题就是:为什么我写出来的代码不能运行?为什么运行的结果不是我想要的?

几乎所有的程序员写代码都不是一遍就能写好的。但是顶尖的程序员非常快的就明白自己代码的问题可能是什么。这是一个很重要的能力,但是偏偏学校里不教,面试的时候考官也不经常提及。

3、程序员是一种职业,而黑客是一种兴趣。

4、程序员的工作有很多限制,而黑客可以尽情发挥。

5、程序员都想把自己说得更好,因为他们要推销自己,而真正的黑客更谦虚,他们知道自己懂得还不够多。

6、程序员是一种“职责”,需要的是对编程语言的使用,更希望尽快完成工作,而不是探寻为什么要做这项工作。

黑客是一种“心态”,对技术有着极大的好奇,希望理解核心的工作原理,喜欢创造。尝试理解如何工作,如何做得更好,如何让事情做得特别。黑客就像艺术家或哲学家,同时有着科学工程的天赋,有很多“为什么”和“为什么不”。

7、程序员和黑客,就如同画匠和艺术家,工匠和DIYer,教科书的方式和创新的方式。

8、程序员的目标是写出程序,完成需求,而黑客是要让程序为自己而用,满足自身需求。

9、程序员和黑客都在写代码,只是黑客把不可能变为了可能。

低级程序员和高级程序员的区别在哪?学会像高级程序员一样思考!相关推荐

  1. 数控程序中r及q代表什么_你想学会数控宏程序编程,推荐你套数控编程教程

    上两篇文章我分别用了两个不同类型的案例,阐述了<利用数学公式编写数控程序>的步骤: 第一步:设定变量带入方程式 第二步:利用方程式算坐标点 这两个步骤看起来非常简单,简单的就像是废话一样, ...

  2. 微信小程序和H5网页之间有什么区别?

    微信小程序和H5网页之间有什么区别 本博主语录:小程序和H5网页的主要开发语言都是 JavaScript ,所以通常小程序的开发会被用来同普通的网页开发来做对比.两者有很大的相似性,对于前端开发者而言 ...

  3. 好程序员打造核心教培天团,着力培养IT高级研发人才

    随着数字化进程加快,各行各业数字化转型迫在眉睫,技术人才战略成为企业发力重点,IT高级研发人才已经成为企业的"核心资产",对企业发展起关键性作用,然而市场上高级研发人才极为稀缺.据 ...

  4. 一个即将30岁Java程序员的自诉,在内卷的大环境之下迷惘的大龄程序员该如何破局?

    就是想写点什么 不知不觉自己即将步入30岁,到了很多人口中的中年,有时候一直在回想,这些年自己到底做了些什么,留下了些什么? 步入社会 毕业 2015年7月我从一个90%以上的人都不知道的二本院校毕业 ...

  5. 女性程序员的职场现状,00后女生更愿意成为程序员!

    女性一直是程序员职场的"稀缺物种",不过情况正在发生变化. 10月24日程序员节当天,腾讯课堂联合猎聘正式发布<中国女性程序员职场力大数据报告>,报告显示程序员领域不再 ...

  6. 英语很差,可能不会阻止你成为一名程序员,但一定会限制你成为一名“优秀的”程序员...

    作者 l 会点代码的大叔(CodeDaShu) 我在很多平台上发表技术类的文章,收到过很多朋友的私信,问一些技术类和程序员职业发展类的问题,常见的问题比如"我已经 XX 岁了,想转行做程序员 ...

  7. python程序员招聘信息-为什么企业很难招聘到好的python程序员?

    原标题:为什么企业很难招聘到好的python程序员? 近年来,Python 横扫了各大语言排行榜.在世界脚本语言排行榜中,Python 强势登顶;在 TIOBE 编程语言排行榜中,Python地位也在 ...

  8. 传闻中“日进斗金”的程序员,你真的了解吗?看完还想当程序员?

    提到程序员你会想到什么,技术人才好就业工资高?年纪轻轻头发就没有了?比肩马德里竞技的格子衫军团?许多人都有程序员的打算,无论是出于兴趣.向往还是好奇.但你真的了解程序员吗?想揭开那些神秘的面纱,程序员 ...

  9. 程序员的梗_程序员都背着大书包,里面到底装的什么?程序员们:钱、电脑.....

    程序员的典型形象是什么?大概就是穿着格子衫.背着大书包的形象吧? 不明白为什么程序员都喜欢背着大书包,一位网友发出灵魂拷问:地铁上的程序员都背着大书包,里面到底装的什么? 程序员们翻了翻自己的大书包, ...

  10. 程序员的自我修养 pdf_软件特攻队|C/C++程序员的自我修养(5)

    什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是.对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了. 如果要 ...

最新文章

  1. 免疫算法(二进制)算例(源码实现)
  2. Swing和JavaFX:使用JFXPanel
  3. iOS开发UI篇—使用storyboard创建导航控制器以及控制器的生命周期
  4. 死锁终结者:顺序锁和轮询锁!
  5. 总帐明细账对账不平数据库修改
  6. matlab入门4-mdlInitializeSizes解析
  7. Influxdb中Select查询请求结果涉及到的一些数据结构
  8. android 全局 窗口,学习笔记:WindowManager显示Android全局悬浮窗口
  9. 怎么修改html游戏存档,星露谷物语存档修改图文教程 怎么修改游戏数据
  10. Message启动菜单个性化制作工具V1.0.3.1最终版
  11. php 登陆代码,php登陆代码_php实现简单用户登录功能程序代码
  12. excel冻结行和列_excel如何冻结首行、首列、指定的行和列,这样看数据就方便多了...
  13. 在idea中部署Tomcat
  14. [连载2]互联网究竟是什么怪物…他们不愿公开真正秘密...
  15. 电商维权,维权方法汇总【超全】
  16. 为什么父类引用可以指向子类对象 子类引用不能指向父类对象 泛型
  17. 讲座回顾丨5G的全新可能:基于Smart Edge Open和EdgeX构建5G MEC
  18. Spring整合swagger
  19. 如何测试数字硅麦软件,硅麦克风技术规格及测试方法
  20. 值得收藏的Java 命名规范参考!

热门文章

  1. Python基础之:struct和格式化字符
  2. redis持久化策略梳理及主从环境下的策略调整记录
  3. 算法训练营02-预备知识和时间复杂度分析
  4. 【最新合集】编译原理习题(含答案)_1 绪论_MOOC慕课 哈工大陈鄞
  5. 触发Full GC的原因
  6. Spring注解 (更新中)
  7. 服务器禁止修改目录,目录服务器限制 (Sun Java System Directory Server Enterprise Edition 6.2 发行说明)...
  8. 多维数组的索引与切片_Numpy库使用入门(二)数据的索引和切片
  9. strstr函数_[LeetCode] 28. 实现strStr()
  10. python3 mysql同步_MySQL上云同步脚本-Python3