低级程序员认为自己与高级程序员的区别:高级程序员任何功能都能编码实现,编码速度快,代码无bug。
正如一惯的那样,IT培训认为低级程序员之所以低级,正是因为他们勉强能看到(或者根本看不到)事物的表象而看不到本质。
我们来听听高级程序认为自己与低级程序员的区别是什么。
高级程序员之所以高级,在于他们认识到代码bug是不可避免的,有千万种理由可以导致bug,但他们可以在设计和逻辑上保证(追求)滴水不漏,并用逻辑的百分之百准确性来减少代码bug。没错,严谨的逻辑能力是高级程序员区别于低级程序员的最主要原因。
类似于武侠小说中的武术一样,程序员也分内功和招式。
招式就是各种编程技巧和编程概念(框架,架构等),通过经验可以不断习得。而内功就是数据结构+算法了,招式可以决定你干活的速度,而且绝大多数情况下,不需要深厚的内力(知道加减乘除就行)。而内功可以决定你解决问题的高度,就是说一件事情难到一定程度,内力不够的话是解决不了的。
优秀程序员的行为:
拿到任务,就开始仰望星空或天花板上那盏高悬的电灯棒,状如老僧入定
忽而皱眉,忽而展颜一笑,忽而手舞足蹈,忽而在纸上指指戳戳,忽而口中念念有词,忽而长吁感觉有点神经病啊
桌子上摆的是代码大全、设计模式、敏捷实践之类的书籍,并且没有灰尘
chrome或firefox的书签栏里分门别类,类别多于10个,8个以上是技术相关的
容不得破窗户,看见别人的烂代码就想改过来
随手就能在白板上画出软件的流程图或者时序图
程序员:做编程的底层开发工作,写代码,不停的写代码软件设计师:其实这个概念不太清楚,跟架构师类似,就是要分析设计这个软件的整体概念,就像盖房子要先画图纸,然后分给不同部门的人去建造,其实在现在,一般叫项目经理,或叫开发经理网络工程师:设计整体的网络的人,跟软件设计师差不多,不过做的是网络工程。网络管理员:与程序员类似,重复性的技术工种。系统分析师:这个也是个比较模糊的,系统分析类似医生的,可以通过自己的经验和从业经验,对某各软件或某项工程进行分析,优化,从而帮助架构师或项目经理用最短的时间做出最满意的东西来。其实你分的这几个,都是计算机里的职位,你重新分一下类好了软件开发里面分为:程序员,软件工程师,软件架构师和系统分析师网络工程里面分为:网络管理员,网络工程师,网络架构师和系统分析师如果是工资高,级别高的,就是架构和分析了,但是。。。。强调一下,这两个职位不是有技术就可以的,需要大量的经验,一般都是从程序员开始做起的,才有资格。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)