background

干货|澳洲前端工程师入门指北:从需求,到求职,看这一篇就够了!

据统计,4.9%的华人在澳大利亚都会选择IT/CS作为移民的跳板和未来的就业方向。但是在人生地不熟的澳大利亚,到底怎么样才能找到一份IT工作呢?我们整理了这份入门级的前端工程师生成指南,从就业市场开始分析,到最后的技术测试,希望你看完了成为半年就找到110k澳币的前端程序员。

{"first":"Lightman","last":"Wang"}

Lightman

CEO

封面

据统计,4.9%的华人在澳大利亚都会选择IT/CS作为移民的跳板和未来的就业方向。但是在人生地不熟的澳大利亚,到底怎么样才能找到一份IT工作呢?我们整理了这份入门级的前端工程师生成指南,从就业市场开始分析,到最后的技术测试,希望你看完了成为半年就找到110k澳币的前端程序员。

文 | 灯泡点灯 大熊

编辑 | 风筝

时长 | 搜一个seek的时间

 

在讲前端程序员的技术之前,我们先来建立一个很多同学对于PR的正确观念,那就是:

 

没有PR ≠ 没有工作

 

其实很多国内的小伙伴也都会有一个误区,在澳洲找到一份工作需要一个PR,此话并没有错,但是找工作与PR之前也并不能完全划等号。有这样一层关系,能帮助你理解工作与PR,经验,GPA的关系:

找工作的黄金三角:PR, EXP, GPA

PR决定你的机会多少

GPA决定大公司要不要你

EXP决定小公司要不要你

 

很多已经年薪10w+的各个程序员曾经也认为,PR就是找工作的一切基础。每次收到拒信后,就会拿出“没有PR”作为借口来解释为什么没有拿到offer,来逃避。当然后来工作久了才知道,以前投了很多job description上面明确写着需要PR的工作才会导致这样的结果。毕竟HR默认你已经有了PR才能做。面对PR,小伙伴们也当做一座挡在求职面前的大山一样。

 

那没有PR就真的没有工作吗?并不。但是要怎么找这些工作呢?这往往意味着准备工作时间很长,从选择IT的方向,到阅读job description,写简历,到最后的搭建自己的GitHub,LinkedIn,是一条完成而清晰的路。

(公众号回复“前端”查看大图)

 

 澳洲程序员分类

 

很多想要从事IT的澳洲小伙伴在选择未来方向的时候充满了困惑:我是该选择我喜欢的?还是需求大的?是选择薪水高的,还是门槛低的?是选择有难度的,还是应用广的?这一通选择,就像思考我应该上清华还是上北大一样艰难。

 

 

选方向,找工作,要移民加分还要赚钱付房租房钱,当然是找需求最大的最容易入门的。澳洲的程序员就是这样的行业,钱多,事少,福利好。不过很多小伙伴还不明白到底程序员又哪些软件方向可以选择,我们用这张树状图给大家梳理一下。

(公众号回复“方向”得清晰大图)

 

IT support:可能是很多人对从事IT行业的人的看法,修电脑的。IT support基本就是办公室里的IT后勤人员,负责帮助公司里非IT人员配置电脑,采购电子产品。主要是有一些IT 基础,就是懂IT相关的terminology,可以和公司里的开发者无障碍交流。IT support一般是一个过度职业,公司如果有其他职位空缺,你刚好也会这方面的技术,可以很快补位。

 

网页开发和软件开发:小编想一起说,软件开发可以理解为网页开发的进阶版,不在局限于写网页应用,至少对别的强类型的语言精通,比如java,c#,同时要明白很多关于数据库设计,程序架构之类的知识。网页开发一般分为前端,后端或者全栈

 

前端主要负责网页的页面编写,同时因为页面是一个网站和用户交互的重要渠道,所以大部分前端(如果是纯前端的话)还会兼职网页设计和UX,用户体验,的方面。在一些小公司里,前端还会兼任BA的活,就是和客户确认需求。后端基本上就是服务器的编写,保证前端页面能够调取到需要的数据,展现在页面上。因为要跟数据打交道,所以还需要一定的数据库知识,然后服务器嘛,也需要一些网络啊,secruity之类的相关知识。全栈就是从服务器编写,数据库设计,服务器架设,前端页面,一条龙服务。实际工作中,除非是几个人的小公司,一般都会有更细致的分工,比如专门的ux和部署人员(devops)。

 

 

