哈ha 最近,我与一位同事讨论了编程行业已获得的常见定型观念和神话。尽管关于该主题的材料已经存在,但在我看来,这个想法值得在这里写一篇文章。所有来者-欢迎猫。
看来,这种基于逻辑的理性职业不太可能受到各种小说的影响,但是开发人员社区仍然面临着如此广泛的神话,以至于它们开始渗透到现实中。如果所有这些神话都是真实的,那么编程世界就像一群20岁的极客,他们会使用他们的高数学技能在白天或晚上的任何时间进行编码。如果您从事此领域的工作,您很可能知道情况并非如此。但是,即使开发人员自己也倾向于相信一些偏见。让我们弄清楚。
1.优秀的开发人员全天候工作
尽管不愿屈从于刻板印象,但是一个眼神昏昏欲睡,双手充满活力的人的形象立刻在脑海中浮现,这是任何程序员的不变属性。是的,这是有道理的-有时临近截止日期需要牺牲睡眠,尤其是对于初创公司而言。然而,这并非总是如此。
此外,每个人都早就知道缺乏睡眠不会增加生产力,但是会减慢该过程。很少有人对此情况感到满意,因为许多开发人员拥有家人,朋友和他们的个人事务,因此他们更有可能将自己的业余时间用于此。程序员社区应该寻找其他方法来改进工作流程,并遵循敏捷方法论,着重于目标设定,而不是培养这种想法。很少有人对此“磨损”感到满意,这不仅适用于程序员。
2.更多的人检查代码,更少的错误
由Eric S. Raymond发明的格言“足够多的眼睛,所有错误都浮出水面”意味着开源的优势,因为任何开发人员都可以对其进行审查并修复错误。实际上,情况并非如此,因为与愿意做出贡献的人相比,开放源代码软件拥有更多无法修复代码错误的用户。简而言之,七个保姆生了一个没有眼睛的孩子。在这种情况下,最好的解决方案是使用以问题为中心的团队并使用良好的错误跟踪软件。
3.数学技能决定开发技能
是的,不是,因为您无法确定哪些能力将成为您职业发展的决定性因素。迷恋数学并不能保证绝对成功,就像数学的迷恋不会导致失败一样。除游戏外,大多数开发人员仅使用基本代数和统计数据来确定其代码的有效性,但还涉及基本知识。
4.开发人员-天才
您不需要成为天才就可以成为一名程序员,您只需要具有动力和学习能力。错误是专业开发不可或缺的一部分,即使是精明的开发人员也都会犯错误。能够将它们转换成有用的课程,使您能够提高技能,这很重要。
5.掌握一件事就足够了
编程世界正以光速变化,这意味着您将永远有学习的知识。一旦您只掌握一种语言,迟早您将陷入僵局,需要灵活的解决方案。如果停止教育,您将陷入停滞并停止竞争,因此请做好准备,以在整个职业生涯中提高自己。
6.语言X更好
事实是,没有一种万能的语言可用于所有开发。每种语言在此环境中都占据特定的位置,并且是为特定目的而设计的。开发人员更可能使用JavaScript开发交互式软件,而C ++则专注于任务执行速度。关于一种语言相对于另一种语言的优越性的辩论是完全不适当的,因为每种语言都专注于与个人偏见无关的特定任务。
7.您可以在几周内掌握该语言
我不想消灭新手的热情,但是仅仅几个星期还不够。即使您可以在两到三个星期内学习该语言的基本原则,对于其他所有事项,您都需要大量的力量,毅力和实践能力。在没有兴趣和耐心的情况下,您将长期不够,并且不可能在短时间内掌握大量技能。
在程序员的工作和医生的工作之间要有一个相似之处:没有经验的外科医生如果没有良好的实践就无法进行成功的手术,就像程序员没有花时间研究所有方面就不会编写复杂的代码一样。换句话说,一个好的开发者和外科医生一样,都需要肌肉记忆。
8.产品投入生产=项目工作结束
实际上,软件很少完成。当然,管理人员和开发人员希望相信他们创建的大型多层软件可以使用很长时间。但是,随着时间的流逝,可能会出现需要修复的新问题,并且应用程序将发生变化并需要添加新功能,因此此过程是无止境的。请记住支持和维护成本,并投资于创新以保持竞争力。
9.编程只是编写代码
许多人错误地认为,开发人员只是将思想转换为代码,而没有理解编写过程中决策的实质。这是一个很大的错误,因为开发人员必须在每个阶段为问题制定抽象的解决方案,并在可能的错误发生之前对其进行预测,这需要对问题有深入的了解和理解。除其他事项外,他们必须处理许多非功能性需求和失败的设计决策,只有优秀的开发人员才能跟踪这些需求并将其清晰地传达给团队,从而自行做出较小的决策。
10.编程不是一项创造性活动
这种刻板印象通常是基于远离该领域的人们的肤浅想法,因为编写代码,算法和编程世界中的其他时光对于一个简单的外行来说似乎与创造活动无关。是的,逻辑和知识的科学技术领域无疑可以被称为编程的基础,但这并没有否定其创造性的一面。在某种程度上,这可以称为一种艺术形式,因为许多开发人员试图将代码设计精美,结构化并使其更整洁。这无非是一个创造性的过程。
11.开发人员社交能力低下
许多人认为,程序员是孤独的人,愿意将所有空闲时间都花在计算机上,一旦涉及到社交,他们就会失去智慧,倾向于与外界隔离。这个神话可能与第一点有关。
但是,程序员的地位,就像其他任何人一样,不会使您成为不友善的社交恐惧症,也不太可能影响您的性格特征。通过遵循这种刻板印象,许多经理与开发人员进行交互,从而他们的沟通投入被低估了。每个开发人员都是一个独立的人,具有自己的内部特征,他们喜欢编写代码并不意味着他们害怕人。
12.年轻的开发人员认为自己是最好的专家
也许这与年龄有关,但是在职业生涯的开始,许多开发人员倾向于认为自己比有经验的同事更好。他们掌握了新技术,他们认为这些新技术比使用旧平台更有效,而且更有价值。实际上,许多开发人员甚至在成长过程中都会学习新技术(否则,很难竞争并保持需求)。而且,刚受过教育的毕业生常常忽略了一个重要因素:经验的深度和广度是随着时间的推移而来的。
13.编程很无聊
您会把自己的一生投入到似乎无聊的事情上吗?答案是显而易见的,每个人都确定自己的兴趣范围。编程可以像其他任何活动一样有趣,因为它是建筑,数学和语言的混合体。发现发展无聊的人并不了解所有的微妙之处。但是开发人员知道,开发是持续的培训,寻找有效的解决方案以及有机会感觉自己像重要和有用的事物的创造者。会很无聊吗?
14. 35岁以后,开发生涯结束
年龄歧视是编程世界中非常真实的一部分,但是年龄并不是可以终止职业的东西。只能使用一种语言或无法掌握新平台和技术的人们正在为证实这一神话做出贡献。
这并不意味着开发人员在35岁之后就完全退出了编程。其他人在整个职业生涯中都对自己的事业充满爱心,不断学习和发展,这只是渴望获得相关信息并监视不断变化的愿望。
15.开发商是一种商品
通常,人们认为开发人员编写的代码行越多,它们的生产率就越高,但是开发并没有积木。雇用便宜的程序员并期望这项工作也能做到是愚蠢的。开发人员主要是人。他们每个人都有自己的特殊技能,个性特征和知识基础。与语言一样,程序员在某些项目中的性能要好于其他项目,这反过来会影响开发过程的效率。
结论
听到您在练习中遇到的荒谬刻板印象(对我来说,肯定有很多这样的印象)对我来说将是很有趣的。将您的选项留在注释中。