Hello friends!
以前写过一期在枫叶国做developer是什么体验,感兴趣的朋友可以
这期不知道起什么题目合适,但是最近有很多朋友提到也想转前端开发,却又不太确定这个职业方向是否适合自己。
我当初是零基础转行,所以完全理解面对未来不确定性的这种担忧,如果在三年前有人跟我聊聊这份职业未来是个什么前景,那我估计会学的更加带劲儿。
事实是, 我是在完全不知道前端开发是个什么鬼的情况下就去读了这个学位,而且在读的过程中因为对这个行业理解不够透彻以及学习方法不正确会产生强烈的挫败感,有质疑过自己是否适合这个行业的想法。但庆幸的是坚持过来了,一路还算顺利。
现在我是积累了将近一年的全职工作经验,这应该是我做的非常满意的一份职业,我甚至喜欢工作日多于周末,因为疫情下的周末太TM无聊了 …
虽然还是妥妥的职场菜鸟,但是我可以结合亲身经验来分享前端工程师的工作模式,每天的工作内容,工作感受等等。如果你有感兴趣的内容,也可以在评论区告诉我~
1. 投资回报率
Well I have to talk about money, duh!
第一点肯定要谈钱啊。。。
在钱这点上加拿大跟美国完全不能比,所以我们就说说加拿大境内的情况。以前我的分享里提到过读完两年college的费用大约是28万人民币,按照汇率5换成加币是5.6万加币,接下来我们算算要工作多久才能收回当初的投资。
就我学的前端开发而言,刚毕业出来在大多伦多地区基本上都能找到工作。具体的工资水平大家也可以去Glassdoor去搜。
这里附上最新的数据,以下我在Glassdoor上面搜到的web developer 在Toronto, ON的薪资分布,注意噢,这里面是涵盖了不同工作年限的人的薪资统计的。L2 这个seniority level 下是$61,789/ year。最低的起点是junior developer, 然后才到L2, 所以刚毕业出来基本上合理的预期在$45,000 - $55,000/ year, 这里给大家做个参考
取中间值$50,000/year, 我们来算算第一年全职工作可以回收多少。
这里要强调税前税后收入的概念,因为加拿大的收入所得税是真的挺高的,但是,国际留学生第一年工作的退税额度相当高。因为之前交过的学费理论上可以让我们拿到顶税金(tax credits),但这个tax credits属non-refundable,必须要在有收入之后才能用来抵收入所得税。
学生每年所交的学费会以一定比例 (federaltax credit是15%, If you live where there is a provincialor territorialtuition tax credit, also multiply your total tuition paid by the provincial or territorial tax credit rate. 比如在BC省还可以算上省内的provincial tax credit 5.06%, 所以最终的比例 是20.06%) 的比例转换为Non-Refundable Tax Credit用来抵减你工作后的的应缴税款。
举个栗子,读college的同学一年的学费按照1.5万加币计算话,因此一年(按照15%的tax credits) 至少可以累积至少$2, 250抵扣额,两年至少就是$4,500抵扣额。也就是说等到你将来有收入时,可以拿到退税$4,500
假如说你刚毕业的税前收入是$50,000/ year,那么你的税后(扣掉税以及CPPEI)收入大约是$39,225,加上你的tax credit $4,500,那么真正的税后收入约为$43,725。和当初的$56,000投资成本还差$12,275,而从我自己的打工经验来说,如果你是每周20小时,每个月就是1200刀,算税后1000刀,那么两年读书期间只要打工13个月就可以把这个坑填平了 (这里还不算上假期可以full time 40小时周的打工收入)
(*以上数据均来自RBC官网以及通过TurboTax计算而得)
所以,一个简单粗暴的结论就是读两年college的花费完全可以在第一年全职工作后挣回来。一年回本。美国码农收入确实高,但是学费引起的student loan 同样也很高啊。。。
这么一想,心里是不是能平衡点?
2. 工作内容多样化
在来加拿大之前,我是做雅思老师的,做老师有一个很大的局限就是工作内容很重复,每节课都是这么讲,到最后真的会丧失了热情。
developer 的工作内容每天都不同,所以就会让这份工作保持新鲜度。拿我的例子来说,因为我是在一个大学里面的web team, 我们部门负责的就是整个学校所有的digital products / projects。
如果是网页层面,比如毕业季,我们需要围绕convocation 毕业典礼去做网站;9月开学季,我们需要制作一个orientation website给新生,同时还要发布对应手机版的app。如果是遇到holiday 或者某个学校活动, 作为web developer,我们还要制作各种evite, 这个就对应于email developer的职责内容了。
当然还有application 应用程序层面的,我们基本上是用Angular去写学校所有的应用程序,比如校园的interactive map, virtual tour, email signature generator, donor wall. 等等,我作为junior developer,当然目前只是一些supporting role, 比如要增加一个额外的feature,我就会在之前developer的代码基础上再丰富这个feature. 还轮不上我一个人写完所有的代码….
所以我的观点是,前端工作有很大的灵活性,如果你是比较喜欢网页制作的,那么你可以在UX/UI设计方面多发挥你的特长,甚至可以深入研究一些motion graphics / animation 的技能让你的网页作品更加炫酷。
(当然,这取决你所在的行业属性,科技或媒体类公司会看重这方面创意的技能;像我所在的学校环境因为有本身的branding的限制,所以更看重UX/UI的体验,而不是炫酷的网页特征。)
如果你是对代码比较感兴趣,可以多研究不同的framework,怎么优化你的代码,开发出有更多feature的application 等等。如果你没有那么大的野心,that’s perfectly fine too, 只是懂一些入门级的HTML, CSS, Javascript 也可以够你在一个职位上survive 了,但是你必须要有足够的学习能力,以防止有新的客户需求的时候,你能够边学新的技能边做出相应的产品去应付客户的要求。
3. 工作自主性
我不喜欢一定要按照条条框框的做事风格,所以现在工作我很喜欢的一点就是我有足够的自主性。
我们没有一个具体的protocol 规定你必须要先做什么再做什么。很多时候只要你做出来预期的效果就可以了,具体你用什么工具,或者什么方式其实无所谓。没人会来找你茬。
整个web application development 过程中,一般的workflow 是product manager 去听取客户的需求,然后反馈给web designer, 然后web designer 会给产品设计整个wireframe / mockups ,然后web developer 就需要跟designer 来回沟通,然后把设计实现成最终的产品。
我刚进去的时候以为都要遵循上面提到的workflow, 但后来我发现虽然我只是team里面资历最浅的一位,但是我在自己负责的项目里面也有很大的话语权。我可以参与到product manager / designer / developer 三重角色。
比如我需要直接跟学校的部门开会(因为是学校,所以我们的客户基本上就是各个不同的faculty 部门),然后听取他们的需求,然后根据我作为web developer的判断,会直接给他们反馈这个效果是否能实现,或者有什么可以改进的建议。如果对方的意见太天马行空,就要直接拒绝!
但如果你觉得这个讨论超出了技术层面,比如涉及到资金或者行政层面,那么你可以去向manager 请求意见。
关于设计,也是需要依赖自己在UX/UI方面的积累,你可以去设计去调整页面,如果觉得不确定的话,可以和senior developer讨论,然后再完善你的设计。
总体来说,我觉得我在这份工作中有很大的参与性与自主权,当然这应该也跟manager的风格有很大关系。他觉得即便是junior developer, 也有自己的意见要发表,当你足够comfortable 去负责整个项目的时候,他会放心把整个项目交给你。但是如果你还没做好准备,他一定不会去push 你,所以这点应该是目前工作我最满意的。
因为我了解很多刚入行的新手developer,公司会对你有不合理的期待,要么给你太多workload 或者直接让你负责整个项目,要么就是把你晾一边只是做最没参与感的工作,比如fixing broken links。前者会让你burnout,后者会让你没有成就感,所以都不好。
4. Problem Solving
Being a developer is really just about problem-solving. 每天会有不同的人给你扔来各种各样的bug让你解决,或者你正在开发的项目中又遇到了什么roadblock 要克服。
所以做开发,大部分的时间是在googling 或者researching 怎么解决问题的办法,有的时候可能只是一个小时,一个下午,甚至几天在找解决问题的方案,读documentation,然后用不同的工具尝试解决问题
(本质上就是复制粘贴stack overflow上的各种代码...)
所以开发有很大的灵活性或者说创造性,因为problem-solving 不是在解一条方程式,而是用什么创造性的思路去把眼前这个问题给破解了。
结语
以上,便是这期分享的关于在枫叶国当码农的工作心得,如果觉得这期分享有帮助到你或者期待更多类似的分享,可以打赏请我喝杯咖啡甚至狠狠点个赞或转发给更多有需要的人!
近期我在菜单栏里多放了一个“付费专享”的栏目,涉及雅思备考以及1v1加国咨询等服务,欢迎有兴趣的小伙伴前往了解!
暂无评论内容