你听说过所有被捕的黑客,然后获得了杀手级的工作。
但话说回来,你可能听说过被解雇后破坏他们系统的IT工作人员。有些人还认为黑客攻击比保护系统容易得多。
问题是,你会雇用一名黑客吗?并且黑客做了一个更好的程序员?
附录
我之所以这么说是因为我知道有些人因为黑客攻击而首先对编程感兴趣,他们似乎对自己的编程能力相当自信。结果,感觉人们认为他们是最好的,但我总觉得尽管我不太了解他们的黑客行为。
答案 0 :(得分:27)
我肯定会雇用黑客,但我不确定我们对黑客的定义是否相同。对我来说,黑客是一个充满热情,驱动,全能的杰克编码员,他对所有事情都知之甚少,至少知道在哪里寻找如何做任何事情。在我的公司,我们经常聘请黑客,因为我们使用脚本语言和低级别的Unixy做了很多事情(至少我们的团队会这样做。)
您的问题实际上是否应该雇用 cracker 。这实际上取决于职位描述是什么,但只要你相信他/她不做任何违法行为,如果他或她是优秀的工程师,我会雇佣他。这对我来说真的很重要。
答案 1 :(得分:7)
答案 2 :(得分:6)
我会谨慎雇用一名黑客(因为我会谨慎雇用任何进行刑事或准犯罪活动的人)。我希望雇用一个(特别是出于网络安全的原因),因为他们熟悉其他人通常不会发现的漏洞,因此他们闯入系统的专业知识可以成为学习如何使这些系统更好的不可或缺的组成部分。
关于黑客制作更好的程序员的另一个问题......那是不确定的。有很多不同类型的黑客,很难说它是否会让他们成为更好的程序员。你可以说黑客可以成为优秀的程序员,因为面向分析的思维能够很好地转化为优秀程序员所必需的分析思维。
答案 3 :(得分:4)
这是两个完全不同的问题,但这里有:
你会聘请黑客吗?
说真的,为什么不呢?如果您的应用程序绝对是关键任务并且安全性是最重要的,那么这是测试应用程序是否存在安全漏洞的好方法。
当然,更难的部分是找出黑客是真实的还是只是一个想成为剧本的小家伙。
在我的国家a senator recently proposed to put up a hacking contest to test our country's new automated poll system,我认为这是找到弱点并建立该系统可信度的好方法。
黑客会成为更优秀的程序员吗?
嗯,有黑客和脚本小子。两者之间的区别在于,第一个在系统中找到缺陷是真正可理解的,而另一个仅使用公开可用的代码利用已知的漏洞。
如果这听起来不熟悉,那与爱因斯坦和莫特之间的区别完全一样。
此外,许多黑客都遵循某种道德规范,他们发誓不会造成任何伤害 - 脚本小子根本不关心,“只是想玩得开心”。
答案 4 :(得分:3)
我不会雇用一名“黑客”(在某种意义上,你的意思是:一名被怀疑或被定罪的罪犯),原因很简单:如果他们在道德上和道德上足够灵活,可以攻击一个系统,那么阻止他们再次这样做是什么呢? ,当他们这样做时,这就是我的公司和我的名声。
黑客会让你成为更好的程序员吗?
我同意TheTXI,黑客拥有的一些特性有助于建立一个优秀的程序员。这些将包括研究能力,开箱即用的思维和逻辑分析。
另一方面,“黑客”通常不是团队成员。他们经常寻求自己的名声,而不是他们公司或产品的成功。
答案 5 :(得分:3)
我的“逆向工程”经验。我花了一些时间分析DLL入口点,解析原始数据文件和IP数据包嗅探。
我能够通过逻辑和一些创造性的猜测来弄清楚线路上发生了什么,以及文件中的位是什么意思。从那里我可以劫持有线协议或拦截外部呼叫。
这很有趣,很有挑战性,但它强调并没有让我成为更好的程序员。也没让我变得更糟。利用编译代码中的弱点与良好的专业编程根本不同。我确实学到了一些关于程序表面区域和攻击方法的东西,但后来我不得不将它们转化为程序架构。这些更多是关于结构而不是内容。
对于一个“好”的程序员来说,重要的是能够生成尽可能复杂的代码,但不能再生成。能够解析脑中IP数据包的内容是一项很好的有趣技巧,但不会告诉我你的软件设计技巧。
要回答OP的问题,如果他们善于编写软件,我会雇用一名黑客。我认为它不会让你成为更好的程序员。 可能帮助整体系统设计,但您可以在没有攻击者经验的情况下学习这些课程。
答案 6 :(得分:2)
Hacking会教您有缺陷的软件,并向您介绍设计安全软件时的实际困难。根据最初的问题,我会雇用一名黑客来测试我的系统的安全性。我可能会避免在涉及HIPPA,PCI或PII数据的项目中聘请臭名昭着的黑客。
答案 7 :(得分:2)
击倒沙堡要比建造沙堡要容易得多。
这同样适用于构建软件系统或批评遗留代码。