为文章撰写答案既简单又有趣。 您不必花数小时来仔细研究文章的结构,就足以遵循别人的计划,只需要在纸上清楚地表达您的想法即可。 尽管如此,我冒昧地建议,由尊敬的
eugene_crabs对“
IT的恐惧与厌恶 ”一文中提出的问题进行“另一面”的批判性观察仍然会很有趣。 今天,我是捍卫不人道系统的魔鬼的拥护者。

不像他,我不戴流苏,说实话,我的发展经验也少了两年,也没有专门的教育。 但是我对工作的基本兴趣没有问题,在我看来,原因是对现实的看法略有不同。
面向广大读者的文章。
RE:过于复杂
本节原件当我在腺体上工作时,我真的很喜欢通过该事物的工作原理看到的属性-字节移动,这发生在内存的哪个区域以及编译器如何处理代码。 有一种平静和控制的感觉。 过一会儿,当我切换到后端开发时,我为EJB或同一个弹簧无休止的xml配置大笑。 我知道将来会有什么。 现在,我只是不了解(并且已经很沮丧了)我简单的附件中发生了什么。 一堆抽象层,容器中的容器,大量手册,脚本,工具,版本,配置文件。 我至今仍未弄清楚该项目的部署方式,这已经有六个月了。 当然,至少在第一步中,您不能制造整体。 一定要立即将所有内容都划分为微服务,因为它是对的(在会议上,他们说他们在X公司这样做)。 当然,我们不能使用旧的Apache HTTP客户端每隔几分钟访问一次我们需要的服务,因为该客户端不是异步的,并且没有内置的速率限制器,反压机制或其他流行的功能。 对于我的问题,“为什么每分钟1个请求的负载需要所有这些?”同事们的脸上只有一个可耻的表情,在他们额头上闪着“这是您的愚蠢”字样。
一个单独的主题是Javascript先生及其无数的框架。 老实说,我不明白对于一个只需要在网页上绘制表格并不时发送后端请求的工具可以发明多少东西。 我做后端很好。
在前端示例(不仅是前端示例)上,我们可以清楚地看到自己的工作方式:让我们在服务器端->现在在客户端->然后在服务器上再次执行所有逻辑,等等。 让我们用一种语言编写前端和后端->现在用不同的语言编写->然后再用一种语言。 让我们为数据格式制定方案->仅针对旧计时器的方案->而不是,方案都是一样的。 我的一个支持者将他的开放源代码库从yaml转换为xml,这仅仅是因为那里有方案,当您对一个巨大的配置进行咯咯笑的时候,这很棒,而且知道XSD的IDE可以为您完成一半的工作。 从上面得出以下问题。
当然,操作简单的系统很好。 当您了解最小工作原理时,我就会理解魔术:当您深入到汇编程序和机器代码的级别时,以及当您更深入地了解处理器时,它就是一系列逻辑门。
当前的情况是,处理器的软件和硬件的主流发展已经远远不能单凭一个人对它的工作原理的清晰理解:处理器充满了生成的逻辑,多级缓存和分支预测器,以至于它们中的错误并非如此。它们并没有被整个开发团队所注意到,甚至没有被假定,它们如此猛烈地爆发,以至于它们的效果突破了用户水平。 此外,我们被迫拖着一大堆旧功能,以确保向后兼容,否则我们将在速度和简单性上获胜,但会失去最初设计的目的。
软件的情况也是如此:仅在狭窄的专业领域中,理解,甚至编写汇编指令的知识仍然存在,并且框架和抽象层在用户的生活和生活中占据着主导地位。
从想要控制自己的代码和机器的人的角度来看,这很糟糕。 从用户的角度来看-很好,因为它简化了理解,工作以及从构思到产品的制造过程。 我们为用户的这种愿望付出的代价是,程序功能的复杂性立即消耗了不断增长的处理器容量,这似乎没有任何道理可言,也没有任何好处(电源,正如他们在我之前的工作场所所说的那样)。
但是,如果您进行更深入的研究,结果表明我们正在更改这些资源,以通过简化交互来增加受众。
以前,机票航站楼要求掌握缩写词的知识,了解航空公司的工作方式以及使用文本航站楼的能力,现在,任何用户都可以前往有条件的Aviasales,并在困难的路线上购买便宜的机票,而没有太多的痔疮。