前端主要需要精通html,css,js这三要素,然后熟悉一种流行框架,react,vue,angular,三个非常的相似,学会一个可以很快的上手另一个。 以前是需要会用jquery,但有了框架以后,jquery用的也比较少了。后端的话,需要精通一种服务器语言和框架,比如java和spring 或者spring boot,php的lavaral,node和express,ruby,ruby on rail等等。还有最常用的两种数据库,relational database 比如mysql,non-relational 比如mongodb。

 

移动端开发:就是我们用的那些手机app,手机app主要分为两种类型,一种是native,也就是原生的app,这种app是用官方支持的语言写的,比如apple是swift,andriod是kotlin。这种app的好处是能够跟手机的硬件很好的结合,或是调用一些手机自带的功能。另一类就是用写网页版app的技术,发布到手机端,运用react-native或者ionic。这种优势在于开发成本低,会网页开发的程序员也能开发,缺点是用户体验相较于原生的要差一些。

游戏开发:涉及面其实很广,比如音乐,心理学,历史,宗教,等等。但是对于程序员来说,最重要的就是精通一款游戏引擎的使用,比如unity,unreal。还有数学和逻辑能力要好,因为涉及到一些算法优化问题。举个最简单的例子,物体碰撞检测,m个会动的物体和n个不会动得物体,最暴力的方法是m(m+n)的复杂度,但是有很多不动的物体完全都不在会动的物体附近,所以暴力的方法做了很多无用功,那么为了游戏体验性考虑,我们就需要优化代码。

 

 

DevOps: 最近很火的一个职位,前身是system admin, 一般是懂部署和网络的开发人员,或者会部署,但对开发也懂的人。我觉得相当于开发和运营的催化剂角色,比如帮助产品更快的迭代, 提高开发效率,运用pipeline,快速部署上线,有问题可以迅速启用之前无错误的版本等等。技能的话,像是网络安全相关的肯定是必须的,其他ci.cd的部分,像是jenkins,docker,kubernete这些也要会。

 

看完了程序员各个方面之间的介绍,接下来就说一下各个需求。澳洲最大的求职网站seek.com.au上关于空缺职位的需求能非常直观的反应当下的需求:

在seek.com上,需求最多的职业是服务行业,大概有1w9k个岗位,第二就是IT,第三是医疗,1w5,会计是9000。

 

在it的1w7里面,最大头就是developer,就是各种开发人员,基本占据一大半,加上一些比较小众的。BA 一般是懂一些理论,一般是帮助用户把需求转换成业务逻辑 和PM的话就需要经验,或者比较讨厌的事有管理经验但是没有技术背景的了。

 

 

总的来说IT的发展前景是非常好的,而且职业需求也很高。

 

项目经验

 

Level One: 简单练习

自习,学校的项目,online的course

没有商业背景的简单项目,功能重复简单,数据可能出现无意义重复,对于雇主来说这些不算项目经验,功能没有经过仔细的考察和校对,而且对产品的value考虑不周到。UI方面来说也完全没有考虑,商业角度的内容也没有提炼。

 

Level Two: 原型机

学生可能会自己接项目做,一整套完整的商业逻辑,项目本身是基于需求存在的。如果要创业和融资,可以从prototype开始进行练手,把自己当做利益关系方,才能从更全面的地方开始看东西。develoment 模式和production模式(部署,开发,优化)

 

Level Three: 商业项目

项目有business value,在市场上有其价值,如果项目本身能超过10k那么作为freelance就已经能自力更生了,如果低于这个价格,那么不完全算是跨入commercial的世界。

 

 

Level Four:Cloud 及其他复杂系统

创业,商业项目,从product owner进行一个全方位的靠近,能完成以上几点的project就可以算完备的复杂的商业系统了。

 

 

 前端code test

 

Code test在澳洲大约占据了45%的test种类,需要求职者花费2-3天时间来进行一个准备。上图是做一个hacker news的search result的页面,看自己如何进行安排和编码完成。junior 和senior 在做这些文件的时候,能通过写了多少function和class 的分区来辨认级别。

 

Code test 按照完成程度来看,可以分为以下几个级别。

Level zero:未完成所有功能,code test不合格。

Level One:只完成了所有功能,未进行任何。只有部分公司需要开放一个entry level的职位,而且澳洲很少开放entry level,因为他第一年几乎处于给你付钱还要培养你的

Level two:完成了功能,考虑了structure,完成了测试,考虑了MVC,代码质量也很高,达到了junior和mid-level,有时候达到senior。

Level three:在以上的内容上还考虑了更多,比如最优解,安全性。

Level four:在一个代码里用巧妙的代码完成了以上所有的内容,并且能够进行更多优化。

 

