您可能会认为,基于逻辑和学习的职业将不受民间传说的影响,但是开发人员社区仍然充斥着神话-神话如此普遍,它们开始体现出来。
如果所有编程神话都是正确的,那么编程世界看起来就像一群20多岁的极客(比其他人好10倍),他们在夜晚的所有时间都使用他们提高的数学技能进行编码。 嗯,您可能知道您是否在该领域,事实并非如此,开发人员本身也不相信该行业。 让我们调试这些神话:
1.优秀的编码员全天候工作
这是我们插入硅谷的图片的地方:一间穿着连帽衫的家伙挂在Red Bull IV上。 这有些道理,尤其是对于初创公司。 但是,并不一定一定要这样,研究表明长时间工作和睡眠不足并没有真正提高生产力。 实际上,努力与进步之间存在模糊的界限,通常是不切实际的期望的结果。 很多开发人员的家庭和生活不在编程范围之内,他们宁愿在正常时间离开办公室。 程序员社区将不会从寻求改进工作流的方法中受益,而可以通过敏捷方法设定现实的目标,而不会让这种想法持续下去。
2.离岸外包导致更便宜,更快的软件
离岸外包通常是相反的,公司只被这个想法吸引了,因为它
看起来
更便宜。 但是,以更少的钱雇用更多的程序员绝对并不意味着更快。 它涉及更多的通信开销,培训和重新分区工作。 离岸开发团队也倾向于更高的离职率,这意味着长期的预期效果将变得无效。 在这种情况下,内部团队必须弥补这一懈怠,节省下来的钱也就减少了。
3.离岸外包将破坏您的职业
如上所述,离岸外包并不一定会导致更便宜的软件更快地完成。 人们将继续尝试这种模式,直到它被证明毫无价值,但离岸外包并不会吸引美国的所有工作。事实仍然存在:语言确实很重要。 试图与离岸经理和团队进行沟通是不可靠且动荡的。 客户通常没有钱或没有耐心地与离岸团队打交道,然后转向该国可以更好地执行合同的开发商店。
4.更多的人检查,更少的错误
埃里克·雷蒙德(Eric S. Raymond)创造了这个名词,“给了足够的眼球,所有的虫子都是浅的”。 人们普遍认为,在开源软件中,由于任何人都可以采取措施,因此会发现,审查和修复错误。 确实,使用开源软件的人多于贡献者,而且大多数人无能力纠正代码错误。 换句话说,太多的厨师把汤糟了。 更好的方法是使用配备了完善的错误跟踪软件的集中团队。
5.数学技能决定编码技能
是的,没有。 数学技能不一定能成为一名优秀的开发人员。 如果某人没有数学上的倾向,那么他们在某些需要精明或实用的编程方面可能会更好。 在游戏之外,大多数开发人员仅使用基本代数和统计信息来了解代码的效率,甚至最小。
6.开发人员是天才
您不需要成为天才就可以成为一名程序员,您只需要学习的动力和能力。 程序员总是面临着令人沮丧的错误,而最好的开发人员是那些会反复失败并从错误中吸取教训的开发人员。
7.您可以只专注于一件事
学习永无止境,因为编程世界以飞速发展。 掌握一门语言是很聪明的,因为您将能够很好地工作并理解细微差别。 但是,永远不会只知道如何做一件事而陷入困境,最终您会知道无人使用的“传统”软件。
8.语言X更好
没有一种魔术语言可用于所有编码。 而是,每种语言都在编码环境中占据了特殊的位置。 这并不意味着某些语言在一件事上不会比另一种更好—您可以将Javascript用于交互式软件,但如果要快速执行某些操作,则可以使用C ++。 开发人员,一直在争吵,没有一种完美的语言。
9.您可以在几周内掌握一种语言
您也许可以在两到三周内学习某种语言的基本原理,但是您肯定不能成为一名高手。 掌握一种语言需要兴趣,耐心,最重要的是要有应用程序。 如果他们只阅读了所有医学教科书并接受了检查,您就不会希望医生为您做手术,而是想要一个花费了无数小时实际参加手术的人。 把自己想象成一个外科医生,因为要成为一个好的开发者,需要同样的肌肉记忆。
10.软件危机
1968年,埃德加·迪克斯特拉(Edgar Dijkstra)谈到了“软件危机”,指的是构建效率低下,预算超支,质量低且难以维护的软件。 今天,尽管没有真正的危机可言,“越野车”软件要花费数十亿美元这一事实声称“危机”。 软件并没有太糟糕,它一直在进步。 它以迅雷不及掩耳的速度占据了经济的很大一部分,并且随着新软件的出现,效率总是会出现问题。 不必惊慌,危机是神话。
11.交付软件时,您完成了
软件很少完成。 当然,管理人员和开发人员都希望相信大型多层软件会不断变化,开发该软件的开发人员并不完美,应用程序会发生变化,添加的功能会引入新的错误。 管理层和团队需要考虑支持和维护成本,并考虑产品必须维护才能保持竞争力的持续创新。
12.编码仅仅是编写代码的行为
管理层经常认为开发人员只是将构想转换为代码,而没有理解开发人员在此过程中所做的决策。 这是一个很大的误解,因为开发人员正在为项目的每个步骤构建和制定决策。 开发人员每天都会制定许多非功能性需求和设计决策,优秀的开发人员可以跟踪这些需求,与团队沟通重要的决策并就次要细节制定执行决策。
13.这不是一个创意领域
是的,这是技术和逻辑上的,但它也是一种艺术形式。 许多非程序员忽略了代码构造的美,有些开发人员甚至可能也相信这一点。 许多程序员会说这就像诗歌。 这绝对是一种创造性的努力。 保罗·格雷厄姆(Paul Graham)在他的《
黑客与画家》一
文中概述了编码的艺术性
。
14.开发人员的社交技能差:
许多人认为程序员是孤独的人,他们喜欢一直独自坐在电脑旁并编写代码,而且面对社会情况时,他们并不是组织的精明贡献者。 通常,这会导致经理与开发人员互动,而这种方式低估了开发团队的贡献。 当经理这样做时,他们就会冒着对一个充满怨恨的团队的风险。 开发人员会不断在他们的代码中做出决策,并且有各种形式和规模,仅仅是因为您喜欢编码并不意味着您更喜欢孤独。
15.开发人员认为经理无能为力
开发人员通常会认为管理人员没有技能并且在指导开发团队方面毫无用处。 事实并非如此,大多数经理确实知道自己在做什么,并且存在着保护团队不受干扰,为他们提供
最佳工具
,管理截止日期,预算并在需要时引入额外资源的作用。 人们倾向于将注意力集中在负面因素上,因此当事情变得令人沮丧时,管理人员会受到责备,但是
他们的目的
是使团队的工作更加顺利。
16.年轻的开发人员认为他们是热门
也许这只是年龄的征兆,但是在职业生涯早期,开发人员往往认为自己比有经验的开发人员更好。 他们学到了一种新技术,他们相信它可以提高生产力,并且比使用旧平台的人更有价值。 随着年龄的增长,许多开发人员会继续学习新技术。 刚从大学毕业的开发人员就忽略了一个重要因素:经验的深度和广度
是随着时间的流逝而来的
。
17.编程很无聊
每个人都对某事感到无聊,但您不会将自己的一生奉献给无聊的事。 编码可以令人着迷,它是架构,数学和语言的结合。 认为编码很无聊的人不了解复杂性,但是开发人员知道编码只不过是提出解决方案和学习而已-这怎么可能很无聊?
18. 35岁的开发人员职业生涯结束了
编程世界中的年龄歧视是真实存在的,但年龄并不是结束职业的原因。 陷入一种语言或无法学习新平台和技术的个人会为自己的关联性下降做出贡献。 这并不是说开发人员会完全放弃编程,许多会进入管理职位或创建自己的公司。 其他人在整个职业生涯中继续学习并热爱发展,这只是保持最新状态的问题。
19.开发者是一种商品
通常,人们认为编写更多行代码的人生产力更高,但是开发不是砌砖。 雇用便宜的程序员并期望这项工作完全一样是不合理的。 开发人员是人! 他们具有特定的技能,个性和知识。 像一种语言一样,有些程序员在一个项目上要胜于另一个项目,这才是影响效率的原因。
顺便说一句,如果您正在寻找GitLab / Github的替代品,请随时检查
Codegiant
。 我们拥有简单直观的UI / UX以及GitLab提供的所有功能:)
先前发布在https://blog.codegiant.io/20-programming-myths-5c6155964231
From:
https://hackernoon.com/19-little-known-programming-myths-mt543y43