跟我的背景很像,分享一下。
先讲结果,在 25 岁那一年,几乎什么都不会的我步入台湾的系统厂写 code,
目前 31 岁,在此之前只在国土外待过十数天,现在 LA 做 IoT 的 software engineer,
从 device 端 Linux distribution 调校到 application 撰写串接 cloud 一手包办,
小玩 server 端。
学、经简历
- 20 岁自学 AutoHotkey(一种脚本语言)小有成绩,
当时以之写的 WarCraft III 外挂被台湾各大网咖内建
(魔兽板 sitos 大大有帮我 review 过早期的 code)。
http://bit.ly/1T80XR2
http://bit.ly/29fs6U9
- 21 岁时以 AutoHotkey 写 PCman po 文赚 P 币外挂,PTT 帐号八年后因此被砍。
http://bit.ly/29dr2i6
http://bit.ly/1Pf3wB1
- 22 岁国立大学电机系毕,毕业时 C 语言程度为 printf("Hello, World!\n");
资结、作业系统、计组都不会,但很会玩魔兽三国。
- 24 岁到台北捷运当新路线的试乘工读,二个月后经同学引荐至国立大学做研究助理,
小练 Delphi。半年后主动离职,渡过了半年多的黑历史。
- 25 岁年中,黑历史后期,开始做类似保全的工作,同时打算出国留学。
因 IELTS 准备了二个月只考 5.5 分,加上大学都鬼混 GPA 只有 2.4。
所以最后没有去国外浪费钱。放弃出国后,类似保全的工作又继续了二个月。
之后因为找到系统厂的工作而离职。
在系统厂写 C、写 Java、摸一些 Linux/sysadmin 和 Android framework/app。
- 27 岁觉得该把资工的科班底子补起来,下班后去补习班补了资工所要考的六个科目。
- 28 岁因为考到外县市资工硕专而换工作,一样是软件工程师,主要任务是 porting,
因此学到了对电路图、改 pin 脚、booting process 和加强对 driver 的理解。
- 29 岁加入一间做 Android app 的 startup,后因个人因素离职。
- 30 岁因为目前的工作可以 work from home 而加入。
- 31 岁同样的工作,但来到了 LA,因为 team 里除了另一位同事跟我一起在台湾,
其他都是在美国的美国人,而他们再也受不了时差。
硕专还没毕业,因为我工作太忙了。
当研究助理时可能因为退伍没多久所以比较脑一点,一个循环可以想上一天。
(就是这时我真的很弱的意思。)
在学校遇到当年三年硕博毕业的医师教授,
和后来同样三年硕博毕业的医学系同学,噢对了他还跳级,
大大开了眼界。自那时起再也不敢自恃聪明。
(明白自己的能力定位。)
中间黑历史谈了一场悲剧收场的恋爱。
正因为悲剧收场,所以才转性努力。
(转捩点。)
在进系统厂之前的类似保全的工作,一天 12 小时几乎都待在自己的位子上没事干。
待过这类工作的心得是,会习惯性的怠惰,
而且不知道是不是那间公司特例,同事大都是失意的人或是怪人(虽然我也满怪的),
里面有性骚扰同事被告的,色诱主管后来在机房打砲的,家里开保全公司来当间谍的,
因为打瞌睡差点报销上亿纳税人血汗钱的。
我个人认为这是很严重的问题,我不是恶意歧视,但请小心他们的人生态度影响到你。
在保全那类型的工作无所事事四个月就找到系统厂的工作了,
所以没有真的在那种状况下持续很久。
不论如何,时间实在多到炸,所以任何静态的投资都可以做,
奉劝想做什么就赶快去执行。又有薪水又能做自己的事,划算!
(岔题分享一点主观人生哲学。)
身边多数人都靠自学过来没错,不过我是不建议单单自学啦,除非你是天纵之才。
最好找到好的老师或朋友、同事、社群,多看看别人比较不会走歪或钻牛角尖。
尤其你的背景不是本科,初期会不知道自己的能力定位,这时候只能靠比较,
自学就无从比较了。
不过不论如何,这一行对多数人来说,都是需要不间断且大量的学习的,
不建议没有热忱的人来。
(建议。)
我在系统厂的时候运气很好,遇到了 GitHub 台湾地区 Java 开源贡献度第一的同事、
介绍我玩 Codeforces 的同事、人称怪物团队的头头与他的快乐小伙伴、
手把手教我写 C 的主管、x86 逆向工程很厉害的、五天写二、三千行程式的。
没有他们我可能还在自以为很厉害。在外县市工作时的其中一位同事,
隔年就拿到三份在香港年薪破二百万台币的 offer,
所以我也从不觉得我进步得有多快,反倒有鸡立鹤群的感觉。
(再叉题分享一下人生哲学。看别人的光明面,在能力范围内 clone 他们的特质,
就有机会跟他们一样。)
我觉得我的资质没有特别突出,从跟你接近的程度到现在的程度花了六年,供你参考。