我一直覺得我應該是勞碌命,好像無法一刻都閒著…
上一篇尾聲,我說明了在主管離職後,我進公司的第一個專案也跟著停工了。
我也沒有工作可以做了
連著兩三天沒事做(我記得好像才一天半吧),每個人好像都有他們的事情在運行
我受不了自己沒事情可以執行,我向前去和同一天報到的資深JAVA前輩以及另外一個資料科學家的女主管求救
再經過三個人討論後,他們認為目前手邊的專案沒有適合我這個等級的新手摩拳擦掌
目前公司最重要的則是開發公司的 AI 產品 SyGPS,但是這個產品的難度對當時的我來說十分的困難。
卻是唯一一個我可以接受的挑戰
第六章 - 逆境不放棄: 參與開發 公司產品 AI SyGPS
Mina,以後就跟我們一起參與 SyGPS 討論的會議吧!
剛開始進去和前輩們一起參與研發會議,當時跑的是敏捷管理的 Scrum
,三週為一個spring
。產品由 後端 python
以及 前端 Vue.js
開發。
好令人興奮呀!! 這是我在研究所 paper 上讀到的名詞,沒想到現在我正在其中!!
我慢慢開始接觸到合作 產品 manager (pm)
與 產品設計師
,開始了解產品是怎麼規劃以及研發的過程
像個小孩子參加大人的會議般,用青澀的眼光看著大人們討論事情
但由於當時的能力太弱了,剛開始還是只能參與會議。
而後來同天報到的JAVA資深前輩成了我的mentor。他的背景是 教育心理學
,他看著我茫然驚慌失措,決定利用他的背景來引導我學習,從一開始還是做做網頁,歷經將近一個月的磨練,讓我能夠提升到參與產品的開發。 他帶著我一起手把手開發後端的部分。
這一個月的練習,我就從產品最小的demo開始。前輩教我使用 pycharm
的 debug模式
來追蹤這個小demo專案。
每天都要有一點進度,因為前輩常常遠端,所以我每天都要錄20~30分鐘的影片,錄製 使用 debug 模式 介紹產品的程式碼架構。
AI的程式架構真的是很複雜,連續經過這好幾天的錄製影片,利用 後設認知
來認知自己的錯誤並改進。
連老闆路過陽台問我在做什麼,我都說 我在錄影,努力了解公司的產品程式架構
但整體上熟悉 demo 後,進到產品開發又是另外一個世界了。
這個專案對我來說就像是開發另外一個 flask
框架
等級的任務,連網頁都搞不定的當時,我得想辦法提升自己的能力,才能參與開發產品。
看著資深前輩用python 在產品內任意揮灑,我可是一點兒都看不懂,等級未免也差太多惹QQ。
當時壓力十分的大,幾乎天天都在懷疑自己能不能夠了解這些像天書的程式碼
之後新進了一個記者轉前端的初階前端工程師和一個法國人資深後端工程師,他們則是被分配到救火另外一個案子: 簡稱RB案(這個好像不太能透露名字)
我也天天和他們聊天,也天天和法國同事聊天,用我的破英文,試圖增進我的英文口說能力XDD
Mina,幫忙我填一下吧?
,你的三個月試用期心得表!
我通過三個月的試用期了耶!!!好棒喔!!!
我開心的在臉書發布 我度過了試用期
的喜訊 XD
第七章 - 飛吧小精靈
在前輩的引導下,我開始學習 三大部曲: 重構
, 單元測試
以及 設計模式
。
最開始是學習寫 產品開發的 單元測試
以及開發 有固定規格的功能
。
看著 kanban
上面的卡片,想當初我對這些卡片完全沒有感覺,也被資深前端前輩唸過自己的弱項就是看到題目不會化為程式碼解決。
每天開發每天練習,由於自己是寫單元測試
以及負責看ci
的pipline
,如果誰把pipline搞壞了(fail),我就要跟他提醒。
不過之後我都會嘗試幫忙解決bugs,慢慢的各種錯誤訊息我也看多了,熟能生巧也就了解出這個錯誤時我能幫忙修掉bugs,甚至幫忙找到bugs的解法。
開發 單元測試
也要看著團員寫的程式做測試程式撰寫,所以也是要了解新功能是怎麼被撰寫的。
要了解專案架構程式,了解每個功能,學習怎麼假設假資料,預測產出怎麼樣的結果,功能測試才算是通過!
到了開發產品的後期,我的能力進步許多。
前輩開始宣布,讓我學習 重構
,讓我把那些一開始新手時期寫得很亂/無序/長的程式碼透過重構技巧讓程式碼乾乾淨淨。
並且開始引導我學習使用 decorator
以及 學習使用 class
來寫 設計模式
: Builder
, Factory
, Chain Function
。
以及hash
, OrderDict
讓我最驚奇的是,每每我學會後,讓我程式碼 1000行直接刪到剩下200行
而我也在每次分享會中,用英文分享 重構
跟 單元測試
。
後來我能夠照著pm開的功能卡片做分割,完成 卡片內容
,多出的時間也能幫忙同事修復壞掉的pipline 以及抓蟲蟲(bugs)
當然還是有開發不完的情況,有次進度大幅落後時,公司臨時請合作公司的另外一個資深後端工程師來幫忙分攤我的部分,而我也在這次的經驗,多認識了一個厲害的後端前輩。
我也很感謝我遇到了,資料科學家背景的女主管
,她的個性十分理性,會像媽媽一樣照顧團隊每個人以及保護我們,我們每個人都像他的小孩般。以及會很理性妥善的溝通與規劃每件事情。
也很感謝自己遇到了 mentor 資深後端前輩,雖然是合作公司的資深工程師,卻很耐心的仔細引領我向前走成長。
pm的女主管家裏養了哈士奇,偶而會蹓狗來公司 ~
樂曲小重奏: 官網
當時公司的官方網站要開發新的功能,而後端的部分被指派的是我,前端的部分則是由 記者轉行的初階前端工程師擔任。
各由雙方的資深工程師帶領合作完成,不過由於我前輩常常遠端,很少在公司出現,前端的資深前輩很保護初階前端工程師,也就常常跟我說明哪些是我要做的,而我不太懂不明白,有時也常常被資深前輩誤會。
我們有溝通上的一些問題,遠在遠端的我前輩不在辦公室,也沒有參與到我們的討論,時常我們討論完做了一陣子才通知我前輩,我前輩則是因為不在討論中,所以接收到的訊息完全不一致。
我們有了吵架也有了溝通上的一些問題,我跟前輩開始有些許微妙的裂痕。
樂曲二重奏: 我的 hugo 部落格 !
我一開始都有在經營 wordpress 部落格,但隨著我的程式能力提升我越來越覺得wordpress 不夠我用XDDD。我想要來個比較炫的個人網頁。
經過資料科學家的建議使用hugo,還有前輩們推薦 git page
,我就開始著手蒐集這些資料與技術,在歷經幾次失敗與不放棄我把我的hugo網站給架起來了!
帶取而代之就是我的人氣要全部歸零從新來了XD,這時候我也開始認識 SEO 以及我要怎麼經營網站,沒有wordpress 一切都要自己來喔!!
但我還是很喜歡我的hugo 網站啦XDD !!! (就是這個網站)
當時我的技術直線往上飆,運勢也都還不錯,能夠幫忙開發產品以及幫同事解決bugs,那個時候我自己都自信起來了呢! 雖然不到跩,但內心也是認為自己很厲害了呢!!
殊不知老天在後頭埋了個坑洞呢!!
此時的我已經算學了 2/3 python的語法,還對於python 開發 熟悉了許多,甚至可以根據規格完成功能,還看過各種報錯/bugs!!學了單元測試, 重構 跟一點點設計模式。
就像寫文章一樣,起
, 承
, 轉
, 合
,目前走到了 承
,接下來就是 轉
的部分了。