《软件工程师记》EP.1: 从零到一
- 文章發表於
- ...
从零
我在五专是主修会计,大学则是主修金融,这两个学科都跟计算机科学没有太直接的关系。而原本也预期在毕业后就进入四大事务所 (big four) 卖肝或是去金融业,但最后因缘际会下,我成为了软件工程师。
一门统计课
契机
每个转变都会有个契机,它可能是朋友推坑又或是发现自己所爱等等...
刚进大学时,我还不太了解大学要如何有技巧的选课,当时也不是很在意选到大刀教授,反正一切都还在蜜月期。想当然耳,这种盲目选课的心态,很容易就遇到地雷课或大刀课,不意外地,我也遇到了,而这门课就是统计课。
那种对大学自由自在开心玩的幻想,在开学第一周上完统计课后就消失一半,也就默默地进入程式的世界。
"👨⚕️这门课的重点不是教你如何应付未来的研究所入学考试,也不是设计让你在期中、期末考试中只靠公式套用就能解题的统计试卷。我的期望是,在这门课结束后,你能具备实际分析与解决统计问题的能力。另外这门课会使用 R 语言,进行数据分析。
听到这句话,当下我的反应就是 什么是 R 语言??? 要写程式??? 这不是商学院吗(?) 当然也有闪过要退选,但碍于其他教授都没有修课名额了,只好摸摸鼻子继续上这位教授的统计课,也正式踏入了学习程式的旅程。
关于那堂课
我想所有程式课都有一个共通点,就是给的作业量都是海量级的。当时统计课的作业每两周来一次,每次都出二十题左右的统计分析题,并且要用 R 语言去做数据分析以及数据呈现,而我当时连最基础的循环都不知道,基本上要花数十个小时才能完成作业(大概是 10–15 页左右的 A4),虽然辛苦但每次写完都有满满的成就感。而这也是当时我觉得写程式很有趣的地方,每当作业交出去的那刹那,脑内分泌出的多巴胺,让我是非常开心的!
这就是开启我自学程式大门的钥匙,也因为这门课,我学会了解决问题的能力、学习态度的转变、更广的眼界、也喜欢上数据分析,并且萌生想要往数据分析领域发展的念头。
可惜的是,因为大三上学期本科的课太满,导致没有时间继续专研程式,顶多就是上系所 Fintech 相关的课,但这些课程有点像是导论,并没有实际的写程式。
偶然的搜寻
CS61A
大三下的某一天莫名地在网络上搜寻某个 CS 关键字,接着就出现某大学的作业题目(如下图),并标示着 CS61A 字样,当然就下意识地把这串字拿去喂 Google,没想到让我如获至宝。
CS61A(Structure and Interpretation of Computer Programs) – UC Berkeley 资工系大一的基础必修课

CS61A 对我启发
CS61A 带给我的不只是课程本身的内容而已,也改变了我整个学习观念。而且当看到一个课程的助教群有 60 几个,这规模让我不禁赞叹世界顶尖大学资源是如此丰富 (学费果真贵的有理)。
每位助教的年龄都跟当时的我相差不远,不同的是他们已经开始建立自己的履历、找实习、经营 LinkedIn 以及放作品集在个人部落格上,也让我反思自己是否过于懒散且消极的面对未来,之后每当我想要放弃时,就会看他们的部落格,这些也是当时推进继续学习的动力来源。
前端
然而又是什么原因让从想当数据分析要决定踏入前端领域呢?
原因就是当我学习爬虫的时候,要先理解 HTML 基本的语法才会比较好上手,所以就从 Udemy 买了 Web Bootcamp,这一看不得了,直接一头栽进了前端界!
热情
大三结束后,我像是着魔般地疯狂写程式,每天花八个小时以上是基本,同时也找到了许多像 CS61A 一样优质的课程,这也是我第一次体会什么是对于某事物有热情!
当然这过程中,也会怀疑这样做真的会成功吗? 这真的是业界需要的东西吗? 有不安是正常的,重要的是在面对不安时,你要如何继续坚持走下去,如果放弃了,一切就结束了。
如果已经疲惫怠惰了,不妨找一个学习的对象(role model),他可以是前端大神、朋友等等,当自己觉得倦怠的时候看看他们 GitHub 上的 commit 次数或是部落格文章,就不会想要休息了(笑)。
在坚持的同时,也要同步检视所做的努力是不是在正轨,当初我的方式是规划每周的进度,并且每天记录,最后在每周末进行检讨。市面上有很多工具可以帮助我们记录学习时间,像是 Toggl、Clockify 等等,我当时是使用 Toggl,主要是用来记录学习时间,目的就是检视自己是否有在正轨上,从升大四的暑假到面试录取这期间一共花了 2000 个小时在学习程式。

从零到一
这就是我软件职涯的的起点,从 0 到 1 不简单,但也并非天方夜谭。而能成功转换领域也并非偶然,需要扎扎实实的付出对等的时间与努力去达成这件事。
最后分享我很喜欢的一段话
You can’t connect the dots looking forward; you can only connect them looking backwards. So you have to TRUST that dots will somehow connect in your future. – Steve Jobs
这段话在我怀疑自己是否会成功时,帮助我很多,如果失败了又怎样,这也会变成我人生中的一个点,未来的某天也可能会在某个场合派上用场!