以下的代码好于50%的毕业生,但在澳洲找工作依然不足以进入commercial的阶段,下面以雇主和面试官的角度来看这两段代码。

前端看代码首先会先打开package.json, 看你使用的是哪个阶段的react和build 工具,也会看是否抄袭了别人的代码。如果是抄袭,是不会进行下一步的。

这段代码显示使用的webpack版本是2.2.1,但是现在webpack的版本已经到了4,这个项目不是新的项目,所以会让面试猜测是否抄袭使用了别人的代码。其他的工具比如karma,eslint都能反映求职者到底打算实现什么,会让面试官带着疑问继续往下看。

 

File Structure:层级——如何部署

第二张图片会直接让人被pass,不会命名,层级混乱,是没有商业经验的学生手笔。

 

Index文件:

做search的时候每敲一次字母就会请求一次api,尤其是第三方api,很可能会增加运营成本。代码显示出求职者对react的使用并不熟悉,一是没有商业项目经验,一是这个写法是网上教导的写法,但是其实不是非常优质的一个写法。

 

 

Lint:

代码不够规范,虽然写了eslint但是没有使用到,而且也使用了tslint,因此他对于这些的使用其实能暴露他的不熟练。

 

 

优秀版本

做react的app基本默认要写redux,一种常见的思维模式。在react和redux之间还有很长的路,教起来花时间花钱。webpack到了4,其他的工具也都是合格,没有减分项目。

 

文件结构层级明显,逻辑清楚。

 

代码分层和逻辑归纳,对于阅读很有帮助,comments对雇主来说也达到了合格要求。

 

详细的interface,虽然不是特别规范,但是在限时内做到这个范围已经算达到了合格标准。虽然在senior眼里这个代码还有很多地方可以改进,但是就当时这位同学申请的entry level来说这个代码已经合格,code test通过了。

 

 新手怎么找工作

 

自己的方向选好了,技能也准备充足,那么如何求职呢,尤其是对于没有人脉的新手来说,第一步尤其关键。

先做准备。

很多同学觉得找工作第一步是写简历,其实不对的:

第一步应该是看job description

简历就是乙方的作品,而job description 则是甲方的要求。不符合甲方要求的乙方,不是合格的乙方。不能根据心仪职位的job description来tailor自己的求职者,不是合格的求职者。

首先需要多看看招聘广告上的技术需求, 这些需求一般分key requirement和desired requirement。

Key就是你一定要会的,那么你可以根据这个来提升你的技术。

既然已经看到JD了,那么求职下一步肯定是海投了。但是海投也是成功率最低的。

 

下一步是写简历,不要采用花哨的模板和高大上的排版,简洁明了能突出重点和关键字是最好的。真正的IT专业简历应该是这样:

 

 

无须说明自己的那些技能什么程度,我只要看你接触过哪些技术就知道,你的Level在哪一层了。在 Skills的 Section那里,只需要罗列出你会的技术就好,越往上的技术越自信。

 

当然也有许多朋友会写上,Skills:Java, C#,  php 。 但这个远远不够,Skills部分要突出自己的技术栈能力全不全面,技能点多不多,比如可以这样写:

Skills:

Java, J2EE, J2SE, J2ME , Spring, Spring Boot,  Maven, Gradle, JVM, JSP, Servlets, SOAP/REST, XML/JSON, Swing

 

而且澳洲简历和国内的简历有很多不同地方,一定要注意遵守这边的rules。

等等,这才是像样的描述自己的技能,也恭喜你正式成为了码农。



为什么这么说呢,首先大部分岗位,在没有放出来前已经招到人了,放出来的一大部分被猎头抓在手里,所以你看到的很多广告其实是猎头发的,真正公司自己发广告的,很少。那么你可能要问那些没放出来的职位怎么来的,一部分是内推,比如我公司要招人,而你是我的好朋友,你在找工作,我肯定会推荐你。你比其他人先一步得到消息,甚至提前面试就拿offer了还有一种,就是线下meetup。meetup里面有很多公司的高层或者team lead,还有就是猎头,他们有的是带着招聘的目的去的,有的可能就是去聊天,有时候聊得开心了,就会给你offer。

至于为什么说内推大于海投?因为在所有的招聘里都有一个考虑,叫【亲大于疏】。招人,公司最害怕的是招到的人的不确定性,因此HR和猎头自己熟悉的人,背景,脾性,能力都有一定保证度的人,公司是最愿意招的,也是保证了在交换信息的时候能最大化的降低风险

 

 

