首页 » 编程知识 » 低级程序员和高级程序员的区别

低级程序员和高级程序员的区别

admin 编程知识 61 次浏览 没有评论
程序员精选俱乐部

软件蚕食一切,未来属于程序员。所以人人都想当程序员。但是并不是每个人都能当好程序员。在你做出决定前还是先看看自己能不能当好程序员吧。

低级程序员和高级程序员的区别

要记住的是,编程不是什么精英才能干的事情。

这个行业永远都缺人。所以除非你一点都不喜欢编程,或者也没有准备好看在钱的份上忍住这种不喜欢,否则都可以来编程。

低级程序员认为自己与高级程序员的区别, 主要是高级程序员任何功能都能编码实现, 编码速度快, 代码无 bug. 正如一惯的那样,低级程序员之所以低级,正是因为他们勉强能看到(或者根本看不到)事物的表象而看不到本质. 所以, 低级程序员总结出的一切东西, 你都可以大胆的忽略。

低级程序员和高级程序员的区别

编程的秘密

每个人在技术的成长过程中都有不同的经历,对于我来说现在的总结大概是如此(ps:有兴趣可以参考过去的那些语言)。

当我开始学习第一种语言LOGO时,我还小觉得很神奇,至少对于计算机还是保持神秘的。

当我开始学习C++时,由于作者对于其优雅的宣称,我觉得C++确实很优雅、

当我开始学习Python的时候,我发现简单才是我所要追求的。

当我开始学习Ruby On Rails的时候,我发现生成可以很强大,但是因为强大,所以没有意思。

当我开始学习Django的时候,我发现这才是我想要的订制。

当我开始写博客的时候,我觉得比于HTML来说,Markdown才是适合我的。

当我开始写下此文时,我开始觉得我应该试着去做点什么。

于是我又回到了原点,开始迷茫我想要的是什么?当我实习半年以后,我学到了更多的东西(实习半年后:正在变得高效),而我开始的时候我才在偶然的一次机会中才了解到,我们用的都是工具。只是,我们可以用工具创造出工具。

 

【勇于去研究你不懂的代码】

一般人都不愿意去研究自己不曾接触过的代码,很多人都没有尝试就放弃了。

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

除了代码之外,很多人对于陌生的工作内容也会感到恐惧。

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

【重视能够节约时间的工具】

打败人类的 AlphaGo 每天可以进行上百万局的下棋训练,我们人类一万个小时的训练却需要10年之久。也就是说,电脑运行几分钟,可能就等于人类工作好几年。

很多人也认为工具是很重要的,但是他们并没有花时间去制作、整合自己的工具。

但是,Jonson 团队最出色的员工耗费了他们 1/3 的时间在工具制作上,这些工具可以用来发布代码,监控系统,以及能让他们花更少的时间去做更多事情。

总之,不要花时间去做机器可以代替你去做的事情。

文档能力

“文档是第一生产力”,这一点在程序员的世界是毫无异议的。看看Spring,hibernate,Struts等最流行的开源软件的文档就知道,他们tutorial,他们的getstarted,他们的reference文档写的多么的易懂。

如果要获得更高的报酬,文档是绝对关键的因素。有文档就有沟通,就有交易。搞技术的容易忽视文档的力量,也因为写文档十分困难,更多程序员选择舒适区,习惯写下代码,但正因为如此,妨碍了不少程序员的进阶。

解决BUG的效率差别

普通程序员可以利用搜索引擎(百度)寻找答案,经常性找不到好的解决办法,然后更换技术方案!顶级程序员也利用搜索引擎(Google)寻找答案,一般bug都顺利解决(其实跟前期框架选择等关系非常大)。

初级程序员认为自己与高级程序员的区别, 主要是高级程序员任何功能都能编码实现, 编码速度快, 代码无 bug。 初级程序员之所以初级, 正是因为他们根本事情看不到本质.

高级程序员之所以高级, 在于他们认识到代码的 bug 是不可避免的, 严谨的逻辑能力是高级程序员区别于初级程序员的最主要原因。

程序开发就想中国的武术一样,分内力和招式。招式就是各种编程技巧和编程概念,通过练习可以学会。而内力就是数据结构和 算法了,招式可以影响你工作的速度,而且绝大多数情况下,不需要深厚的内力。内力可以决定的是你能解决问题的高度。

架构型

这类程序员比实现型更进一步,他们经验丰富,对相关框架和工具等都很熟悉,“完成功能”“稳定性”“性能”这些已经不再是他们的追求,更优美的代码、更合理的架构才是目标。

这类程序员代码设计大多建立在对需求的详细了解和对需求变更的预测上——可扩展性较好;代码细节也尽量多的考虑边界情况、性能——稳定高效;代码命名和注释都恰到好处——可读性较高;同时在开发过程中他们会不断重构,对代码做减法——保证项目可持续发展;等等。

但由于考虑问题较多,单从“实现功能”阶段来看,完成速度不一定会比“实现型”要快。只是到了项目中后期优势才会慢慢体现出来。

“菜鸟”和“大神”

刚刚走出就业的程序员,技术是刚刚起步的基点。那下面我们就聊一聊有关技术 的东西。首先请您先想想这几个问题。现在社会上有很多程序员,CSDN就是我们程序员的家,那您是否可想过程序员为什么会有不同的水平?你又是哪一类的程 序员?“菜鸟”程序员和“大神”程序员差在哪里?真是差在技术上了吗?那不是差在技术上那差在了哪里?

上面很多一连串的问题,没有把你搞晕吧!那就听我一一给您分析这个问题背后的答案。确切的说程序员分为“菜鸟”程序员和“大神”程序员。

一个程序员有多优秀,就得看他写的代码!程序员自己的代码才是自己工作状态的真实体现。

义乌奥美编程,转载链接。

本文永久链接: http://code.ywbb.com/165.html

发表评论

Go