Day 29 - 从大学肄业,联成电脑,到 Microsoft MVP 得奖,从零开始的软件工程师

这篇文章是从零开始到 MVP 系列的第二篇,想要看第一篇请往上点。

新创公司甘苦谈

每一间新创公司都是九死一生,在新创公司,你必须发挥超出预期的本事,不然公司很容易倒;必须跟公司一起成长进步,不然公司很容易倒;就算团队技术不断成长,公司还是有可能因为各种奇葩原因收掉,十间会倒九间。生死难
料,真的是航向伟大的航道。

这是我的第三家公司。一间台湾的新创公司。我在里面待了一年六个月,也不是太长。

但这一年半,是我成长最快的一年半

  • 技术突飞猛进
  • 开始跑社群、善用社群,後来变成社群负责人
  • 开始人生第一场的演讲,後来每年都讲 6-8 场公开演讲
  • 开始写技术文章,写到现在应该 100 多篇了,每天 4000-7000 多字,积沙成塔

能够有这麽明显的改变,是因为我在这间公司遇到了底下这些人

我在这段期间,跟着这些超屌同事,一起做出一大堆台湾都还没人做的东西。过程中也学了一堆

  • 学会 Golang
  • 因为没有 DevOps,学会自己当 DevOps
  • 2015 就开始玩自架 Kubernetes
  • 跟资料科学家学人脸辨识跟机器学习的皮毛
    • 後来自己做了一套人脸辨识,拿去 iThome Cloud Summit 与 GDG DevFest 演讲
  • 学会快速学习的方法

学习,绝对是有方法的。有人在旁边可以问,直接头洗下去开始做,远比慢慢看书看文件,学的要快多了。

有人说,我很幸运,能够遇到好同事。然後抱怨他都遇不到优秀的同事。

我想说,确实有运气成分在,但努力还是占大多数。怎麽说呢?

  • 自己一直原地踏步,是遇不到其他力争上游的人
    • 优秀的团队也会筛选优秀的人才
    • 你要争取到够好的工作环境,才可能会遇到优秀的同事
  • 遇不到好同事,可以选择换工作
    • 不满意现状就努力改变现状,不想抱怨就该有所作为

比你强的人都比你努力,所以他们才会比你强。你只能更努力才不会输太多

投入社群

这段期间,我也我开始投入社群这个大坑,过程是这样

  • 公司用了一些新技术,那时就自架 Kubernetes、跑 GlusterFS、人脸辨识、机器学习。2015 年做到这样技术算很领先了。
  • 我把 K8s 自架,以及设定 GlusterFS 的东西写成自动化脚本,是个很有趣的题目
  • 推坑王因为跟很多社群都有联络,说某某 Cloud Summit 缺讲师,叫我用这个题目去投稿
  • 好死不死就上了,只好认命把东西整理好上台演讲。从此投身大大小小的演讲
  • 後来也跟着推坑王去帮忙社群的大小事,基本上就是去借场地、乔讲师;打杂
    • 後来推坑王就找我当负责人,但负责的事还是一样,借场地、乔讲师、打杂
    • 总之尽量让社群每个月都有演讨分享会可以参加

总之遇见技术社群,是我这段期间最有意思的收获,让我可以从社群获得各种帮助,技术新知,实务心得,业界八卦,职缺与内推机会。所以我总是跟身边认识的软件从业朋友说,如果你想要快速成长,加入社群活动是一个捷径

  • 专业的人脉:
  • 技术新知:每天都有新的东西,认识其他从业人员会形成一个资讯分享网路,你只要追踪各个不同领域的朋友,滑 fb 或推特时就能被动吸收很多新闻
  • 机会:内部人士才知道的职缺,八卦,福利细节,甚至是内推以及面试小提示,对面是都很有帮助
  • 感情与人生:人还是需要夥伴的,社群可以让你认识到志同道合的朋友,彼此不会有公司同事的利益纠葛,交流轻松开放

只要参加社群,就有以上这麽多好处,为啥还不参加?我在许多演讲场合都宣扬过这个概念

  • 加入社群会帮助你成长
  • 直接报名当讲者,分享新技术,学得更快

不过那时还没获奖,所以可能讲话没什麽睡说服力。没什麽人理我XD

关於主办社群,其实我自己就是越做越熟练,後来渐渐习惯,也就不觉得很有负担。我付出的时间大概都是固定的,反而是社群给我回馈自己越来越多:

  • 主办好几场社群研讨会
  • 开始积极争取演讲机会,渐渐地累积演讲经验。从本来怕得要死,到上台可以侃侃而谈
  • 开始积极写技术文章,把工作与自己读书学到的技术,整理分享
    • 例如 iThome 铁人赛,过程很辛苦,也是持续的去做
    • 随着熟练,会越写越快,更有效率的产出
  • 认识许多社群活耀的大大们
    • 大大们会再介绍大大

社群会自己拓展,别人听到你也会来认识你,最後就是自动成长的循环

所以,要怎麽开始这个成长的循环?你只需要去开始做

  • 开始参加社群活动
    • 常常参加听讲就很棒
    • 有时间就来当志工,会更有机会认识其他志工,也能认识讲师
  • 开始试着上台演讲,3-5 分钟的 lightning talk 就很棒
  • 开始交朋友聊天
    • 直接去找社群 organizer,会当 organizer 的人都很欢迎陌生人来聊天。遇到我随时可以跟我聊。因为这就是我们持续半社群活动的目的。
    • 主动去跟讲师问问题,通常讲师也很欢迎。然後更有机会学到一些演讲时没有机会分享的经验
    • 主动加入会众们的聊天交流
    • 换名片,换社群媒体也很好

