我的名字叫阿列克谢·达尔文(Alexey Darwin),多年来我领导大型电信公司的开发团队,在过去的两年中,我一直负责X5 Retail Group产品团队的工作。 在这段时间里,我设法召集了该部门的大约70位程序员(内部40位,外部30位开发人员)。
在来我们面试的候选人中,我遇到了几位最近刚从其他专业转向编程的人。 其中包括Yuri和Semyon,他们最终安全地加入了我们的团队。 我问他们如何决定改变职业,寻找工作以及如何帮助他们在今天的公司中成长。
如何理解变革的时机已到
决定改变职业并不容易:许多人担心与年轻专家的竞争,不想失去薪水,因为薪水起初一定会“下垂”,而其他人则不确定能否找到工作。 另外,从本质上讲,一个人倾向于将能源成本降到最低:他做一件事情的时间越长,并且按照既定的时间表生活,就越难以接受新事物。 如何理解舒适区的生活已经拖延了,该是时候采取认真的行动来改变职业了?
X5 Retail Group的后端开发人员Yuri Velikiy:“我曾在一家国有企业担任软件工程师,但从编程中可以看出一个名字,任务在种类上并没有什么不同,沼泽的感觉也没有离开我。 我一直都知道自己的日子会怎样,而且接下来的三个月会怎样。 一方面,那里非常平静和舒适,另一方面,我的生活不断被认为自己没有成长的想法所毒害。 我曾经害怕一次醒来,发现自己已经很老了,而且我坐在同一间办公室,多年来没有学到任何新东西。 现在我认为,即使在舒适区度过了两个月,也已经开始考虑时间是否在浪费”。
尤里大帝X5 Retail Group的数据工程师Semyon Osipov:“我以前的专业根本与编程无关。 我曾担任劳动保护工程师6年,主要任务是监视对安全措施的遵守情况。 这项工作不能被称为无聊,但它是单调且非常紧张的:我无休止地谈论着同样的规则,人们无休止地违反了这些规则,有时会导致严重的紧急情况。 一名员工开始从水箱上拧下螺栓,忘记测量水箱中的压力,结果手指几乎被拔掉了。 但是最糟糕的是,在很短的时间内,我从这个专业中学到了所有东西,但是没有什么新鲜事发生。
我在学校从事编程工作,但是后来这些课程变得非常稀少,而且我的年龄越长,对恢复这种信念的信心就越少。 仍然有一个有趣的时刻:当我选择放学后去哪里读书时,领导军事行业系统开发的母亲劝阻我不要去编程。 她说,如果您在30岁之前不成为领导者,您将无法继续在这一领域工作-他们将由年轻的员工取代。 这种恐惧一直困扰着我很久,为了“进入IT”,我只有28岁才成熟。”
塞门·奥西波夫(Semen Osipov)我要补充的是,对编程的成功兴趣需要对这项活动有真正的兴趣。 如果您只是对当前的工作感到厌倦,并且准备将其更改为任何内容,那么这是错误的动机。 她不太可能帮助您学习新的困难职业。
选择哪种语言以及学习多长时间
尤里:“应该认真对待语言选择-这在很大程度上取决于这一点,包括能否找到工作。 最好从相对容易学习的语言入手,有助于理解编程的基本原理并且市场上有需求。 我研究了HeadHunter上开发人员最常寻找的雇主,结果,我开始同时学习Java和C ++这两种语言。 同时,我参加了有关数据科学的课程,在那里我对Python有一个了解。
从我的学习开始到我心中有能力去第一次面试的那六个月过去了六个月。 “这是相对较快的,但是您需要了解,我的工作量很小,而且需要大量的学习努力。”
精液:“幸运!” 我没有足够的精力去学习-我一次将它与两项工作结合在一起,因为支持工程师的职责被添加到了劳动保护专家的职位上。 我经常帮助我的同事解决计算机问题;因此,我正式要求这篇文章。
我在课程中学习编程。 我在Facebook上看到了莫斯科Python社区的一项建议,以他们的管理员身份参加免费课程,并对此做出了回应。 经过10周的培训,我完成了我的第一个数据分析项目-我处理了一家大公司在移动通信方面的费用,并找到了一种方法,可以每月减少数千美元。 从开始学习到第一次面试,我花了6个月的时间。”
如何寻找工作并选择雇主
在此阶段,您将需要很大的耐心-面试可能需要一个多月。
精液:“起初,我在求职门户上的反馈甚至都没有被查看。 我开始重新编写简历,以期找到正确的投稿,大约在第二十次迭代时,我终于开始收到很少见的面试邀请。 起初,在与人力资源专家交谈后,我“生气了”,但后来我逐渐接触了技术专家。
Eichars经常问我为什么在我30岁生日前夕那个年龄去IT。 他诚实地回答了他们:我想成为一名程序员,我已经以IT工程师的身份工作,而且我喜欢它。 他们拒绝了我,说他们正在寻找领主。 我很快意识到,行业中没有人真正需要傻瓜,但决定不放弃。
在某些时候,有经验的人给了我建议,不要打扰编辑简历,而要通过个人联系来行事。 我在网络上找到了几位我感兴趣的IT公司的人,并给他们写了一个关于我自己的真实故事:我在哪里学习,为什么要当程序员。 它有助于进行一些重要的采访。”
如果您有足够的毅力,那么一系列失败将早晚结束,并为您提供工作。 此时,您不能着急:首先,您需要确定是否有机会接受这份工作的培训,以及要解决的任务。 对于新手开发人员来说,这非常重要。
尤里:“我根据几个标准对雇主进行了评估。 首先,我研究了技术:如果公司使用的Java版本早于第八版本,我意识到可能存在遗留问题,但是我并不是真的想要这样做。
其次,我询问了垂直增长的可能性以及对此的要求:需要研究什么,要实现什么指标,要通过什么控制措施等等。 如果我收到含糊不清的答案(没有具体说明),请立即减去。
面试任务不足仍然令人非常震惊。 一旦他们给了我一大堆带有代码段的A4纸,并在4小时内完成任务以弄清楚该代码将输出什么。 我决定不浪费时间,就走了。”
精液:“在搜索的一开始,我就非常生气:我想尽快开始从事IT工作,因此我同意了这一提议,而不是弄清楚应邀的位置。 结果,我在一家初创公司中担任了分析师的职位,那里没有组织的流程,没有培训,没有有意义的任务,甚至我自己的第一个工作日就收集了计算机。
一个半月后,我坚定地决定寻找一支致力于吸引我的专家的团队。 X5是为数不多的具有独特培训系统的公司之一。 面试也很不寻常:技术专家与我交谈,直到此后我才接受测试任务。 后来,我发现面试很差,考试以第二次机会的形式给了我。 它帮助我进入了团队。”
首先,对于雇主而言,重要的是评估诸如思考的类型,解决问题的经验,开发人员的动机和性格之类的事情,而这只有在个人会议中才能做到。 如果在面试过程中感到此人太担心,可以给出测试任务。 而且,为了了解一个人是否在公司中流连忘返,不需要特殊的技术-最好的指标就是他渴望学习和发展该行业。
就业后如何不离开比赛
在一个新的专业工作的头几个月是一个真实的考验。 如何应对这一挑战?
精液:“不要害怕艰巨的任务。 我在X5中的第一个任务与我所教的语言完全没有联系:有必要在一周内为我收集一个未知框架下的数据窗口。 老实说,我告诉经理我不知道该怎么做,但我会解决的。 好吧,您需要了解,这里已经不再是沙盒了,他答应了-他应该这样做。 如果仍然无法解决,并且带论坛的书籍也无济于事,您需要立即去找同事寻求帮助。 最主要的是不要保持沉默。”
尤里:“我遵循相同的模式:未知框架上的第一个任务-恐慌-努力工作-结果。 这绝对不是一件容易的事,但是您可以通过学习承认自己不知道什么,并且不怕向同事寻求帮助来简化任务。”
好消息是,恐慌期迟早会结束。 什么会减少呢?
精液:“您的个人毅力和与团队的联系。 我很幸运与同事们在一起,他们自己提供帮助,所以这里没有人不怕与经验丰富的人接触。 我们很快成为朋友,我们经常交流和讨论我们的任务。 我认为是因为只有真正对编程感兴趣的人才才被邀请加入团队。
此外,公司还采用系统的方法交流经验。 我们每两周聚会一次小型会议,以小型报告的形式告诉我们这些或这些问题是如何解决的。 每月一次,整个部门召开一次大型会议。 并不是每个人都有勇气在这里发言,但是经验丰富的人正在逐渐崛起。 工作中发生了同样的事情:产品团队受到初学者和强大开发人员的平衡,因此总会有人向他们学习。”
在我们的部门中,大约有10个产品团队,由5-7人组成,其中1-2个拥有丰富的开发经验(从4年的特定技术工作经验及更多经验)。 同时,团队的级别不同:有一些团队负责最简单的任务,开发人员会在此过程中深入学习。
尤里:“人们被选入团队,以便彼此互补,这很酷,因为每个人都有不同的能力。 Semyon和我在同一个团队中工作,但是如果我作为一名工程师具有更深的技术背景,那么Semyon就会具备出色的沟通能力和在困难情况下的快速决策能力-他说服人们戴上头盔6年并迅速与那些在他的手上打了一个洞。 团队中还有一位具有丰富开发经验的团队负责人,但是他的领导职能仍然是新的,并且他也与我们一起学习。”
对于我自己,我想补充一点,培训流程的构建会对开发人员和公司本身产生积极影响,从而获得成长的机会。 在过去的一年中,X5零售集团大数据管理局已从150人增加到270人,而我们的大数据产品开发部门已发展到70人。 为了迅速增加人员,我们使用了所有可用的渠道吸引开发人员:我们在热门的求职门户和社交网络上发布职位空缺,我们与开发人员社区合作-例如,11月下旬,我们在莫斯科X5办事处之一与MoscowPython社区举行了联席会议。 我们与此类协会的想法很接近,我们也致力于将我们的团队发展为内部开发人员社区:安排内部会议,并根据相互学习的原则选择产品团队。
除其他事项外,与经验丰富的同事一起学习和合作的能力有助于在过渡后薪水下降的情况下迅速收回工资:
精液:“在过渡到编程后,我的薪水立即下降了40%,但是经过一年的工作,它不仅达到了以前的水平,而且还超过了15%。”
尤里:“当我转向编程时,我“将我的收入提高了50-55%-但这是因为我在上一份工作中没有得到太多收入,因此该领域的工程师的薪水不是很高。”
总结一下。
从另一专业转向编程是一种风险。 您可能会因技术选择而犯错误,在没有发展机会的公司中浪费时间,无法达到相同的薪水水平,从而失去动力。 为避免这种情况,您需要仔细考虑语言的选择和工作地点。
从雇主的角度来看,雇用最近刚从其他行业进入发展领域的人也是有风险的。 他们有退缩的空间-如果新工作变得太热,他们可以恢复以前的专业。 然而,正是在这些人当中,找到了最有动力,因此很有前途的专家。 如果您给他们学习的机会,他们将迅速赶上专业人士,并在团队中长期存在。