全文共字,预计学习时长7分钟
图源:unsplash第一份工作是很重要的,但往往也十分难求,万事开头难。经历过几次失败后,很多人会自我怀疑、自怨自艾。
但其实,无论你有着什么样的学历背景都可以获得成功。我在招聘开发人员时录用过酒保、私人教练还有非工科毕业生,还录用过机械工程师。你的学历背景其实并不影响你找工作。
想要拿到第一份软件开发工作有什么样的秘籍?本文为你揭晓答案。
自创一套有用的App组合
这里说的App可以是网页、移动或其他App。一套开放式App组合可以证明你开发软件的能力。相反,如果没有,面试官就无法得知你能做出什么产品,要把你的能力展示给他们看。
理想情况下,你在开发App时处理的项目要比在编程训练营里接触的项目多,自己做出app更能让你在求职者中脱颖而出。就我而言,我更喜欢录用能自己做出软件产品的求职者。
图源:unsplash工作要求,不要只看到表象
软件工程的JD(职位描述)通常要求过分,这一点早已“臭名昭著”。我曾见过有的职位描述要求应聘者具有的相关编程语言从业时间比该语言存在时间还长。这些公司的职位,趁早不要申请了!
职位描述设想的是完美求职者,而真正录用的人中很少有人符合这些完美条件。就我本人而言,我自己工作职位描述中提出的要求我都没能全部满足。
不必太在意本科学位要求,谷歌和脸书这样的公司都会录用没有学位的工程师。如果你真的毫无经验,可以申请要求经验时长小于两年的职位。公司不会承认他们会雇佣毫无经验的求职者,但是每年都有初出茅庐的开发人员找到工作,所以不必过分忧心。
如果你符合核心技术要求的几项条件,那就可以去申请了。至于会不会给你面试机会那就是招聘公司的事情了,别担心那么多。
训练营结束也不要忘记编程
图源:unsplash能自己独立做编程项目能说明你对软件开发具有真正的兴趣,一个人对技术的热爱会让他看起来更从容自信。如果有人在训练营结束一年后没有做过一个编程项目,给人的印象就恰恰相反了。
独立开发项目能让你在五年内成为一个杰出的编程人员。这一点怎么夸大都不为过,不要停止编程!
不要在算法问题上耗费太多时间
了解你所用语言中的常用数据结构是十分必要的,这对提高编码效率也很有帮助。学习基本的大O符号,了解循环结构的坏处以及数组和哈希表(hashtables)的优点,这样就足够了。
不用花几个月的时间在LeetCode和HackerRank上做算法题,除非你打算申请脸书、亚马逊或谷歌的职位。
在大部分初创互联网公司面试中,你只会被问到几个算法问题,而且这些问题不会对你的面试成绩一锤定音——你可以在面试官的引导下回答问题,根据你的答题完成度得分。我们会花更多的时间探讨应聘者自己写的项目。
运用网络课程中学到的知识做出产品
图源:unsplash不要浪费知识——用它去创造。有人批评我不该一直让人们去创造、创造、创造——但这就是我们软件开发人员的工作。这是学习的最佳途径,也是展示你所学知识的最好方法。
网络证书其实并不能给你的简历增色,任何一个人都可以拿到证书。我见过许多简历上写着获得哈佛CS50课程证书的求职者却写不出一个代码。
网络课程用来学习最好不过,但关键是要做到即学即用。
公开你的app代码
如果你正在用自己做出来的app成立一家初创公司,那么不公开app代码是可以理解的;如果不是的话,请公开你的代码。判断一个人专业技术最好的方法就是查看他写的代码。
代码无须多复杂,但阅读的人可以从中发现很多东西:是否遵循框架约定?能否防止SQL注入?代码是否干净整洁?这让面试官对开发人员有一个更直观的感受。
我们期待阅读你的代码并能解释它的用途——不是在底层级别而是框架级别。
即便是想做后端开发,也请强调你写的app组合中的前端应用
产品的第一印象很重要。无论公平与否,一个拥有美化界面的简洁app会给面试官留下更好的印象。别人不需要知道你是辛辛苦苦花了几个星期才做好它的。
对资源有限的初创公司来说,具备全栈开发能力的求职者更有价值。我发现教一个前端开发人员写后端代码要比教一个后端开发人员做UI/UX设计容易的多。
在第一份工作中,去做所有与技术相关的工作
如果你的职位与技术无关,想办法去做能接触到代码和数据的工作。你或许会有很多疑问和顾虑:
·觉着无法胜任某项工作?人人都有这种感觉。
·过去有机会做过数据分析、商业智能或是逻辑分析的工作吗?如果有的话,你会从中学到数据类型和可视化知识。
·录用的工作使用另一种语言编程而不是你喜欢的语言?你会成为掌握两种编程语言的优秀开发人员。
只要朝着代码和数据的方向努力,你就是在进步,你会从中学到知识,在面试时你还可以把你的故事讲出来。
不要在简历上列举出你学过的每一种技术
图源:unsplash有人认为关键词能帮助你通过AI驱动的审查工具。不过我觉着这有些言过其实了,这只适合大型非技术公司。
开发人员在简历上列举出一大串的编程语言、框架以及库是一个十分危险的信号。精通一项技术需要花费数年时间,我更相信只列出几项技术的简历。我更想看到你用其中几项技术做出来的产品。如果面试官要求你描述如何运用这些技术时你也会更加自信。
人人都有心灰意冷的时候。但你要心怀希望。年全球有万软件开发工程师,其中大部分没有CS学位。如果这么多人能做到,那么你也可以。只要你不放弃,就没有失败。
拿到第一份编程工作面临着重重困难,你要制定自己的攻坚克难计划:吸收有用的,舍弃没用的,塑造独有的。不抛弃,不放弃,你可以做到的。
留言点赞