
为您翻译了
Chuck Groom的文章 ,他是一位拥有18年经验的程序员,目前担任纽约一家大公司的技术总监。 查克经常为公司寻找员工,并在文章中讲述了要被录用的训练营毕业生(以及大学或课程)必须具备的素质和经验。
作为我自己的IT公司的技术总监,我经常寻找新员工。 我经常和在这里度过3到6个月的训练营的毕业生交谈。 他们感兴趣的主要问题是如何获得开发商的地位。
Skillbox建议:两年实践课程“我是PRO Web开发人员” 。
我们提醒您: 对于所有“哈勃”读者来说,使用“哈勃”促销代码注册任何Skillbox课程时均可享受10,000卢布的折扣。
我必须马上说,在训练营或其他地方进行的培训根本不能保证将普通的凡人变成有经验的程序员。 为了成为开发人员,需要数千小时的独立培训和实践来创建软件。 是的,训练营是一个不错的开始,但是您需要继续学习。
这是想要开始职业的新手程序员应该关注的方面:
- 在处理项目时编写大量代码。 您想要执行的任务是快速学习的关键。 另外,您需要在GitHub上启动一个存储库,这既是一个组合,也是一个参数,它使您可以对初学者给予一定的信任。
- 学习基础知识,编程基础知识。 首先,在面试过程中,他们经常对申请人是否知道基础有兴趣。 其次,专家本人必须了解他在做什么。
- 联网。 您需要与同事和潜在的雇主见面,“卖”自己。 社交网络薄弱往往会导致找工作困难。 反之亦然,参加会议,黑客马拉松,程序员活动不仅可以与“兄弟”交流,而且可以与可能的雇主建立联系
。

解决实际问题
您要执行的某项任务的意义远不只是简单的“真空”编码。 关键是,如果您正在学习某些东西,请不要仅仅这样做,而是尝试运用您的知识。 例如,帮助开源社区改善项目。 在组建阶段,您所需要做的就是选择一个有趣的项目,在此任务中您可以展示自己的能力。 尝试制作独特的东西,不要用食谱创建另一个站点。
在处理项目时,将结果发布在GitHub上
将工作结果发布到开放的GitHub存储库中。 不必担心您的代码不完美,只需尝试使其尽可能可读(当然,也可以正常工作)。 不要忘记自动测试以及为项目添加写得很好的自述文件。
雇主经常通过github来评价程序员。 他们想看到工作的例子,而您的任务就是给他们。
一个想法要做:为Alexa创建技能这对于提高程序员的技能非常有用,并且具有指示性-因为该技能将为所有人使用。 当然,为亚马逊数字助理开发模块是一个令人赞叹的因素,可以吸引您的雇主。
您可以从一个简单的开始。 首先,您应该看到已经存在的东西。 然后尝试发展自己的技能,使其实用,完善。 因此,您将了解物联网设备的工作原理,获得宝贵的经验,并在您的投资组合中获得第一(或第二,第三)工作。
您可以为潜在的雇主实施一些措施这是一个很好的选择。 如果您想在特定的公司工作,请尝试做一些有用的事情。 例如,当我在Xmarks工作时,一位同事和我采访了一个求职者,一个人展示了使用我们的API的项目的演示。 该项目很有趣,我们意识到申请人确实尝试过,此外,他了解我们的产品,因此我们雇用了他。
学习基础
花时间学习软件开发的基础知识-通用的数据结构,编程方法和概念。 遇到有关他们的问题,将来有机会见面之一。 但是,更重要的是,这些是每个软件工程师都应该拥有的通用工具。 您必须清楚地了解什么构成了可以正确且快速运行的良好程序。
资料结构您应该精通所选择的编程语言的列表和词典。
- 至于列表,您应该知道:
- 用于处理列表中任何元素的语法;
- 从列表中获取第n个元素的语法; 索引和0索引的概念;
- 对列表进行排序的原则是要意识到,如果列表很长,则可能需要一些时间。
- 数组和列表之间的差异; 堆栈和队列。
对于字典,知识的关键要素是:
- 使用字典搜索和插入的语法
- 密钥-价值对的概念;
- 按关键字搜索
- 常见用例:用于描述事物,查找表的“属性包”;
- 字典与JSON(序列化)之间的关系;
- 哈希函数的概念(以及它们与字典的关系);
- 使用加密散列的原理,例如SHA-1。
编程概念
您可以学习很多概念。 但是最主要的是要理解使用函数的原理,而不是像面向对象的编程及其逻辑那样熟悉。
函数是程序的主要构建块。 它们的用法有很多细微差别-从对名称的正确选择到了解何时更好地使用哪个功能。 所有这些都伴随着经验。
对于面向对象的编程,您需要:
- 精通实例和类;
- 同样不错-继承(子类);
- 知道如何使用您选择的语言使用初始化方法定义类。
- 准备讨论封装,抽象和多态性。
数据库(SQL)
训练营的校友通常对数据库不熟悉。 如果这适用于您,我建议您立即开始探索关系数据库和SQL。 另外,尝试自己在计算机上设置PostgreSQL或MySQL数据库。
还请记住,MongoDB不是SQL,因此访问者对数据库的经验并不总是感兴趣,而是询问MongoDB。
求职面试
这里的提示是笼统的:值得探讨在Internet上进行采访时可能遇到的主要问题。 此外,与您的朋友一起努力,并尝试互相采访。
联网
与人互动的艺术增加了在公司中占有重要地位的机会。
正如我所说,将程序员网络化的一个重要点是他的GitHub。 此外,您必须拥有一个具有许多联系人的当前LinkedIn帐户。 这次,我将LinkedIn作为自己的简历。 第二-在这个社交网络的帮助下,我正在寻找我需要的人。 好吧,如果您在LinkedIn上有很多联系,则可以遇到大量专家,其中将有潜在的雇主。
互联网不是万能的。 重要的是要离开舒适区(无论这句话有多糟),并与人们面对面交流。 参加会议,与陌生人接触并自我介绍,并与您感兴趣的人聊天。 与您想进一步了解的人结识是完全正常的。 我学到的重要人生课是,即使几分钟,也不要为邀请某人喝咖啡而感到羞耻。
您会为机会和善意打开重要的门而感到惊讶。
当然,最主要的是继续学习,提高您的经验和知识。 动机是许多雇主所追求的。 看到一个有积极性的,尽管是新手的求职者,一个有经验的领导者可以出于热情和愿意进一步学习的目的而对专业性方面的一些缺点视而不见。
Skillbox建议: