大家好 我是一名普通程序员,在一家正规杂货店里戴着长袍。 我从事商业开发已有大约10年的时间,我从小铁片的固件开发开始,现在我主要在当今流行的Java / Kotlin上制作各种程度的复杂后端。 我选择职业是出于职业-在我焊接任何东西,在一张纸上编程(没有电脑)以及所有这些东西的时候,还是个小学生。 接下来是个人简介教育,在多家公司工作(知名和普通,外国和国内)。 因此,我可以说我是一个思想程序员。 而且我从来不了解正在等待星期五的人们-无论那里发生了什么地狱,我总是很乐意去上班。 那是,至少直到最近。 从某种意义上说,我“断绝了”,几乎不能强迫自己去从事我曾经心爱的工作。 以前有些事困扰着我,但是现在我的想法已经成形,我可以说一下曾经很懒惰的IT世界到底出了什么问题。
过于复杂
当我在腺体上工作时,我真的很喜欢通过该东西的工作原理看到的属性-字节移动,这发生在什么内存区域以及编译器如何处理代码。 有一种平静和控制的感觉。 过一会儿,当我切换到后端开发时,我为EJB或同一个弹簧无休止的xml配置大笑。 我知道将来会有什么。 现在,我只是不了解(并且已经很沮丧了)我简单的附件中发生了什么。 一堆抽象层,容器中的容器,大量手册,脚本,工具,版本,配置文件。 我至今仍未弄清楚该项目的部署方式,这已经有六个月了。 当然,至少在第一步中,您不能制造整体。 一定要立即将所有内容都划分为微服务,因为它是对的(在会议上,他们说他们在X公司这样做)。 当然,我们不能使用旧的Apache HTTP客户端每隔几分钟访问一次我们需要的服务,因为该客户端不是异步的,并且没有内置的速率限制器,反压机制或其他花哨的东西。 对于我的问题“为什么每分钟1次请求需要所有这些条件?”我的同事们只露出可憎的神情,在他们额头上闪着“这是你的愚蠢”字样。
一个单独的主题是Javascript先生及其无数的框架。 老实说,我不明白对于一个只需要在网页上绘制表格并不时发送后端请求的工具可以发明多少东西。 我做后端很好。
在前端示例(不仅是前端示例)上,我们可以清楚地看到自己的工作方式:让我们在服务器端->现在在客户端->然后在服务器上再次执行所有逻辑,等等。 让我们用一种语言编写前端和后端->现在用不同的语言编写->然后再用一种语言。 让我们为数据格式制定方案->仅针对旧计时器的方案->而不是,方案都是一样的。 我的一个支持者将他的开放源代码库从yaml转换为xml,这仅仅是因为那里有方案,当您对一个巨大的配置进行咯咯笑的时候,这很棒,而且知道XSD的IDE可以为您完成一半的工作。 综上所述,出现以下问题:
太多了
工具,语言,书籍,会议,框架等 在那些日子之后的很长一段时间内,对于软件开发而言,足够了解一个PL,几个库,仅此而已。 现在,我们正在等待数百种框架,其中包括十几种语言(甚至在一个项目的框架内),时尚而不是DBMS,无处不在的消息代理,数百平方公里的分布耙和其他乐趣。 通常,普通程序员没有时间研究所有这些工作(除了项目中已经使用的工具外),因为您需要进行研究。 许多人不得不花时间研究这些技术,尽管最有可能研究的90%永远不会有用。 我本人的口袋里有500篇文章,会议上看不见的视频观看次数,每次打给Habr的电话都预示着对麦康纳的强制性访问。
但是,即使使用特定语言或例如公司中的DBMS进行艰苦的工作,有时也无法让您保持潮流,因为 技术在应用之前就已经过时了。 现在,即使Java也将以Firefox速度发布。
由于源源不断的知识快速增长,无论您实际构建了多少系统,我们许多人都感觉自己像是永恒的学生或冒名顶替者。 这对人力资源和雇主来说非常有益-您可以通过几个棘手的问题轻松地降低RFP。 这种种族HR在政治上是正确的,称为自我发展。
最近,我一直观察到将业务部门的权限强加给开发人员的趋势。 现在,除了完成其主要任务之外,开发人员还必须在一个好的分析师级别上理解主题,并通常考虑业务。 别管我,我不知道如何提高转换率
求职面试
这是最重要和最受欢迎的特殊学科。 实际上,实际上,这取决于您是否要在莫斯科环城公路外某处租来的odnushka上的旧压碎沙发上睡觉,或者是否必须藏在桥下供暖总管上的纸板中。 如果说在我的职业生涯开始时,面试只是一场实话实说,现在更像是一次考试。 也许这是由于这样的事实,我当时不知道,当时没有这么多的薪水和人群想要进入IT或只是时尚。 但是事实是,当您去面试高级开发人员的职位时,您很有可能会遇到带有测验问题的任务。 “好吧,解决我们昨天用leetcode偷走的一张纸上的问题。 边界条件下的单元是否错误? Fuuuuu蠢货! 您不知道%methodName%在最新的%frameName中的工作方式。 谁把他放在这里? 安全性!“再也不用担心您的头部排列不同,您无法迅速强调那些高鼻的书呆子con视的眼神,而没有错误地将算法包装起来,以完成您还没有时间考虑的任务。 就像您背后有几公里的代码和生产系统一样。 好吧,至少拼图问题已经死了,对此表示感谢。
IT人员
在这里,我们将分析该种群的一些亚种,我们最经常要处理这些亚种。
实际上是开发人员和同情者。 与刻板印象相反-在大多数情况下不是东正教书呆子,而是普通人。 但通常来说,没有什么可与他们谈论的。 在工作时间以外进行的所有交谈都归结为工作。 但是,如果您被迫全天候学习所有这些技巧,那还有什么呢? 我的建议是远离穿着带有背包的格子衬衫的人,否则您将获得致命的无聊感。 他们中的许多人上班不是上班,而是玩玩具。 让我们发明一辆自行车,紧固一个新的框架(晚上我们会在晚上彻夜难眠),我们肯定会把所有东西掉一半,因为这个玩具很累,此外,我们还带来了新玩具。 但是,然后我们会面颊表情,并在会议上告诉我们如何克服自己创造的问题。 赢利! 这些人同样容易导致各种各样的垃圾,例如“有趣的任务”和“复杂的系统”(在IT文化中没有十几个微服务就不可能构建计算器),从人类的角度来讲,这意味着猛烈的选择,但对于更少的钱,从而降低了行业工资。 就像在开玩笑说:“爸爸,我们今天要吃什么?” “没事,儿子,我正在一个友好的团队中完成有趣的任务。”
项目经理。 老实说,十年来,我一直不了解项目经理是谁以及为什么需要他们。 在完全不同的办公室中,它看起来像这样:有很多任务,整理其中的内容和方式,然后在这样的日期之前完成。 我去了一楼的赶时髦的人拿铁咖啡,并在Instagram上写下了今天的辛苦日子。 我只有一次看到一个花花公子的家伙,他们制定了所有这些无聊的时间表,忙于任务,并且是我们的助手,不仅是一个无法编程的帅哥,而且我真的想要ITP。
服务员 深受许多类别的喜爱。 由于他们的倾销,明智和思想上的笨拙无法进入行业-为了追求长卢布,许多轧制工人准备完全免费工作。
我们将保持沉默。
业务领域
现代世界中的软件并非仅仅因为它很有趣而完成(尽管有时看起来如此)。 这样做通常是为了直接或间接地赚取服务员。 因此,我们可以将人们分为两类。
那些在乎的人-让里面的一切都是美丽而正确的。
那些在乎什么的人在乎他们制造的产品的本质。
通常,开发人员包含这两个类别,只是比例不同。
对于他们两个,我都有一个不幸的消息。
对于第一类-从赚钱的角度来看,选择正确的体系结构和代码的美观程度并不重要。 就像您的所有安全,最佳做法等一样。 您可以stick着拐杖,赚取祖母,然后使所有这些工作的经理跳到相邻的船上,以“获得新的经验”,然后团队在晚上耙马s。
对于第二类-你们中90%的人做了很久以前的事情。 除极少数情况外,所有产品都是次要产品。 然而,狡猾的商人正试图将“意识形态”赋予下一个支付系统,网上银行等。 我自己经历了所有这些事情,我必须说,当您对“为什么所有这些都是必要的”问题有了明确的答案时,工作会容易得多。 出于某种原因,世界上所有这些“改变者”都忘记说世界的变化是赚钱的副产品,而不是相反。 当董事会的shot弹枪附着在您的庙宇上,股东的绞索被甩在脖子上时,很难改变世界。 对我而言,“我们为了赚钱而工作”这句话听起来更加诚实。 另一件事是,如果您现在告诉HR,您为赚钱而工作,那么146%的人会感到困惑,并且类似“您不适合我们,我们需要热情的人,他们需要自我发展和有趣的任务”。
健康状况
每个人都知道,如果长时间举重,那么如果没有适当的准备(甚至没有适当的准备),就肯定会导致背部和关节出现问题。 大脑也可以这样说,只是不那么明显。 我们的工作需要很高的回报和专注度,即使我们只是在机器上重新进行测试,在后台聆听另一次情报调查。 在我看来,大脑根本不是为这种日常任务而设计的。 我从事过各种繁琐的工作,包括体力劳动,我可以说我从来没有像每天离开办公室时那样感到如此沮丧和沮丧。 我的35岁以上的同事中有许多人都对同一件事有类似的看法,并提出了诸如“如果您25岁并精疲力竭该怎么办?”或“如何摆脱困境?”之类的问题,开始出现在论坛上。 在这种模式下伸展需要多长时间是一个有趣的问题。
合计
在短短的十年内,IT领域从坐在摇晃的显示器旁边的地下室里的一个计算机迷们的小小舒适世界变成了一个巨大的炒作行业,薪水,营销和其他重大新闻都在这里。 编程不再是工程,而只是一种枯燥的手艺,其主要目的是将govnokod和拐杖变成金钱。 剩下的只是等待,直到所有这些巨像都在其自身的重量下坍塌,我们将返回地窖。 还是不行