[心得] 我在 sivann 實習的日子

  今年二月,總經理替我們公司迎來了第一位實習生 Adwin,非常優秀,剛剛從交大電機畢業。在此文發表的同時,他應該是恰恰準備好行囊,準備前往美國繼續下一階段的求學旅程,在此祝福 Adwin 一路順風!
 
  Adwin 在我們公司只有實習五周,他的專案是由不才小弟我來規劃。我左思右想,果然就只有五週啊,該如何讓 Adwin 很快地接觸到 Node.js 與物聯網相關的開發呢?後來,我決定讓他試試看在五個禮拜內,使用 Node.js 撰寫 Wireless SoC 的 Driver,小小地學習一下如何撰寫 Node module,再結合 Express,最後將「machine」帶到前端,與使用者互動。目標就是讓一位新手,可以很快地體驗如何在 Node.js 的環境下結合硬體,從底層打通至應用層。(我們公司內部稱這為 "物聯網全端",因為不只 webapp,還得應付 machine hardware)
  
  當然,體驗之旅是無法把東西做到很完整的,引起興趣比較重要啦。如果 Adwin 有更多時間,我們當然很願意分享、協助他真正地做一些較嚴謹而完整的東西。但就這五個禮拜的成果,我覺得 Adwin 已經很厲害啦!! 重點是,有引起他對 node 的興趣~~ (又拐到一個無知少年投入 node 的懷抱啦~~~ 科科  XDDDD)
  
  以下就來看看 Adwin 的實習心得以及他的作品吧! (本文已取得 Adwin 同意發布於 E.E. 狂想曲,真的很感謝,因為最近 blogger 很缺水啊!!~~~~)  


******************************* 正文開始  **************************************

哈囉!我是Adwin。大學剛畢業至出國的 5周期間,有幸 Ivan 學長和 Simen 老師讓我在公司實習。以下是 5 周下來的實習小小心得,由於我不太會寫敘述性文章,那以下我就用 Q/A 的方式來寫吧!

前情提要

面試的時候老師大概給我的概念就是,公司的主軸在

  1. 物聯網不同 Protocol(Zigbee, Wifi, BT…)的整合
  2. Node.js,以及
  3. 使用 JS 寫前端

但我在大學 coding 經驗只有在 openCV、openCL 等 C 語言和 Java/Android 的應用上,對於Node.js, JavaScript, HTML/CSS and Zigbee 完全是零經驗。讓我印象最深刻的是… 老師面試時冒出一句話:我看過你的履歷,我覺得你應該 OK。

我心裡的想法是,老師既然知道我沒寫過 JS,還願意讓我這個 JS 初新者實習的話,那就試試看吧!

我在做什麼?

Based on node.js,開發 node.js API Library 讓其他使用者/開發者可以下 Monitor and Test (MT) 指令操作 TI-cc25xx 的 SoC,由於很多前端也使用 JavaScript,node.js API Library 可以使其他使用者/開發者快速搭建物聯網應用。內容包括:MT 指令的 framer、parser、command scheduler、checksum 等等。

(註: 以下這張圖片是 Adwin 的 mt-simple 專案,以及他所使用的硬體 )

(註: 以下這張圖片是他的hackpad 專案紀錄,習慣真好啊~)

(註: 以下是 Adwin 在實習期間所完成作品的快速導覽,整個記錄簡單來說,就是他使用他所設計好的 machine controller,與真實的 machine 接起來,最後將 machine 給揭露到 webapp 上面,而能與使用者互動。 )


我接觸了哪些新東西? (從初初初新者 => 初初新者)

Node.js, JavaScript, npm, Zigbee, TI-cc2530

最大的心得?

我覺得實習不只是學技術,待人處事其實是我滿大的心得。

我真的對 Simen 老師的耐心超超超級配服。因為現在的我也會覺得,我一開始在問老師的問題都太雞皮蒜毛了。我一開始連如何實做 callback function 這種基礎題都還要老師細心跟我講解 10 分鐘… 現在回想都超級愧疚的。可是 Simen 老師從來沒有對我使過眼色,這真的是我很驚訝也讓我一直在觀察和學習的事情之一。

  另外,學長姐幫我解決一些我的疑惑時 (例如我不知道 Zigbee endpoint 要去哪一個 Header檔找值、或是像 ADC 的腳位對應、或是 JS 的一些習慣等等),幾乎都是幫我幫到可以很快找到答案,沒有絲毫隱藏。這和大學念書就真的不一樣了…,期中考總是一堆裝不懂考很高的人。

  我個人的淺見是,同儕之間互相切磋、不藏私、多問問題、多回答別人問題,能讓專案的進度快速很多,尤其是新創公司。簡單來說,被學長姐罩了,也期待以後有能回答別人問題的能力。

如果能重來這五周?

我還是會常問老師問題,因為這樣進步很快。但很多資料我都應該先 study,例如我買了一本 Effective JavaScript,看了一半後 code 幾乎重刻 (可能看完後,又會想重寫),還有老師自己就有寫的關於 node.js, JS, Zigbee 等講義文章。
  
  沒準備好就動工,對我來說是事倍功半。若能重來,我應該花一個禮拜好好念完書,再開始寫 code。這是我覺得最有效率的方式,但我一開始都心很急,真是不可取。

    結論

    真的很謝謝 Ivan 老闆給我實習的機會以及未來規劃的建議,也謝謝 Simen 老師超級耐心的教學以及規劃這五個禮拜的進度,也讓我有機會了解並且喜歡上 node.js。另外,也謝謝學長姐 HedyJackPeter 的教學與幫忙。希望以後還有機會合作!

    ******************************* 正文結束 **************************************

      Adwin 真的很謙虛也很客氣,希望之後我們有繼續再一起共事的機會 (嘿嘿.... 人在國外也可以對我們的專案做出貢獻的好嘛... XDDD)。總之!大家都加油吧!
     
      
    (又要打個小廣告,我們公司很缺優秀的前端工程師哦!如果對物聯網開發有興趣的朋友,都歡迎與我聯絡呀~~ 還有還有,我們也蠻歡迎大學部實習生的啦!)
     
     
     
     

    沒有留言

    技術提供:Blogger.