最后一种就是猎头找上来,不过这个一般需要你有工作经验了以后,你把你的经验和技术能力放在你的linkedin上面,多加些好友,增加猎头发现你的几率,他们会经常主动的问你,这有个公司招人,看你的技术很符合,要不要试试之类的。猎头是怎么找到你的呢?通过LinkedIn。我强烈建议大家通过Linkedin找工作,完善自己的Profile,扩大你的connection,构建自己的professional network,Linkedin现在自己也有了Jobs page,而且Linkedin里的工作机会质量也高于Seek等。如何扩大啊自己的connection,如何完善自己的profile,欢迎参考这里:

 

Linkedin会分几个Connection

 

1) 1st connection: 相当于你facebook,现实生活的好友,你可以不受限制地给他们发送邮件,查看他们的profile;

2) 2nd connection:就是你好友的好友。。。免费账户可以看到profile,不可以发邮件;

3) 3rd connection:好友的好友的好友。。。免费账户只能看到名字和title,不可以发邮件; 

4) 除了以上三种,剩下的人如果你不做其他的networking,他们就是parallel universe

 

 

Linkedin 里也有一些限制,比如

 

  • 如果你的invitation收到累计5个rej,你的networking会收到限制。具体来说就是下次你再加好友的时候必须填写对方邮箱,这是Linkedin跟一般social network网站不一样的地方,这一点直接导致我们不能随便加不认识的人,当然我们不能因为这样就畏手畏脚,networking还是要做,对于特定的几类人,只要注意方法,就算不认识还是可以放心加

  • 可能是出于防止spam的目的,一个账号只能发送3000个邀请,这个对找工作来说绝对是够用了

  • 一个账号能够拥有的1st connection最多30000个,由于invitation的限制,那剩下的30000-3000=27000个connection只能靠别人加你

 

你在Linkedin的人才搜索结果的排名和你的简历新鲜程度有很大关系。因此如果你曾经被很多HR联系过都把他们回绝了,现在又开始想跳槽了,那么你只需要简单修改一下你的简历的一些部分,比如工作经验或者summary。修改完后,短期之内你的名字就会出现在搜索结果靠前的部分。注意,排名靠前只是相对的。如果简历十分简单或者不对应市场需求,那么也未必会受到关注。

 

重点来了

 

那重点来了,你需要增加你的1st Connection,以扩大自己的2nd connection。

如何增加自己的network

 

在Linkedin里面有两类人随便加,一类人叫LION,这些人都是Open Networkers,为了帮助你增加你2nd Connection而存在。 基本就是一群因为工作需要,或者个人爱好无节操不加选择地接受好友申请的人。一般这些人都会在自己的summary里写all invitation accepted,所以你可以放心大胆地加。你可以在自己的linked上搜索LION,邀请加他们,扩大你的第一步在linked里的可见度。

 

第二类是recruiter,也就是猎头。我也常常跟朋友说,搜索Recruitor,挨个加。不过,加猎头比LION麻烦一点,不过你前面的LION和朋友都加过了之后,有了基础的connection,猎头就容易许多。猎头是靠network吃饭的,他们很理解network的价值,加你对他们没有坏处,说不定以后还能从你身上赚一笔。在加之前,一定要完善你的Profile再邀请。猎头的2nd connection一般专业性很强,这点比到处乱加人的LION强得多。加LION主要是为了数量,加猎头更看重质量

 

 

Endorsements

 

也就是谁为你的技能背书,这一区域方便猎头或者HR能在Linkedin里搜到你,如果有海量的人Endorse你,那雇主会不会眼前一亮呢。

 

一般情况下,你Endorse了你的connection的人,他们会出于礼貌同样Endorse你,而且你的connection越多,被Endorse的可能性也越高。

 

 

项目硬实力已经准备好了,也写好简历,建立好了LinkedIn和GitHub,下一步就是开始行动了,希望大家看完这篇文章之后都能有所收获,开启你的前端第一步。

 

更多关于code test和澳洲市场分析的内容,请复制链接收听:

https://m.qlchat.com/topic/details?topicId=2000002847383946 

原文链接板块: https://jiangren.com.au/blog 

 

即将开的培训课程

墨尔本Java就业集训班第2期

城市: 墨尔本
课程安排:一周2次课,每次3小时
开课时间:Mar. 27
早鸟截止日期:Mar. 19
早鸟价:3200
原价:3800
课程更新
顶级导师教学
针对就业
紧贴就业市场需求

商业数据分析实战班

城市: 布里斯班
课程安排:一周两次,每次3小时
开课时间:Apr. 22
早鸟截止日期:Apr. 10
早鸟价:2900
原价:3630
课程更新
Power BI
Python
数据分析
面向商科
编程零基础