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

2018-12-06

Lightman Wang

封面

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

 

在讲前端程序员的技术之前,我们先来建立一个很多同学对于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 

 

近期开课hot

Python零基础入门

start2025/02/12 03:14 (Sydney)

Web全栈班24期 NodeJS方向

start2024/12/08 11:30 (Sydney)

logo

Follow Us

linkedinfacebooktwitterinstagramweiboyoutubebilibilitiktokxigua

We Accept

/image/layout/pay-paypal.png/image/layout/pay-visa.png/image/layout/pay-master-card.png/image/layout/pay-stripe.png/image/layout/pay-alipay.png

地址

Level 10b, 144 Edward Street, Brisbane CBD(Headquarter)
Level 2, 171 La Trobe St, Melbourne VIC 3000
四川省成都市武侯区桂溪街道天府大道中段500号D5东方希望天祥广场B座45A13号
Business Hub, 155 Waymouth St, Adelaide SA 5000

Disclaimer

footer-disclaimerfooter-disclaimer

JR Academy acknowledges Traditional Owners of Country throughout Australia and recognises the continuing connection to lands, waters and communities. We pay our respect to Aboriginal and Torres Strait Islander cultures; and to Elders past and present. Aboriginal and Torres Strait Islander peoples should be aware that this website may contain images or names of people who have since passed away.

匠人学院网站上的所有内容,包括课程材料、徽标和匠人学院网站上提供的信息,均受澳大利亚政府知识产权法的保护。严禁未经授权使用、销售、分发、复制或修改。违规行为可能会导致法律诉讼。通过访问我们的网站,您同意尊重我们的知识产权。 JR Academy Pty Ltd 保留所有权利,包括专利、商标和版权。任何侵权行为都将受到法律追究。查看用户协议

© 2017-2024 JR Academy Pty Ltd. All rights reserved.

ABN 26621887572