你弄清楚自己是程序员还是开发人员了么?

程序员还是开发人员,你是哪个?在回答之前,有些人可能会想程序员和开发人员不是一回事么?如果你也是这样想的,那你可要认真看看这篇文章了。

软件开发和编码是两回事。前者通常包括后者,但也并不总是如此。编码的产物是一系列的代码,而软件开发则创造了产品。尽管大部分人都自称开发人员,但可惜的是,现在IT行业大部分的新鲜血液都是程序者。他们缺乏一种将产品创造者与代码编写者区分开来的重要技能。

让我们从小明的经历中来看看程序员和开发人员的区别吧!

小明的简历上写着,他是一位非常熟练的Java开发人员。他在这个行业工作了十几年,做过一些企业项目,似乎是个经验丰富的老鸟。新公司决定录他,安排他进了一个项目组并给了他一些有关票务系统的任务。在几个小时之后,小明给他的领导发了一条非常长的消息,说到:我很高兴能够参与这个项目,但是目前我还不了解我们的项目是什么,我需要一些帮助。在消息的最后附上一个问题列表。

他的领导回答到:欢迎你的加入,但是我没有时间回答你的问题。而且如果你明天退出这个项目,那我的答案就完全被浪费了,或者如果还有别人加入了我们的项目并且有完全相同的问题,那我可能还要为他再解释一次。

小明很可能认为他的领导是一个傲慢的人,但他能做什么?他只能看完了领导的消息之后,回复“好的,我明白了”。然后在半个小时内,小明又给他的同事发了一个邮件,邮件标题是“问题”,描述是“帮助我理解项目”。

这并不是单纯的说小明不知道该如何使用票务系统,他之前的工作环境可能非常的舒适,周围的人都是他的朋友,他们甚至都不需要开会讨论问题。当新领导要求小明做一些他从未做过的事情时,他都不知道该从如何入手去做。

你弄清楚自己是程序员还是开发人员了么?

老板认为小明并不是一个合格的软件开发人员,他只是一个程序员。他不了解现代软件项目的动态,不知道如何使用工具,也没有开发人员的技能:

搜索和查找信息;

提交问题,收集答案;

将新知识添加到存储库;

提交代码更改;

以书面形式讨论和回顾各种变动;

维护知识库中的更新。

相比编写代码来说,软件项目开发更像一个社交活动。对开发人员来说,了解如何与团队互动和处理信息比知道如何使用设计模式更为重要。开发人员也写代码。优化和简化代码固然重要,但开发人员通常会优先考虑其它因素。虽然数学技能不是必须具备的,但有助于了解与所在领域相关的常见问题及解决方案。沟通和人际交往能力是最重要的。软件开发过程和团队活力是赖以生存的技能。他们是不依赖任何真正专业技术的全才。他们擅长绕过问题,集成组件,从而满足一系列要求。在个人时间里,他们不是在尽力构建下一个Facebook,就是参加与编程、开发或者计算机科学无关的活动。

最后,需要强调的是,程序员和开发人员不是一回事。正在看文章的各位,你是程序员还是开发人员呢?