半年从编辑转职资深工程师,我是怎么做到的?-AppWorks学校网络课程#1

Wei Xiao
9 min readNov 5, 2019

--

“你下周可以做完这个功能吗?”一年前由我来问工程师的问题,现在则是由PM来问我。

我是Maureen,从新闻编辑兼数位专题PM变成前端工程师刚好满一年,而在这之间,我经历了AppWorks School 2018夏季学期Web班(2018 / 7–2018 / 11)。

能够通过这篇文章,希望可以鼓励跟当初的我一样:想要转职,却又没自信自己能成功的人,以及更了解AppWorks School能为你带来的帮助!

为什么要转职?

为何要2017年年,我从纸本编辑跨足到规划新闻专题网页说起。当时为了吸引线上读者,我尝试闯关游戏情境故事等互动体验来呈现新闻内容,也在这一年多接触到网页设计师,前端工程师,像魔术师般把我天马行空的想法全部都化为网页。

规划网页的经验多了,我脑袋冒出“既然觉得他们那么厉害,怎么不试着自己做做看呢?”的想法,于是开始打开Chrome的开发人员工具,试玩HTML和CSS看版面变化,于Udacity上看JavaScript入门,同时盘算着参加资策会的前端课程来加速转职。后来从朋友口中得知AppWorks School的招生消息,一看“自学为主”和“全程免费”,就火速填完申请表交出去了。

在到AppWorks School面试前,我已经辞掉当时的工作,并为自己安排了「Gap Month」,到美国程式自学学校42训练一个月的魔鬼训练营(学习C语言和Git)。当时就下定决心,如果没有进AppWorks School,我就要报名资策会课程,或者继续在学校42自学程序直到可以成为尖端工程师为止。

后来很幸运的地方成为Web Class#1的教材,在这5个月,每天投资至少15小时在写程序的经历中,我不只学到写程序,更学到如何“自己解决问题”的能力,更重要的是,我很喜欢疯狂在键盘上敲敲打打,通过由一行行出现的程序代码,做出心目中理想产品的自己。

在AppWorks学校的三个阶段

阶段一:懵懵懂懂,学习如何向Google大神问问题

在实际进驻AppWorks School前,有周边的远距预习,每周都有指定的线上课程和作业,内容包括HTML,CSS,JavaScript,也用到前端框架React.js和大型框架Node.js。的我每天都在崩溃边缘,经常一天花15小时看教学影片,写程序,3小时才解决一个bug。虽然学校预测远距阶段,每周约需花费15–20小时,但实际上我每周都至少花费60小时。

我在AppWorks School的座位。笔电后面还有大家团购的叶黄素。

后来实际到学校之后,迎面而来的是要在三周内,按照设计稿做出能用Facebook XML注册。当时连CSS放置方式有几代,float跟flex有什么差异都不知道的我来说,必须在短时间内学会“用正确的关键字请教Google大神”,因为在AppWorks School,永远是“ 自己解决第一,问Google第二,问同学第三,问导师第四 ”。

我到现在都觉得“正确的关键字”是一门很深奥的学问,面对同样问题,10个人就会有10种问Google的方式。我很快就发现我无法快速解决问题的最大主因是- -我老是下错关键字。

于是我在卡关超过一至两小时后,不再会问同学或导师“这个问题要如何解决?”或者“ 遇到这个问题,你会在Google下一个关键字? ”然后看他们如何查看搜寻结果。这是在AppWorks学校很宝贵的机会,如果是自己在家自学的话,很少能瞬间问到这么多搜寻方法。

学会问Google后,我的成长速度变快,课程也进到分组专题研讨,去了解更多必要知识,包括Cache,FP,OOP,MVC,SPA等观念和Webpack,Lint Tool等工具。三倍,通过由React.js文档,在线课程和从设计图网站Pinterest上找灵感,做出React.js的任务清单。

(左)Pinterest上找到的设计图; (右)最后的待办事项清单

阶段二:模仿典范,学习如何和他人协作

在完成电商网站后,我们花了两天去阅读导师写的电商网站的源代码,并分析和自己的版本有何不同。这是我第一次体会到Code Review的必要,也学到如何封装重复的程式码,提升开发速度。

接下来进到「团体协作专案」,我和三位同学有一周的时间,以导师的电商网站为基础,再加上我们期望的新功能。特别的是,这一周的开发流程是比照领导人,跑Scrum + Trello来管理时程和进度。

团体协作添加了会员评价,三种登录方式,掌握运送流程等新功能,并利用Trello来追踪进度。

接踵而来的「跨班合作小组」,则是混血Web,iOS,Android班同学,四人一起研究Firebase,在两处完成好友留言板网站,学习目的是之后做个人作品时,有可能需要用到Firebase资料库,也初步认识了资料结构。

