如何区分一个程序员是“老手“还是“新手“?

Posted 芯魂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何区分一个程序员是“老手“还是“新手“?相关的知识,希望对你有一定的参考价值。

    除多年编程经验之外,还有什么能区分一个程序员是“老手”还是“新手”?编程技巧当然是一部分,但它绝非是全部。
    聪明的程序员可能比他们的同行拥有更出众的编程技巧,但那不足以说明他们就是“老手”。同样,仅仅因为拥有10年编程经验也并不意味着他们就是高手。在工作岗位上,拥有多年编程经验也不能说明问题。即便没被炒鱿鱼,那也不能提升你的价值。

    下面列举的事情是大多数高级程序员都会做的。

1.至少掌握一门编程语言

 

    我相信有些优秀的程序员只懂(并精通)一门编程语言,但在某种程度上而言,这其实会限制一个人的思维。就像当你手拿一把锤子时,任何东西看起来都像钉子。我认为,知道并成功使用至少一门编程语言,这是程序员从新手走向老手的重要一步。我要说的是,像javascript和SQL这样的辅助编程语言,只有当你确实已经开发了完整的应用程序,并在其中使用这些编程语言时,它们才有价值。 

 

2.工作之余也经常编程

 

    我抱怨过把开源作为招贤的一项要求,但那仅仅因为许多充满激情的程序员把时间花在别的地方。除了对开源有所贡献,你还可以做兼职顾问,兼职创业,开发自己的产品或者创办自己的微型软件公司。当然,你也可以尝试从外部接些兼职项目,可参考伯乐在线的这篇《成功接项目需要注意的几个要点》。

注:mISV即MicroISV,是一个只有一名员工组成的软件公司,是一种微型公司。
 

3.经历完整的软件开发过程,从概念设计到产品实现,再到产品维护
 

    有的程序员希望不用自己动手就可以得到详细的设计说明,然后把缺陷代码交给测试/维护小组,这是平庸程序员的一个缩影。任何称职的程序员都会跟客户密切合作,去制定需求分析,然后编码实现,当然也要维护。如果你在编码实现阶段偷懒了,那你在维护阶段不得不付出代价。 

 

4.不断创新

 

    创新就是做一些你身边的人没有做过的事情,用来改善你的过程或产品。你不一定非得是世界上第一个做这件事的人,只要发现一个问题,找到解决方法然后实现它就行。 

 

5.编写的软件能解决实际问题

 

    有一副虚构的场景:一名黑客,仅仅是出于对技术以及自己所做事情的爱,一天到晚都在编写代码。但这几乎无助于成就一名优秀的开发者。事实上,我曾见过有些开发人员和客户争论,来采用更好但不太有助客户的技术。这会适得其反。你可以利用自己的时间来完善。但涉及工作时,你最好还是编写能实际改进并解决问题的代码,而不是使用那些不同寻常的算法或接口。

这些问题对于任何想成为高级开发人员的朋友来说,都合情合理。因为这些问题和拥有多少年编程经验并没有关联。如果你能做到上面4-5条,那你就是高级程序员。

以上是关于如何区分一个程序员是“老手“还是“新手“?的主要内容,如果未能解决你的问题,请参考以下文章

编程老手的哪些特点,值得新手学习。

Java程序员新手老手都离不开八大开发工具

自学编程编程学习中的致命误区:新手老手都可能中枪

怎样让百度快速收录(适合新手学习,老手参考)

软件测试的快速入门一(新手必看,老手绕道)

如何在Windows下配置搭建PHP环境