腾出时间,去社群聊天。上面讲的都不难,因为事实上就这麽简单。Just do it!

写技术文章

这件事其实也只是 Just do it XD,不过有一些外部的条件

  • 题目
    • 如果职务就能常常给你新的刺激是最好的,把工作的经验整理一下就能发布
    • 新知
    • 翻译也很棒,可以帮助到很多英文不好的人,也能加深自己的学习
  • 文笔
    • 就是多练习
  • 发布管道。文章写完要有人看
    • 如果常跑社群,光是社群的交流群组就发不完了
    • 国内发完了还有对岸跟国外

我写文章的起点,其实就是上篇求职时写的 SMACK stack,也就是我个人的学习笔记

  • 有人说对其他人有帮助,就开源出来
  • 工作学到的工具也是,我的笔记,开源出来分享
  • 後来就有系统地做这件事
  • iThome 铁人赛是一个很苦但很有效的活动XD

写文章除了要 Just do it 以外,还要 Keep going

集满获奖条件

不知不觉间就凑满 MVP 的条件, MVP 的审核是看你的社群影响力,演讲听众多少,文章阅读数多少,社群活动多少人来参加等等。

  • 演讲场数,累积听众人数
  • 组织社群活动
  • 技术文章
  • 累积一些读者与点阅数
  • 现任 MVP 的推荐

我并不是冲着 MVP 去做演讲,社群,技术文章,而是做这些事情带给我职场与生活上很大的收获,所以我持续的去做。最後满足 MVP 的条件,就申请一下。

事实上很多 MVP 都是这样:持续做自己喜欢做的事,发挥自己的影响力,到达某个程度後自然就满足条件,如果价值又与微软 MVP 奖励项目契合,申请就上。冲着 MVP 奖项才去做社群的人,我个人还没遇过。

做你喜欢的事情,持续做大做好,然後过程中找寻资源作为里程碑,加速下个阶段的成长。

又要找工作了,开始拥抱面试

这家公司的同事很好,但为何一年半就又离开了?

新创公司的原罪,就是现金流,很容易青黄不接。管理层为了维持金流,压力是很大的。在自有产品成熟前,这家公司被迫去接了政府的案子,有拿到钱解决金流,但因为各种客观因素,成品很差。

这很要命,因为追求卓越的员工,是不能忍受一直做烂工作的

跟老板沟通没结论後,很快就有人跳槽,一个跳大家跳,没人想继续做。

优秀的工程师,不容易招募,也不容易留下。公司也要一直维持优秀的工作条件,例如工作要有成就感,薪水要有竞争力。不然强者很容易去万面找到更好的机会的。

我当时是直接果断辞职,下定决心休息一段时间。也保留够多时间准备面试

这边想分享的是,面对面试的心态转变

  • 刚出社会啥都不会,面试等着被洗脸被电,怕表现不好就更想逃避面试
  • 有一些基础的技能,也有几次成功的面试经验,
    • 会事前做功课,认识公司,针对职位做准备
    • 还是菜,有可能白板提还是被洗脸洗爆,但就不灰心,不会的东西回去继续练练
  • 累积很多场面试经验,知道如何提升整体表现
    • 知道如何回答面试官的问题
    • 技术考题当然还是硬碰硬,但也提升了很多,大多都应付的来
  • 技术上已经精通某个领域,不太会被问倒
    • 公司也知道没有人什麽都会,只要好好表达自己精通擅长的地方,符合职务的需求就行
    • 不会就说不会,专注在表现沟通与反应,以及学习能力
    • 有很多面试经验,技术以外的问题回答都很得体,例如个人特质问题,公司职务问题,职涯规划等等
    • 知道怎麽开期待薪资与谈 offer

上面几个阶段要如何才能进步?

我的答案是:不断参加面试

  • 面试是需要经验累积的
  • 回答技术问题,也会越答越好
  • 谈判 offer 也是需要经验累积
  • 经验不足,有可能表现不好,或是 offer 谈不高,明明技术程度就有到,这样不是很可惜?

所以问题就是:你对面是够熟练了吗?面试就像打怪练等,入门的公司职位可能比较简单,但之後条件好的公司,一定是大家抢,面试也更难更严苛。记得好好练功,从小怪打起。

现在我个人的心态就是

  • 我很爱现在的公司,所以我不会走。但这点不阻挡我跑去外面面试
  • 但我持续接受外面的职缺,不管是 Head Hunter 或是社群私下传
    • 知道外面的行情
    • 知道面试的题目
    • 知道比较夯的技术与条件

再举一个例子,前同事面试王,一次求职都会收集 20-30 的面试与 offer,然後再选。

抱怨自己现在的职位不满意前,先不断的面试。把所有公司面完前,就会找到喜欢的工作。

下段谈後来的几份工作,越跳越好,公司倒倒也不怕。然後是近期的 MVP 申请细节。


<<:  [Kata] Clojure - Day 30

>>:  「Wordpress 外挂开发」代客下单最终章,观察经手人

[Day 19] 自动化机器学习 - AutoML

AutoML 今日学习目标 了解何谓 AutoML 超参数调参方法 Grid Search Rand...

Day.22 「让我们在更深入函式~」 —— JavaScript call & apply & arguments

之前我们有说过,再调用函式的时候,浏览器会传递隐藏的参数给我们函式 一个是「this」,除了 th...

[Day18]-档案读取

资料夹与档案路径 有关档案路径的模组需要先import os 取得目前工作的资料夹 os.getc...

Day3 - Yolo? 那是什麽? 能喝吗?

(今日内容将有数学式,请谨慎服用) 今天要介绍的主角,可以说他是影响模型输出结果以及训练过程中最大的...