这个阶段的我,每天都在大量阅读别人的程式码,和别人共同编辑同份程式码,这让我能够冷静面对实际工作遇到冲突(两人的程式码产生冲突)或版本控制问题的状况。

阶段三:独立自主,PM,设计,前端一手包

最后终于来到整段学习历程的高潮-制作个人作品!

关于到底要花五周做出什么个人作品,我考虑过要重新规划医院HIS系统(但规模太庞大!),咖啡介绍网站(但市面上太多!),最后决定要制作一个在线书籍管理网站来解决我的长期困扰:爱买书又会忘记一点还没看,忘记把书借给谁,看书没效率。

确定主题后,我搜集了素材和决定要使用的技术,并使用Trello管理时程,最后做出了我人生中第一次从企划,设计,制作全包的网站“ Booky ”。使用者可以用笔电前镜头或手机相机扫书码,把书加进网站,也能记录阅读和借用状态,或者设置阅读事件到Google日历,定时提醒自己要读书。

独立完成Booky,是我能自信说出「我是前端工程师」的转捩点,也因为面试时能够演示Booky,因此更能说服面试官我是有技术底的。

当初很希望做出自己满意的作品,既是研究扫描书码的JavaScript库要么把当时像天书般的Google Calendar API接进Booky,我都非常庆幸当初没有因为时程很赶而放弃任何一个我认为很重要的功能。

首页书本轮播效果取经台北车站火车入口的自动借书站。

最后一哩路:准备面试!

AppWorks School也举办校友聚会,让我们跟学长姊交流;邀请CTO来演讲,到91APP,ShopBack等企业参访,也边开始准备面试。印象最深刻的是全班要坐在一起,导师出题,各自大家从一开始觉得听自己的回答很出版物,后来变成完全可以随录随放。而后续最重要的,就是用心写好自己的履历,用心准备模拟面试,做足准备迎接和合作企业的20分钟快速面试

履历最终只有短短两页A4,每个人在校长的督导下,一定至少改了3个版本。不过就是张纸,有那么难?现在回头看,真的很难啊!我在这个过程中,才暂时离开被程式码淹没四个月的脑袋,重新审视自己从编辑转职到前端工程师,究竟有什么优势?企业为什么要选我,不选写程式四年的本科生?我对自己所使用的技术掌握度多高?除了写程式,我能带给企业某种的附加价值?某种的企业又能够带给我快速成长的机会?

不断逼问自己这些问题,才能找到自己的优势和劣势,也才准备好面对重新求职的过程。在密密麻麻的面试期后,我最终选择自己一直有兴趣的医疗产业,负责开发给病患使用的疗程管理平台,主写Vue,偶尔也写Node.js。进公司时会的技术约所需技术的三成,在JavaScript的基础下,大概两周就可以进入实际开发。现在工作半年了,不只想着要快点熟悉技术,也开始把某些功能或介面写成同事可以共享的元件,希望可以兼顾顾开发速度和让程式码容易维护。直到今天,写完一个功能后还是会觉得很开心,总有一种闯关成功的成就感,也渴望还可以知道更多。

AppWorks学校对我的意义

回忆起在AppWorks School的收获,除了技术之外,最棒的就是找到一群志同道合的好朋友,大家来自截然不同的背景,却因为同样热爱程式的心而相聚。卡关时一发问就有两,三个人冲到你旁边看,你的问题就像他的问题,甚至愿意陪你分段一段程式码五次,以及无数次的彼此心理辅导,鼓励。结班后大家也持续开每月读书会,,班上同学轮流主讲一个自己觉得值得分享的主题;也会相揪参加程式组织的活动甚至是加入组织帮忙写网页。经常过多,都觉得能在程式路遇到这群人太好了。

班上同学抽出时间将每个个人作品的徽标集合成班服,送给人人跪谢的校长和导师。

想到当初离开上份工作时,有位前辈听到我要转职前端工程师,跟我说「妳真的很勇敢,(停顿三秒),但希望我念小学的女儿以后不要学妳。」我只跟他说:「放心,我一定会做到让你女儿想学我。」如果是文字工作者的我都可以,相信没有人不行,如果你很确定自己有非转不可的决心和热情,欢迎一起加入AppWorks School的大家庭!

【AppWorks学校/ 2019冬季学期限时招生中】
2019年冬季,AppWorks学校开设Android,iOS与网络课程三个不同技能的训练班次,全程免费,透过远距预习4周,驻点集训16周的专案指导训练,帮助你成为软体工程师。
欢迎想成为软体工程师的朋友,把握机会申请,报名只到9/20(五)23:59截止喔!〜http://bit.ly/2Paetfx

--

--

No responses yet