您不能使文本终端上的普通用户理解该界面,因为界面的清晰度是监视器的分辨率,不惊动大脑的精美图片,漂亮的字体以及将鼠标悬停在按钮和触摸界面上时会弹出的提示。
而且,还可以测试所有这些芯片,并着重于用户行为。 在瀑布上工作时,您每年发布一次版本,并全年收集有关当前版本的反馈。 直到界面的某个阶段,您需要十年,十个版本。 通过推出较小的更正并在此处进行测试,您将在一年半的时间内进入同一阶段。 但是这样的工作需要不同的步调,其他工具和技术以及对某些事物的拒绝。 老实说,从舔代码开始:现在一切都应该工作,因为这需要一个这样的过程。
作为交换,对新功能的疯狂竞争为我们提供了不断增长的用户基础:按下按钮越简单,可以按下的人就越多,不断增长的用户基础不仅为您的薪水带来了收益,还为新硬件的开发带来了收益。 生产性使用智能手机的人越多,他们购买的越多,下一个版本中的硬件就会越好。 我们立即将这种熨斗而不是飞往火星的航班,而是向越来越多的观众交换这一事实……好吧,这可以与一家公司将其全部收益投资于开发而不是将其年报中的股息和利润进行投资相比较。 直到现在,由于某种原因,您才证明马斯克和贝佐斯何时这样做是合理的,但您不能为行业辩解。
无论好坏,都可以争论。 一方面是软件的质量,另一方面是硬件,观众和行业中高薪的不断进步。 也许我会选择第二个(尽管我希望放慢速度),但我理解选择第一个的人。
但是有一件事会团结我们-我们对此无能为力。
RE:太多事情
本节原件工具,语言,书籍,会议,框架等 在那些日子之后的很长一段时间内,对于软件开发而言,足够了解一个PL,几个库,仅此而已。 现在,我们正在等待数百种框架,其中包括十几种语言(甚至在一个项目的框架内),时尚而不是DBMS,无处不在的消息代理,数百平方公里的分布耙和其他乐趣。 通常,普通程序员没有时间研究所有这些工作(除了项目中已经使用的工具外),因为您需要进行研究。 许多人不得不花时间研究这些技术,尽管最有可能研究的90%永远不会有用。 我本人的口袋里有500篇文章,会议上看不见的视频观看次数,每次致电Habr都预示着对McConaughey的强制访问。
但是,即使使用特定语言或例如公司中的DBMS进行艰苦的工作,有时也无法让您保持潮流,因为 技术在应用之前就已经过时了。 现在,即使Java也将以Firefox速度发布。
由于源源不断的知识快速增长,无论您实际构建了多少系统,我们许多人都感觉自己像是永恒的学生或冒名顶替者。 这对人力资源和雇主来说非常有益-您可以通过几个棘手的问题轻松地降低RFP。 这种种族HR在政治上是正确的,称为自我发展。
有许多工具的事实是上一段的逻辑延续。 当该地区充满活力时,这使您可以花更多的精力来测试假设,其中一些将失败,有些将枯竭,但有些将成为新行业标准的基础。 关于混乱的投诉类似于对进化效率低下的抱怨,由于某种原因,进化导致了一大堆物种,其中绝大多数已悄然消失,甚至大多数都不是很成功,并且生活在狭窄的范围内。 立即创造一个即使在北极,甚至在沙漠中也能生存的人真的是不可能的,尽管他本人很虚弱-他跑得不快,没有爪子,牙齿又小又钝,视角很小。
从侧面看进化的结果是一件好事,并想知道自己要花多长时间才能创造出完全明显的优势-手指柔软和大脑发达。
但是,在旅程的开始阶段,结果并不清楚:恐龙曾经一度在地球上占据统治地位,而且如果当时有交换分析家,很少有人会把老鼠放在某些哺乳动物上来反对这种明显的喜爱。
以“错误”工具形式出现的浪费是通往顶端的道路的永恒伴侣。
RE:程序员必须是业务分析师和工作面试
本节原件最近,我一直观察到将业务部门的权限强加给开发人员的趋势。 现在,除了完成其主要任务之外,开发人员还必须在一个好的分析师级别上理解主题,并通常考虑业务。 别管我,我不知道如何提高转换率。
求职面试
这是最重要和最受欢迎的特殊学科。 实际上,实际上,这取决于您是否要在莫斯科环城公路外某处租来的odnushka上的旧压碎沙发上睡觉,或者是否必须藏在位于桥下加热总管上的纸板中。 如果说在我的职业生涯开始时,面试只是一场实话实说,现在更像是一次考试。 也许这是由于这样的事实,我当时不知道,当时没有这么多的薪水和人群想要进入IT或只是时尚。 但是事实是,当您去面试高级开发人员的职位时,您很有可能会遇到带有测验问题的任务。 “好吧,解决我们昨天用leetcode偷走的一张纸上的问题。 边界条件下的单元是否错误? Fuuuuu蠢货! 您不知道%methodName%在最新的%frameName中的工作方式。 谁把他放在这里? 安全性!“再也不用担心您的头部排列不同,您无法迅速强调那些高鼻的书呆子con视的眼神,而没有错误地将算法包装起来,以完成您还没有时间考虑的任务。 就像您背后有几公里的代码和生产系统一样。 好吧,至少拼图问题已经死了,对此表示感谢。
不,我当然不应该。 但是在需要进行快速假设检验的情况下,在决策架构的同一负责人中进行此操作会更有效率,这仅仅是因为开销较小:您不需要花两天时间,而要花一个小时。 您知道如何在主题区域中进行操作-做得好,睡在弄皱的沙发上。 如果您不知道如何,他们会在可靠性比进步更为重要的领域中等待您的到来:太空,医学,军事,信号通信系统。 这些领域是,而且它们同样重要。 没错,他们付的钱少。 我想纠正这种市场偏差,但这不仅高于个人,而且高于大多数公司。
顺便说一句,相同的因素使您可以忽略一些棘手的问题对人力资源的关注,直至“我不知道自己坚持什么,让我们与技术编辑谈谈。” 不想成为分析师,但想在现成的舔过的TK上编写代码? 参见上文-为您提供的其他领域:优秀的程序员也必须犯错,他们不能犯错误并且可以有效,有能力地实施TK。
RE:IT人员
本节原件在这里,我们将分析该种群的一些亚种,我们最经常要处理这些亚种。
实际上是开发人员和同情者。 与刻板印象相反-在大多数情况下不是东正教书呆子,而是普通人。 但通常来说,没有什么可与他们谈论的。 在工作时间以外进行的所有交谈都归结为工作。 但是,如果您被迫全天候学习所有这些技巧,那还有什么呢? 我的建议是远离穿着带有背包的格子衬衫的人,否则您将获得致命的无聊感。 他们中的许多人上班不是上班,而是玩玩具。 让我们重新发明轮子,固定一个新的框架(晚上我们将把食物从地上耙开),我们肯定会把所有东西都丢掉,因为这个玩具很累,他们带来了新玩具。 但是,然后我们会面颊表情,并在会议上告诉我们如何克服自己创造的问题。 赢利! 这些人同样容易导致各种各样的垃圾,例如“有趣的任务”和“复杂的系统”(在IT文化中没有十几个微服务就不可能构建计算器),从人类的角度来讲,这意味着猛烈的选择,但对于更少的钱,从而降低了行业工资。 就像在开玩笑说:“爸爸,我们今天要吃什么?” “没事,儿子,我正在一个友好的团队中完成有趣的任务。”
项目经理。 老实说,十年来,我一直不了解项目经理是谁以及为什么需要他们。 在完全不同的办公室中,它看起来像这样:有很多任务,整理其中的内容和方式,然后在这样的日期之前完成。 我去了一楼的赶时髦的人拿铁咖啡,并在Instagram上写下了今天的辛苦日子。 我只有一次看到一个花花公子的家伙,他们制定了所有这些无聊的时间表,忙于完成任务,是我们的助手,不仅是一个无法编程的帅哥,而且我真的想要ITP。
服务员 深受许多类别的喜爱。 由于他们的倾销,明智和意识形态上的笨拙无法进入行业-为了追求长卢布,许多轧制工人准备完全免费工作。
我们将保持沉默。
无聊的开发人员只谈论工作吗? 奇怪,想按完成的TK从9到18悄悄地削减代码对我来说似乎很无聊。我们俩都是错的,但我在谈论的是其他事情:这种思维的组织,使任务始终在头脑中不断旋转,极大地促进了开发速度假设检验。 边缘有点过头了,倦怠隐约可见,但这是控制心理健康的问题。 这并不能否认某些公司(我们不会指责那些在22小时后付钱给出租车员工的人,鼓励他们留在工作中)认识到被解雇的员工工作得更好,为这种被解雇提供了所有条件。
项目? 你只是不知道怎么做。 项目是一种通用工具:一方面,它为程序员带来了魔力(程序员,留给他自己的设备,转而为他心爱的人制作有趣的东西),另一方面,架构师和团队负责人可以将大部分的组织工作都抛在脑后。组织会议,保持时间表的相关性,报告已完成的工作,与客户进行日常沟通等。
RE:商业
本节原件现代世界中的软件并非仅仅因为它很有趣而完成(尽管有时看起来如此)。 这样做通常是为了直接或间接地赚取服务员。 因此,我们可以将人们分为两类。
那些在乎的人-让里面的一切都是美丽而正确的。
那些在乎什么的人在乎他们制造的产品的本质。
通常,开发人员包含这两个类别,只是比例不同。
对于他们两个,我都有一个不幸的消息。
对于第一类-从赚钱的角度来看,选择正确的体系结构和代码的美观程度并不重要。 就像您的所有安全,最佳做法等一样。 您可以stick着拐杖,赚取祖母,然后让所有这一切都跳到附近的船上的经理“获得新的经验”,然后团队将马s放在晚上。
对于第二类-你们中90%的人做了很久以前的事情。 除极少数情况外,所有产品都是次要产品。 然而,狡猾的商人正试图将“意识形态”赋予下一个支付系统,网上银行等。 我自己经历了所有这些事情,我必须说,当您对“为什么所有这些都是必要的”问题有了明确的答案时,工作会容易得多。 “” - , , . , , . “ , ” . , HR, , 146% - “ , , ”.
碰巧一个男人想出了钱。他们不是在当代,甚至在一百年前也没有这样做。事实证明,金钱是组织异质社会的一个极好的工具,这种社会具有不同的美感和所包含的人民的不同愿望。您可以尝试发明其他东西,但是到目前为止,您还没有提出任何根本上更好的东西。当然,有诸如社会支持和团队合作精神这样的动机,但是第一个是国家消化的钱的衍生品,第二个是调味而不是主要过程。在紧要关头,甜点。您因工作而获得报酬。如果您的工作没有带来收入-抱歉,企业不需要。粗鲁,我知道。让我们尝试更柔和。业务需要钱。企业是一个赚钱的组织。如果没有为您认为必要的事情提供金钱,那么您还没有证明这件事将如何为企业带来更多的金钱。学会证明浪费资源是合理的,证明它是有益的,甚至是长期的,并且会有资源。在这方面,商务和商务决策比普通人要足够得多:一个人会花半年时间以一万英镑的价格购买机票,因为这笔钱太多了,并且宁愿每个月购买两千张机票,只有一个人对商务感兴趣数字-投资收益。 16%的利润?收下没有钱,但是我可以为此支出5%获得贷款吗?收下如果一家公司由于其代码有效期为三个月而无法进行代码审查,然后被新代码替换,然后又用光了,那您在那做什么?有许多公司的代码审查和重构是流程的重要组成部分。第一家公司专注于假设检验,而不是编码:这也是正常现象,它使您可以找到一个新的利基市场,在该市场中您可以成长,成熟,积累脂肪,并可以开始进行审查和重构。您不应该责怪没有用灰泥固定玩具砖砌房子的设计师:住在这间房子的仓鼠中,这房子的任务是检验外观假设,而不是充当房子。即使这位设计师愿意为帮助他建造玩具屋而向您付款,也不要用灰泥和基坑向他吐痰,而要让普通的建造者安顿下来。RE:健康
本节原件, , ( ) . , . , - , . , . , , , . 35+ , “ , 25 ?” “ ?”. — .
也许这是我没有完全回应的唯一观点。另外,在我的世界里,一个人有意志和理性,如果他认为自己不需要举重,那么他就不会举重。