程序员、黑客及开发者之间的区别

一、背景

我翻译这篇文章,主要还是因为我自己迷茫了。

身边好多人跟我说,程序员市场已经饱和,别干了,创业去吧。但是不管是新闻还是国家的政策,都在宣传高素质人才紧缺。

我面临毕业,亲眼见到,

有大佬成功高薪入职大厂;

有中佬不顾薪资却仍然进不了大厂;

有小佬拿着比流水线还低的工资做了开发岗;

还有眼高手低、找不到工作、又想考研、却又不努力的渣渣,比如我。

这些人都是程序员,又不仅仅是程序员。

迷茫啊,就在Google瞎逛,输入了关键字Programmer and Developer...

这个是原文The Difference Between a Programmer, Developer, and a Hacker,下面是译文,仅代表我个人理解,请参照原文。

二、译文

经常会有一些关于Programmer,Hacker和Developer的讨论。该文中,我用程序员、黑客和开发者来代替了。我觉得大多数描述都或多或少存在一些缺陷,所以我希望从我的角度总结出,一个更加准确的定义。

  1. 程序员是能够通过计算机代码解决问题的那些人。他们的技术面很广,可以用任何语言来实现一个优秀的功能。
  2. 黑客是能够通过计算机编程来创造东西的那些人,他们对计算机有很浓厚的兴趣。这是“黑客”名词最原始的定义,比方说,你有了一个想法,你可以整合修改的东西,来最终实现你的需求,这就是黑客。当然了,黑客也适用于另外一些人,他们在原有的项目基础上,扩展改变原有的功能,甚至,以常人无法想到的方式来使用原项目。
  3. 开发者是那些有编程素养的程序员,也可以理解成科班出身的,相当于程序员Plus。他们不仅能通过计算机代码来解决问题,还能创造东西,并且这一切还是基于一套规范原则来做的,这套规则包括性能、可维护性、规模、健壮性、和理想的安全性(尽管不能做到100%)。

三者之间的差异:

  • 程序员用代码解决问题。
  • 黑客是一个思考者,同时又是一个创造者。
  • 开发者拥有顶级的编程素养,不仅能解决问题、创造事物,还是以有结构的、有规律的的方式来解决问题、创造事物。

三者之间的共同点:都是通过代码来解决问题。

他们的关系如下

  • 所有黑客和开发者都是程序员
  • 许多程序员、开发人员,没有足够的思考力和创造力被认为是黑客
  • 许多程序员、黑客,没有受过足够系统、丰富的教育,缺少专业的编程素养,无法被视为开发人员。

使用代码解决问题,本身就是一种超能力。理想情况下,一个编程人员,应该努力学习,来拥有成为以上三类人的资格。既要有足够的创造力被认为是黑客,又要有足够正规的素养和经验来设计软件,而不是简单地做一个程序员就知足了。

三、总结

翻译完上述文章,我明白了,原来程序员真的饱和了啊。

很惭愧,目前的我,连程序员都不是。努力Fighting...

原文地址:https://www.cnblogs.com/meethigher/p/14311393.html