
去年夏天,我们启动了“程序员的十个问题”专栏,对于十个问题,这很有趣。 并非总是能够吸引大量听众的好人可以大声说出来。 有人找到了理解,有人遇到了批评。
在第11版发布之前,我们暂停了很长时间,这花了太长时间。 我们正在纠正,我们正在返回。 现在,您将再次有机会有趣地讲述自己。 格式几乎相同,我们只是对问题进行了一点更新,我们将在下一期中进行。
如果您能说些关于自己的事情,或者已经解决了一个有力的问题,那么整个社区将
不知所措 ,请通过个人电子邮件或电子邮件给我
写信 。
在第一期中,叶卡捷琳堡的Dmitry Yavorsky(
ekabandit )。 他讲述了他如何挽救俄罗斯铁路公司免受WannaCry病毒的侵害,拒绝了Sberbank的提议,并在立法上对该行业产生了影响。
1.讲述一个工作故事,您将自豪地向孙辈复述。
在我的余生中,我会记得我第一次留在俄罗斯铁路公司担任负责人的职务,即管理Wannacry病毒袭击时,负责管理50名不同年龄的雇员。
那是星期五晚上。 我已经在家,刚打开啤酒,当时媒体上开始有关于全球病毒攻击的垃圾邮件。 然后,信息传递到公司对话框中。 我很快把瓶子装好,开始工作。 我们已断开与互联网的连接,没有感染记录。 在工作了两个多小时之后,我决定什么都不会发生,然后再次上床睡觉。
早上七点,安全部门负责人已经给了我一大堆需要更新Windows的服务器。 再过3-4个小时,Microsoft在Windows 2003上发布了一个更新程序,多年来一直不支持该更新程序。 需要更新的服务器列表已大大增加,我不得不召集所有免费人员。 到那时,我们放弃了使WSUS恢复的尝试,由于某种原因它无法正常工作,而是开始手动更新服务器。
我们整个周末都度过了一个愉快的周末,迅速从零开始部署了2-3台服务器,安装了更新后变蓝了,看着放映机上的曲棍球(顺便说一句,俄罗斯本周末以6-0击败了斯洛伐克),删除了数十台被遗忘的服务器。
结果,这是组建团队的大事,并且在叶卡捷琳堡数据中心感染了多个服务器。
我从学校得知我会从事IT工作-我想跟随父母的脚步。 尽管我在文学课上学习,但我们还是一位计算机科学方面的优秀老师。 参加各种奥林匹克运动会可以定期跳过课程。 在那里,我们被教用Pascal写作。 我记得我父亲告诉过我关于GOTO运算符的信息,我经常在课程中使用它。
当时的老师在Yandex中有联系,并愿意去实习或学习。 但是带着年轻的极致主义,我告诉她:“我不喜欢Yandex,而是使用Google。” 回去给自己打耳光。
放学后,我进入了铁路大学,专门学习“信息系统和技术”(后来在俄罗斯铁路上进行了开发)。 我以为我会继续发展编程,但是四年(研究生毕业后两年)的传单和Delphi学期只有一个学期的汇编语言编程。
从第三年起,我开始在俄罗斯铁路工作,起初我是一名enekeyschik。 花了很多工作时间来准备学期论文和玩CS或Warcraft。 在我工作一段时间后,他们开始更加信任我,然后我熟悉了管理的大世界。 最重要的是,我迷上了IBM WebSphere,后来我甚至加入了此产品的Russian Railways专家组。
2. 6月的案子,仍然令人遗憾
我记得,在管理员职业生涯的初期,我正在为满足我的某些需求而部署服务器,并决定需要从生产型服务器更新Apache Tomcat配置。
连接到两台服务器后,我做的完全相反-我在生产服务器上更新了Tomcat。 几分钟后,当事件发生时,我切换到了备用服务器,然后在生产服务器上重新设置了所有内容。 我设法在大约十分钟内完成了所有工作,并指责监控系统存在误报。
六个月后,我发现了我的欺诈行为,当时用户已转移到该服务器,但对他们没有任何帮助,因为我忘记了更正配置。
作为开发人员,没有这种情况。 尽管有传言说,由于请求量很大,我定期编写的监视服务器放置了俄罗斯铁路的重要系统之一,但我对此并不相信。
3.您当前遇到的最痛苦的问题,尚未解决
现在,我很难理解Rx.js的Observable和管道。 对我来说,这是Angular的某种遗产。 在会议和教程上,他们说,要理解Rx.js,您需要改变思维方式,以了解一些隐藏的真相。 但是,尽管我从代码的其他部分进行复制粘贴,并在家庭项目中使用redux-saga。
现在,我正在进行俄罗斯铁路公司的审判。 我按目标学习并且上了课程,如果您在学习后的若干年内没有锻炼,这将为您提供付款。 根据其监管文件,Russian Railways没有向我提供分期付款计划。 遗憾的是,有些领导者不知道如何与员工分道扬part。 这是整个公司的观点,尽管在工作期间我设法结识了来自不同城市和不同专业的人,而且那里的人真的很酷。 总体而言,俄罗斯铁路公司制定了非常发达的青年政策,各个部门在开发员工软技能方面投入了大量精力。
4.您选择什么原则
选择工作时,我只考虑堆栈中的选项。 现在是React,Redux,在不久的将来,我不打算放弃他们。
第二个重要因素是团队。 我更喜欢与技能高超的同事合作,他们需要学习很多东西。 最近,我开始关注公司的规模和形象。 如果它很大,并且IT是主要配置文件,那么您不必是程序员的系统管理员。
好吧,我认为值得一提-尽管这已经成为程序员的标准-工作日的浮动开始,在家工作或随时休假的能力。 剩下的就是金钱问题。
5.为什么近年来很难找到优秀的程序员?
(来自Voximplant的Ivan Shmakov ishmakov的问题)我看到几个原因:
- 现在,优秀程序员的概念已转向媒体。
- 现有的教育并没有给您获得初级职位的机会。 此外,由于课程的过时和该领域的快速发展,知识差距逐年增加。
- 许多人由于相对较高的薪水和该行业的大肆宣传而成为程序员。
- 同样,由于缺乏程序员,现在即使在顶尖的俄罗斯公司中,HR也会使用主动搜寻。 如果专家真的很好,那么除了您的专家之外,他可能已经有2-3个职位,并且他可能根本没有工作。
6.想象一下,初级,中级,高级的毕业不存在。 引入什么规模来指定开发人员的能力? 你把自己放在哪里?
(来自Dodo Pizza的Lisa Schvez Schvepsss的问题)是否存在? 没有每个年级的公认技能列表。 不管喜欢与否,一切都归结为重命名此等级。 好吧,例如,如果您从经理的角度来看它,那么级别将如下:
- 它不能单靠自己解决一个大问题。
- 它将自行解决问题,但是代码的质量和速度还有很多不足之处。
- 它将以可接受的代码质量很好且快速地解决问题。
- 除其他事项外,他将能够与客户讨论该功能(泵浦的软技能+对业务流程的理解)。
评估自己看起来并不客观,但仍然使自己处于第三级。
我最难忘的采访是在开发人员中间前端的Sberbank(即Sberbank,而不是Sbertech)。 当我被邀请参加面试时,我已经收到了另一家公司的要约,但我还是决定去-可能会有更多的经验。
一切都在几个阶段进行。 一开始我回答了有关JS的问题,三天后我与该部门负责人交谈。 我们与他讨论了我在Sheregesh用VK拍摄的照片以及最好去的滑雪胜地,以及我作为经理,文凭,证书参加项目的经验。
几天后,他们给了我一个低于其他人的报价。 我拒绝了 然后又与负责人举行了一次会议,考虑到季度和年度保费,我对年度平均金额的报价表示满意。 在上一次电话交谈中,我受邀与Sberbank的员工交谈,后者离开了我接受要约的公司。 他们应该向我描述为什么不值得去那里。 我了解到市场上没有足够的专家,但这是一个后门。
采访结束后,我得出的结论是,大公司更有可能看文凭,知识和证书,而不是真正的技能。
7.理想的编程语言/框架/其他工具应具有哪些功能,不应该具有什么功能?
语言的理想“功能”是创作者提供的优质文档。 以Javascript为例。 ECMAScript有一个非常详细的规范,很适合理解代码/函数各个部分的异常行为,但是我认为不值得从中学习语言。
只要能解决您的问题,每种语言都是好的。 随着理想语言的出现,发展将停止,并且将出现一个人(可能是一个公司)来管理这个行业。 并为进一步发展,进行重要的竞争。
8.如果您有机会在法律上影响行业,您将怎么办?
我将对前端框架的创建征税。 开个玩笑
在俄罗斯,对于初学者来说,我会将国家IP代码放在开源中。 我认为社区将解决许多可访问性问题以及我们必须使用的政府系统中的错误。
我将在俄罗斯南部的某个地方开放一个特殊区域,以开发减税的IT公司。 可能像硅谷一样。 我认为,从俄罗斯社会对世界的开放性,在我国保留明智的专家的角度来看,这是一个好举动,一旦这种趋势出现,它将进行进口替代。
9.如果您拥有无限的资源(时间,金钱,力量,人员),那么您的个人项目是什么?
我会发展一个智慧的城市。 我将从叶卡捷琳堡开始,首先要解决我自己在日常生活中遇到的问题。 例如,道路。 现在我开车去上班20分钟,往后60分钟,甚至更多。 我将实施人工智能,该人工智能根据交通和行人的情况来调节整个城市的交通信号灯。
10.您如何看待比您更聪明的AI?
我会强迫自己去教书。 或邀请他设计在AI控制下的实验城市的生活,并告诉它会带来什么。