演講內容分享:「如何培養競爭力與軟實力,如何寫好一份履歷表」

image-20210908183738530

前言

大家好,我是 LINE Developer Relations 團隊的資深開發技術推廣工程師 - Evan Lin 。主要的工作項目就是平台技術推廣與技術品牌的建立與溝通。 這次很榮幸受到邀請幫 DSC (Developer Students Club) 開發者學生社群的暑期夏令營活動 (Summer BootCamp) 分享關於如何打造自己的對於軟實力(Soft Skill) 的一些見解,也希望透過增強軟實力來讓同學們提升職場的競爭力。

投影片

軟實力 - 寫作

第一個希望同學們了解的寫作 (Writing) ,寫作是一個很好的習慣,尤其是資訊科技的從業人員。 寫作能力可以帶來好的文件撰寫,更可以讓你有「技術溝通」的能力。

這邊的寫作,不要想得太困難,建議用以下方式來寫:

  • 請透過 Today I Learn (今天我學到什麼) 來開始,今年你學到什麼,不需要太多的內容。可以單純的流水帳即可。
  • 如果撰寫過一些的文章,可以試著讓其他人了解文章的內容。 如果有人看不太懂,可以試著寫得更簡單一點。

軟實力 - 技術溝通力

「技術溝通能力」通常指的是技術事件的溝通,是有「目的性」的。通常都是為了工作上的事情而溝通,或是為了專案上台報告。許多人在學生時代的專案報告都會相當的簡章,到了公司後反而更是徬徨無措。以下有一些建議可以給同學們。

  • 為了聽眾著想 / Think about your audience: 你今天是跟誰溝通? 跟同專案的同事,跟其他專案的同事?還是跟你老闆? 記得對方的角色,如果不是同專案的同事,請千萬不要用太多艱深的專案名詞,反之需要用簡單的方式來解釋。
  • 練習! / Practice: 要做專案報告或是技術分享時,對於任何人都是一個困難的。建議可以把要講的事情寫成講稿,不斷的練習。才能讓你的報告更加的簡短而清楚。。
  • 儘量讓報告簡單 / Explain in simple : 不要試著讓你的報告或是分享看起來很艱深難懂,如果你無法讓你的聽眾了解,那麼你的報告就沒有達到目的。這邊有些脈絡的經驗分享:
    • 背景介紹: 這個專案的一些簡單背景分享。
    • 目前問題:目前的專案有哪些問題,或是目前專案有那些進度。
    • 新的解決方式:一個新技術的分享,往往是因為問題帶來的解法。

透過分享或是報告,可以讓你對於這個技術更容易理解。

軟實力 - 自我行銷力

雖然我們都是軟體開發相關科系,同學們未來也都會是軟體開發從業人員。但是自我行銷能力也是相當的重要,因為懂的如何分享,如何表現自我的專業形象,在公司裡面對於陞遷會相當有幫助。

  • 建立自我專業形象可以打造良好的職場生涯。
  • 不論是透過各種的社群媒體,可以讓你結識更多志同道合的專業夥伴。
  • 建議要使用 Twitter ,往往有 140 個字的限制,可以讓你的文章與發文更加的精簡,不會讓人覺得煩瑣。

軟實力 - 超速學習

身為軟體從業人員,很重要的能力是要有不斷學習的習慣。願意學習之外,往往更需要有能力可以在極短的時間內「有效的學習」。

  • 透過實作來學習 / Learning By Action : 學習任何語言,先練習去講。學習程式語言,先練習寫。 透過實作來學習,讓你更容易開始,更有信心,也更容易了解哪裡不懂。
  • 故意練習 / Intention Setting Practice: 常常會聽到有「一萬小時法則」,裡面是說透過一萬個小時的練習,可以讓你成為某個領域的專家。 但是真正要成為頂尖的專家,你這一萬個小時的練習,往往需要有目標性的練習。 根據每一次學習上的困難,加以克服。 身為籃球員,發現運球不順暢,專心的練五個小時。投籃不穩定,專心的練習投籃。才能讓你的練習更有效率。
  • 時時審核 / Review Yourself : 經常要知道自己學習的進度,才知道如何改善。

軟實力 - 時間管理

到了社會以後,由於工作壓力。往往許多的社會新鮮人都希望可以好好表現。 往往拼了命在加班,回到家中耗盡力氣就睡著。 隔天到了公司可能會偷懶上上網,晚上又拼命加班。 如此惡性循環容易讓人對於工作心生厭倦而討厭工作。對於工作的時間管理,我有以下的建議:

  • 工作時間全神貫注,讓事情留在上班時間:專注力(全神貫注在某一件事情)會是出社會後最珍貴的資產,安排固定得時間來回信,不要讓信件與 SNS 中斷你的專注狀態。因為全神貫注是消耗體力而且無法長久的,所以可以透過蕃茄鐘等小工具來設定以 25 分鐘為一個單位。
  • 下班時間,一定要花時間充實自己:下班後,有空絕對不看公司的事物。將時間放在充實自己與自我成長。
  • 將生活放在最高優先權:許多新鮮人,拼命的加班最後厭煩而離職。把生活放在第一位,可以保持對於工作的熱誠,讓你的熱情長久。

軟實力 - 自我約束

能夠定期健身或是運動是一個很好的習慣。 你會發現許多高科技業的高層往往花更多時間來健身。 因為週期性的健身除了可以帶來良好的體態外,更可以建立良好的自信心。 更何況,良好的身體也可以讓你擁有更好的體力,也能夠增加你的專注時間。=

競爭力 - 經常更新你的履歷表

講到競爭力,最容易的就是來說說如何寫履歷表。 還記得曾經在大學時代的學生社團的社長,我們當時給社員的課程就是寫履歷表。 一份好的履歷表可以讓你通過 HR 那一個關卡,直接送到用人主管的手上。這邊有幾個重點分享給同學:

  • 履歷表需要經常更新,建議一年更新一次。
  • 履歷表每一份工作應徵的時候需要調整,比如說應徵前端的工作,你的履歷表上面總不能都是後端的成就? 每一個人就像是鑽石依樣,有許多的面相。應徵就是要拿出對方最需要你的那一個面向。
  • 不需要太複雜的排版,市面上有許多簡單排版工作。往往最好。 https://github.com/posquit0/Awesome-CV
  • 千萬不要! 千萬不要! 千萬不要! 直接用求職網站上面的資料輸出。那都是制式的。會浪費審視履歷的人時間。(還有你浪費一次機會)
  • 內容排版建議:
    • GitHub, 跟聯絡資料。
    • 快速簡介,通常用一句話介紹你自己。
    • 為什麼你適合這份工作? 請真誠寫出該公司的名稱跟職稱,這樣很專業。
    • 工作經歷,如果沒有可以加上 side project 或是比賽作品。
    • 學歷放最後,並且要強調你最強的科目。 (GPA 總分高很好~但是我比較想看到你程式設計是全班最高)
  • 這樣的排版是針對看履歷的人通常都要看兩三百份。你的履歷只會在他眼睛出現 10 秒,第一頁就是重點。第二頁以後應該是不重要(或是補充資料。 不要浪費審核官的時間。
  • 如果你有我前面整理過的「軟實力」,可以寫上去。這些都是你的加分項目的。
每一個人就像是鑽石一樣,有許多的面。應徵就是要拿出對方最需要你的那一個面。

如何找一份好的實習工作

在 Joel on Software 這本書裡面,有提供了給同學們的一些建議,該如何同學們的競爭力。

  • 畢業前學會寫作:如同我在軟實力裡面提過,寫作能力與技術溝通能力。將讓你一輩子受用無窮。
  • 學會C語言:這有一點歷史因素,但是學會 C 語言對於系統架構與資料結構絕對是有好處的。
  • 學會個體經濟學: 懂的基本的供需關係,可以更了解如何挑選好的產業,好的工作。也能對於未來安排上更有計畫。
  • 不要因為CS 無聊就放棄:CS (Computer Science) 資訊科學是資訊從業人員的基礎,不論是進階的資料結構,演算法,到許多相關的數理概念。 目前學校時候學習可能會很痛苦,但是其實每一個演算法與資料結構都被應用在許多的服務中。都是許多架構或是服務的基礎。
  • 研習撰寫大量程式的課程:寫程式這種事情是需要練習與複習的,建議每一位同學都需要研習一到兩個需要大量實作的課程,除了可以保持程式撰寫能力外,更可以了解許多應用。
  • 找一門好的實習工作: 找一個好的學生時代實習工作很重要,除了可以讓你知道軟體公司的工作流程外,更可以讓你了解你對於軟體產業的興趣在哪裡。

接下來會跟各位分享, LINE 台灣提供的學生實習機會。 讓許多同學可以在正統的開發流程下學習跨國產品與服務的開發,除了可以參與許多跨國團隊的合作外,更可以學習到許多資深前輩帶領下面對龐大流量下的設計概念。

關於 LINE 學生實習機會: LINE TECH FRESH 介紹

LINE 台灣工程團隊每年透過 LINE TECH FRESH – 技術新星人才計劃,招募資訊科技相關科系,或對此領域有所涉略的大學生 / 研究生加入 LINE 團隊進行長期實習 (一年期),讓同學們能在國際級科技公司中觀摩學習。LINE TECH FRESH 由經驗豐富的技術專案經理帶領團隊,接觸多元化的專案與產品開發,學習業界實際的軟體專案分工,並體驗跨國團隊合作。往年工作內容包含 server、web、mobile app、chatbot、IoT、data、DevOps 等領域,並透過實習熟悉 LINE 平台系統、SDK、API 等。值得一提的是,LINE TECH FRESH 是有給薪的實習機會,對於軟體開發有熱情、有想法的同學們,千萬別錯過這個揮灑創意與衝勁的機會!

更多關於 LINE TECH FRESH 介紹文章有:

同學們的相關詢問:

1. 履歷的撰寫上是否需要美工排版?

A:

  • 不需要,比起漂亮的排版。面試官比較希望收到內容簡單實在的記事本文件。

2. 履歷的準備上是否有頁數的限制?

A:

  • 頁數也不要多,儘量兩頁內為主。因為審核人員一天要看幾百份。

3. 還有問題該如何問?

A:

  • 如果你還沒開啟你的 Github 帳號,而且你有許多疑問。可以考慮透過 Github 來詢問我。
  • 任何開源問題都歡迎: https://github.com/kkdai/AMA ,你也可以學習如何開啟一個 issue。
  • 小絕竅: Github Issue 也算是一種 Contribution 喔!

關於 LINE 開發者官方社群

立即加入「LINE開發者官方社群」官方帳號,就能收到第一手Meetup活動,或與開發者計畫有關的最新消息的推播通知。▼

「LINE開發者官方社群」官方帳號ID:@line_tw_dev

關於「LINE開發社群計畫」

LINE今年年初在台灣啟動「LINE開發社群計畫」,將長期投入人力與資源在台灣舉辦對內對外、線上線下的開發者社群聚會、徵才日、開發者大會等,已經舉辦30場以上的活動。歡迎讀者們能夠持續回來察看最新的狀況。詳情請看:

[好書分享] 光天化日搶錢 - 稅賦如何形塑過去與改變未來?

光天化日搶錢 - 稅賦如何形塑過去與改變未來?
Daylight Robbery : How Tax Shaped Our Past and Will Change Our Future
作者: 多米尼克.弗斯比  
原文作者: Dominic Frisby  
譯者: 王曉伯  出版社:時報出版 
出版日期:2021/05/11 
ISBN: 9789571388304

買書推薦網址:

前言:

這一本是今年所讀完的第十本書。 老實說,這一本書是我看歷史相關的 YouTuber Cheap 介紹的。這是一本介紹關於稅賦在人類歷史上扮演的角色,算是一本相當有趣的書籍。 並不是說書本的語法有多有趣,而是作者很巧妙了找了很多歷史上的案例分享稅賦在其中扮演了那一些的角色,讓我相當的驚奇啊。

富蘭克林說「唯死亡和交無可避免」,最近剛好 Google PlayApple Store 的地皮稅也吵得沸沸攘攘的,更容易透過這本書裡面的說明來了解吧! 裡面也揭曉了許多近期歷史大事件,其實都跟繳稅有關,美國的獨立,南北戰爭,二次世界大戰,這些大事情絕對不是單純你所了解的。其實絕大多數都跟稅務的繳納有關!

新聞:

關於歷史與地理知識型 YouTuber - Cheap

關於 Cheap 的影片在下方,這是我近期相當喜歡的知識型 YouTuber 。他喜歡透過世紀帝國的遊戲畫面,或是精美的美工繪圖來講解許多讓人經常誤會的歷史故事。很推薦追蹤一下。

此外 Cheap 也很大方分享了他的書單,裡面真的有很多相當有趣的書籍。 他自己也說過,每一本書都是自己看過有寫心得的書,才會推薦。 每一本書看到介紹與內容都是透過生動的內容來介紹經濟跟歷史的書籍,我也是很喜歡他推薦的書單。

推薦鏈結:

內容簡介與心得:

政府,是我們這一生買過最貴的東西,但我們對於稅金如何使用卻沒有置喙的餘地。
在每次繳稅深感被剝一層皮之際,我們可能沒想過,今日的稅制其實已經多次進化,歷史上多的是猶如荒誕鬧劇的稅賦政策。

十七世紀,英國曾經課徵壁爐稅,稅務員必須進到民眾家裡清點壁爐數量,既擾民又侵犯隱私,體貼的政府於是想到一個替代方案:窗戶稅。稅務員只須在屋外數算窗戶數量,而且窗戶應該足以代表一個人的財富,畢竟,房子愈大,窗戶就愈多。

但政府沒料到的是,人民的行為開始走樣。為了避稅,民眾拆掉自家窗戶、要求建商減少新建案的窗戶。一項稅賦政策,扭曲了一個城市的外觀;而窗戶減少所造成的日照不足與空氣不流通,更成為流行疾病盛行的幫凶。大文豪狄更斯不禁感嘆:「自從實施了窗戶稅,光線和空氣都不再是自由的了。」

另一方面,稅賦,也促成了美國誕生、法國大革命、印度獨立;世上的偉大建築如金字塔、白宮等都在稅收支撐下興建;人類能踏上月球,靠的當然也是納稅錢。稅賦,不只影響個人財產,更牽動著社會經濟、人口遷移、宗教信仰等眾多面向。

章節條列

第一章  光天化日下搶劫

「課稅的藝術,就是盡力拔最多的鵝毛,但讓他們發出最小的聲音」: 路易十四世的財務大臣

一開始作者介紹一個相當有趣的稅務演進過程,西元一六九零年的英國,因為財務困難,想到開徵「壁爐稅」。也就是家裡有壁爐的人就要繳稅,但是這樣每一個稅務人員都很痛苦,因為民眾不喜歡邀請人進來家裡檢查壁爐。 而且也有很多人寧願不裝壁爐而冷死,也不要繳稅。

於是後來改成了「窗戶稅」,稅務人員可以很簡單的在房屋外面來稽查是否需要繳稅,也不需要進去民眾的家裡。這也造就了許多當時的房屋,一個窗戶都沒有。許多人反對這一種(對光徵稅)的方式,紛紛做做出了許多的積極性的抗議,像是更改房屋的外觀像一個大窗戶。窗戶稅也限制了一個產業的發展,整個玻璃相關產業也就完全沒有發展的可能性,因為這個稅務讓他們蕭條好幾年。 這就是稅務對於一個國家的重要性。

第二章  非常情況帶來非常手段

第一個案例是畸形的稅,帶來痛苦的社會。 接下來提到了香港,在回歸前的香港(也就是英國統治下),採取相當低的稅制,並且在許多狀況下,甚至不去做許多的普查。 讓稅務無法有效的徵收,但是往往在當時的狀況下,這樣反而造就了香港成為亞洲的經濟樞紐。

第三章  為什麼要課稅?

許多歷史事件,往往都跟稅收有關。耶穌為何會到了伯利恆?因為瑪麗亞要過來繳稅。從古羅馬時期,古希臘時期都有相關的稅收。因為一個國家的誕生,不外乎有著國土,人民,當然還有隨之而來的稅收。

第四章  稅賦的搖籃

遠在美索不達米亞文化的時期,就有了第一個稅務的誕生。叫做「什一稅」(也就是不論你賺多少,要繳交十分之一給政府)。根據羅塞塔石碑上面的碑文,古希臘時代就有稅務的機制,而且那時候繳交稅務是榮譽的,所以自然而然也沒人逃稅。因為繳交稅務會變成知名人士,許多貴族都透過繳交稅務來獲得好名聲。

第五章  猶太教、基督教、伊斯蘭教以及稅賦

許多古代的侵略者(佔領者),都透過佔領土地,並且對該地方人民收取高度的稅,在支付軍隊的相關支出。

第六章  有史以來最重要的憲法文獻 / 第七章  黑死病改變了歐洲的稅制

中世紀的英國,納稅變成是許多逃避義務的方法之一,不想跟國王去打仗的貴族?繳稅! 不想參加十字軍? 繳稅! 直到亨利三世公布了最重要的法律「大憲章」,主章國王與庶民同罪,並且許多未來的民主法律開創的先驅。

接下來幾個章節都在講解各國稅率所造成歷史的故事,不論是柴契爾夫人的下台。美國的誕生更是因為英文的茶葉稅導致了美國上面新移民的反彈。而為人所知的解放黑奴的林肯,更是因為徵求關稅的擁護者。為了要跟南方徵收關稅導致了南方的脫離美國邦聯的南北戰爭。最後則是因為打著解放黑奴的口號,才讓黑人願意為他打戰。 這些有趣的故事,建議各位可以詳細的看一看,絕對不會後悔的。

第十六章 加密貨幣(虛擬貨幣):稅務員的惡夢 / 第十七章 數位的突破性發展 第十八章 數據:稅務員的新朋友

而時間到了現代,由於在家工作的原因。許多人都遠端工作(甚至是跨國工作),這也造程了國家無法對居著在上面的人收取稅。甚至是加密貨幣的產生,更是讓許多的「所得」再也無法查詢,而沒有辦法讓國家收取所得稅。

稅務原本是國家這個土地總合體的收入之一,因為新的國界已經不重要,貨幣收入再也無法得知。 稅務會不會有下一個階段的轉變呢? 我們可以期待的!

心得:

一直很喜歡透過有趣的方式來看待歷史,而這本透過稅務的徵收,造成社會現象的改變甚至是戰爭的興起。許多個故事都是之前沒有想像過的。真的覺得相當的有趣,也能看待稅務再也不是只是單純國家要收你的錢而已。

參考網站:

演講內容分享:「手把手教你建立自己的開源專案」

image-20210901171621512

前言

大家好,我是 LINE Developer Relations 團隊的資深開發技術推廣工程師 - Evan Lin 。主要的工作項目就是平台技術推廣與技術品牌的建立與溝通。 這次很榮幸受到邀請幫 DSC (Developer Students Club) 開發者學生社群的暑期夏令營活動 (Summer BootCamp) 分享關於如何打造自己的開源專案的經驗分享。

投影片

LINE 有參與開源專案嗎?

經常在參與許多開源聚會上,許多開發者朋友都不了解 LINE 有參與過相關的開源專案。但 LINE 其實也已經開源了超過 93 個專案,不僅有訊息平台的軟體開發工具套件,更有 LINE 開發內部專案過程中也在使用的套件:包括 ArmeriaCentral Dogma 等數個知名的開源專案,並且也開始經營相關的開源社群。大家可以參考一下 2019 年的 COSCUP Keynote 分享 LINE 企業內部的開源流程,並說明 LINE 企業文化鼓勵員工分享,更以開放的心胸接觸開源及參與開發者社群。

img

如何打造一個成功的開源專案

要打造一個知名的開源專案,建議各位同學們的步驟如下:

  • 找到一個好點子 / Find a great idea
  • 良好的說明 / Well Documentation
  • 完整的 CI/CD 流程 / Well Workflow
  • 找到你的第一個貢獻者 / Find your first contributor
  • 宣傳! 宣傳! 宣傳! / Promote ! Promote !

這邊依序開始講解這些步驟,其中「找到一個好點子」放在最後(因為最難 :p )。

良好的說明 / Well Documentation

首先先分享給各位(也是最容易被開發者們忽略的)就是好的文件。(也許可能是開發者們刻意不想寫的 :p ) 。 對於軟體開發來說,好的文件相當的重要。 而開源專案最重要的就是 README.md 這個檔案往往會出現在 github 的專案頁面。透過上面的範例,這邊有一幾個重點希望同學們能注意到:

  • 足夠多的 Badge (徽章):
    • 徽章本身是講解相關的狀況( build 成功,有說明文件…),此外也可以比較漂亮啦。
  • 專案說明
    • 一句短短話,讓路過的人知道你專案的摘要。
  • 如何安裝 (install) /引用 (include):
    • 這個往往是許多初期開源專案開發者遺忘的。你需要讓路過的人知道如何安裝,如何能夠正確 include 。這樣想要使用的人,不會第一部卡在環境設定上的相關問題。 比如說有一些 Python 相關的專案,在許多套件的相依性處理上,沒有寫清楚的話。往往之後看到的人都無法正確使用。自然而然就不會使用。
  • 如何貢獻 / How to contribute :
    • 這也是很重要的部分,包括了說明白開源專案的授權方式。 (可以參考 自由及開放原始碼軟體授權條款比較 ) 還有就是可以告訴想要貢獻的人,你希望他們能跑過哪一些基本的 unit testing 。越多的說明就可以讓你的貢獻者越安心。

參考資料:

完整的 CI/CD 流程 / Well Workflow

這邊指的是相關的 Github Action , Github Action 可以幫助開源專案以下幾個部分:

參考資料:

找到你的第一個貢獻者 / Find your first contributor

當你為了你的開源專案準備好了文件,也準備好所有的流程後。接下來就是開門來歡迎第一位一起開發的人員了。(這邊往往需要很多的時間)。到底要如何找到你的第一位貢獻者呢?

這時候第一步建議你可以先為了自己的專案寫下幾個讓想要貢獻的夥伴們可以上手的部分。這個在開源社群被稱為是 「Good First Issue」。 透過這些比較容易上手的問題:

  • 可能是文件修改(中文化,日文化等等)
  • 可能是加參數。
  • 相關文件補充需求。

這些可以讓想要幫忙的人有一個好的開始,也是可以吸引到更多願意幫忙的人的方式。

參考資料:

宣傳! 宣傳! 宣傳! / Promote ! Promote !

做好了相關的說明後,建議要經常去推廣你的專案。畢竟你需要透過不段的推廣,你也才知道哪些東西是大家有興趣的。推廣的方式可以有以下幾個方式:

  • 準備一些說明文章,透過文章的說明來解釋這個 Github Repository 的主要功能。雖然在 README 會提到,但是透過文章的敘事方式往往可以讓更多的人願意去了解你的專案本質,體會專案主要解決的痛點。
  • 分享! 就是不斷的第透過線上分享,線上演講去分享。這也是最直接的方式可以讓你接觸到你的潛在用戶。相當推薦可以在「開源者年會」去分享你的專案,每一次的分享就會直接有許多星星(Github Like ) 的進帳。

找到一個好點子 / Find a great idea

最後,也就是最難的環節。 經常有同學與朋友問我,你怎麼有那麼多的點子可以準備那麼多的開源專案?(筆者的開源專案有接近 200 個 repositories)。這邊想要跟各位分享的是,建議方式有以下兩個:

  • 透過一些小工具 Trello 或是其他記事工具,把你想要打造的工具先記錄下來。 有空的時候把它拿出來開始寫。
  • 看到好的專案,先試著 Fork出來開始學習裡面相關內容。可以透過你喜歡的語言,或是練習寫一個更精簡的版本出來(也就是功能比較少的版本)。

透過這兩個方式,主要分享給同學們的是:

  • 不要因為靈感而卡住,開源專案的重點就是努力寫,拼命寫。覺得有趣就可以寫。
  • 很多時候,學習其他人偉大的專案。往往是開啟自己專案的好契機。

開源專案與學生實習工作的關係

最近經常看到同學們在討論,到底從事開源專案或是寫一些自己的 side project 跟工作有沒有關係? 這邊可以分享關於 LINE 的實習工作機會 LINE TECH FRESH 就很在意你的開源專案,因為從開源專案可以看出以下一些重點:

  • 你是否有良好的文件習慣(端看 README.md)
  • 專案是否有良好的 CI/CD 流程,也代表了你是否懂一些基本的流程。
  • 看相關專案的程式碼,可以了解你對於 Git 了解的程度。
  • 除了這些之外,好的開源專案代表你也有良好的 Pull Request 的訓練與習慣。對於多國協作上,你也更容易能適應相關團隊合作的方式。

關於 LINE 學生實習機會: LINE TECH FRESH 介紹

LINE 台灣工程團隊每年透過 LINE TECH FRESH – 技術新星人才計劃,招募資訊科技相關科系,或對此領域有所涉略的大學生 / 研究生加入 LINE 團隊進行長期實習 (一年期),讓同學們能在國際級科技公司中觀摩學習。LINE TECH FRESH 由經驗豐富的技術專案經理帶領團隊,接觸多元化的專案與產品開發,學習業界實際的軟體專案分工,並體驗跨國團隊合作。往年工作內容包含 server、web、mobile app、chatbot、IoT、data、DevOps 等領域,並透過實習熟悉 LINE 平台系統、SDK、API 等。值得一提的是,LINE TECH FRESH 是有給薪的實習機會,對於軟體開發有熱情、有想法的同學們,千萬別錯過這個揮灑創意與衝勁的機會!

更多關於 LINE TECH FRESH 介紹文章有:

同學們的相關詢問:

1. 如何讓自己的 Github 容易被找到?

A:

  • 試著多寫一點文章,每一篇文章都是 SEO 好的入口。可以讓更多的人看見你的專案。
  • 永遠別忘了,要將自己得開源專案當成產品一樣宣傳。可以多參與一些演講來分享。

2. Github 專案建議以 Quality 為主,還是 Quantaty 最主?

A:

  • 建議想到就寫,因為你不會知道哪個專案會紅。
  • 我也有許多專案,因為機運就超過了 1K 的 Star 。

3. 會不會擔心自己的專案被人家抄走?

A:

  • 不會,開源專案不需要擔心你的專案被抄走。與其擔心被抄走,你應該更擔心你的專案一顆 Star 都沒有。
  • 真正擔心的部分,建議都先寫論,先寫專案。然後才開源。

4. 哪一些 Github 是企業比較在意的?

A:

  • 如果以 LINE 而言,如果你有 LINE Bot 的開源專案,我們除了可以知道你已經對於公司相關聊天機器人瞭解之外。也能了解你對於錯誤控管的方式(也就是對於使用者隨意輸入文字的處理),可以透過這些方是來了解每一個開發者細心的程度。
  • 跟前面呼應類似的話題,主要是看你每一個專案處理的細緻程度。有沒有文件化,有沒有良好的流程。

5. 是不是一定要學會 Git 指令才能開始做開源專案?

A:

  • 不需要,許多同學也來問我是否需要買一本 Git 教學手冊才開始做開源專案?
  • 其實不需要,建議先開始建立專案。往往許多基本指令,可以透過 VSCode 等等相關軟體都可以快速協助你處理。
  • 真正等你需要更底層的指令,你就會去查詢 git pull -rebase 等等相關指令。

6. 還有問題該如何問?

A:

  • 如果你還沒開啟你的 Github 帳號,而且你有許多疑問。可以考慮透過 Github 來詢問我。
  • 任何開源問題都歡迎: https://github.com/kkdai/AMA ,你也可以學習如何開啟一個 issue。
  • 小絕竅: Github Issue 也算是一種 Contribution 喔!

關於 LINE 開發者官方社群

立即加入「LINE開發者官方社群」官方帳號,就能收到第一手Meetup活動,或與開發者計畫有關的最新消息的推播通知。▼

「LINE開發者官方社群」官方帳號ID:@line_tw_dev

關於「LINE開發社群計畫」

LINE今年年初在台灣啟動「LINE開發社群計畫」,將長期投入人力與資源在台灣舉辦對內對外、線上線下的開發者社群聚會、徵才日、開發者大會等,已經舉辦30場以上的活動。歡迎讀者們能夠持續回來察看最新的狀況。詳情請看:

[學習心得][Golang: Gotip] 快速嚐鮮 Go Proposal 45713 'Muti-Module Workspaces'

image-20210819214237647

摘要

Vendoring 跟 Dependency Management 是 Golang 一直想要解決的問題,透過了 go mod 原本可以管理第一層的套件。透過 go mod vendor 你可以下載完相關的依賴的套件在本地端的 vendor/ ,如果要改上一層的 dependency 就可以直接修改。 但是如果你要改的 Denpedency 上一層跟他的更上一層的 檔案呢?

以往作法可以透過 go mod edit 來一個個修改,但是一但檔案很多的時候就會相當的複雜。 有什麼方式可以快速在 local 做一些確認,也才好去發 PR 到 upstream 去? 這邊介紹一個正在做最後審核(如果通過了,預計是 go 1.18 的功能: Multi-Module Workspaces )。

Proposal 作者很貼心,還發了有著大狗狗的 Demo Video 。必須說~因為有隻可愛的大狗~我乖乖的把 proposal 看完了。

如何安裝

# 取得最新版本的 golang source code
> go install golang.org/dl/[email protected]

# 下載某個 CL base 的 gotip 
> gotip download dev.cmdgo

# 看一下修改後的相關指令,注意 initwork, editwork ...
> gotip help mod

The commands are:

	download    download modules to local cache
	edit        edit go.mod from tools or scripts
	editwork    edit go.work from tools or scripts
	graph       print module requirement graph
	init        initialize new module in current directory
	initwork    initialize workspace file
	tidy        add missing and remove unused modules
	vendor      make vendored copy of dependencies
	verify      verify dependencies have expected content
	why         explain why packages or modules are needed

Editor (VSCode) 要怎麼改

[Preference] -> [Setting] -> [Extension]

image-20210820171314071

如果改成 gotip 這樣可以讓 VSCode 裡面的 Go 使用到最新版本的 gotip 來用最新功能。

如何使用 Muti-Module Workspaces

情境假設

現在有兩個套件:

  • https://github.com/kkdai/iloveptt
  • https://github.com/kkdai/photomgr

其中 https://github.com/kkdai/iloveptt 會引用到 https://github.com/kkdai/photomgr 套件。 以往在修 bug 的時候,需要回到他的 upstream photomgr 去修。 這時候只有兩個方式:

  1. 先發 PR 到 photomgr,然後進版號。 iloveptt 在抓新的版本,再來測試。
    1. 這個有時候會有一個問題,就是 local module cache 會造成你的困擾。要抓好幾次才會看到新的版本。
  2. 透過 Vendor 的方式,先改 local 。但是很多時候會忘記要送 PR 到上一層。

可以透過 module replace 來改,但是每一個得寫一次,如果你用到很多個檔案,就會相當的複雜。

如何透過 Muti-Module Workspaces 解決問題:

這時候解決方式為: (註解: 以下 gotip 因為是嘗鮮版本,之後整進去後就會使用 go )

  • 在上一層 /Users/evanlin/src/go/src/github.com/kkdai 使用 gotip mod initwork iloveptt photomgr

就這麼簡單,現在修改檔案 https://github.com/kkdai/photomgr 不用在送 PR 了,可以先在 Local 改。 改完後再分別送 PR 即可。

相關文章:

[TIL] eBPF Summit Day1 Quick Notes

image-20210819150523189

摘要

eBPF (Extended Berkeley Packet Filter) 是近幾年對於 dynamic tracing 裡面一個很知名的技術。 由於 Observability 受到了大家的重視,在網路層面或是 SRE 應用上都有許多相關得說明與文章。 eBPF Summit 2021 集結了許多業界知名人士,並且帶來相當多基本的介紹,歡迎大家也可以了解。

什麼是 eBPF (轉)

動態追蹤技術(dynamic tracing)是現代軟體的進階除錯和追蹤機制,讓工程師以非常低的成本,在非常短的時間內,克服一些不是顯而易見的問題。動態追蹤機制如果內建於作業系統,那麼使用者層級的程式即可隨時採集資訊,構建出一幅完整的軟體樣貌,從而有效地指導我們做一些很複雜的分析。這裡非常關鍵的一點是,它是非侵入式的。如果把軟體系統比作一個人,那我們顯然不想把一個活人開膛破肚,Berkeley Packet Filter (BPF) 最初的動機的確是封包過濾機制,但擴充為 eBPF (Extended BPF) 後,就變成 Linux 核心內建的內部行為分析工具包含以下:

  • 動態追蹤 (dynamic tracing);
  • 靜態追蹤 (static tracing);
  • profiling events;

(以上資訊摘自:宅色夫 Linux 核心設計: 透過 eBPF 觀察作業系統行為)

eBPF Summit 2021 研討會資訊

eBPF Day 1

The State & Future of eBPF / Thomas Graf

這次的 keynote 也相當知名,第一位就是 Thomas Graf 身為推廣者之一,會跟大家介紹目前的狀態跟未來的發展。

Getting Started with BPF observability / Brendan Gregg

第二個算是頂尖的知名人士,身為 NETFLIX 的工程師之外, 並且他也是兩本知名書籍的作者:

他的知名事件就是 An Unbelievable Demo - Brendan Gregg (有人翻譯成中文 我的开源代码被科技巨头偷了,对方还跑到我面前演示 )

第一天其他議程都專注在 Observability 可以好好學習。

image-20210819152102715

image-20210819152107812

其他議程可以慢慢了解。

影片

Reference

APCSCamp 2021 活動分享 - 如何學好程式設計,一起來 LINE 實習

前言

大家好,我是 LINE Developer Relations 團隊的資深開發技術推廣工程師 - Evan Lin 。主要的工作項目就是平台技術推廣與技術品牌的建立與溝通。 這是很開心能跟 APCSCamp 2021 (程式設計能力培訓營) 合作,很榮幸能代表公司跟同學們分享如何將程式設計學好,並且如何才能來 LINE 做實習生。

關於 APCSCamp 2021

何謂APCS

  • APCS 為 Advanced Placement Computer Science 的英文縮寫,是指「大學程式設計先修檢測」。其檢測模式乃參考美國大學先修課程(Advanced Placement,AP),與各大學合作命題,並確定檢定用題目經過信效度考驗,以確保檢定結果之公信力。在台灣, APCS 是目前衡量國高中生程式能力最有公信力的一個指標:目前有 31 所大學, 38 個科系,設立了 APCS 組,將 APCS 納入入學的門檻。

緣起

  • 近年來,隨著人工智慧崛起,資工系竄升成一大熱門科系,大家開始關注要進入資工系所需具備的能力,而 APCS 也因此備受家長關注。補教業者更積極把握機會,使 APCS 的補教課程如雨後春筍般設立。然而,我們發現補習班的課程教材品質參差不齊,且其中一些還有不少進步空間,有些題目的解答甚至是錯誤的。除此之外,我們也發現這些 APCS 的課程大多集中在大臺北地區等大都市。
  • 為解決以上問題,我們決定利用我們的專業能力,在 2021 暑假舉辦一個針對初學者,以 APCS 考試大綱規劃課程內容的線上營隊。雖然線上營隊的舉辦較實體多了許多限制,但考量疫情趨勢與我們期望打破地理限制的初衷,我們仍決定線上舉行,期望讓全臺各地想精進程式能力的初學者都能參與。

(相關資訊來自於: APCSCamp 官方網站

這一次很開心能夠支持 APCSCamp 2021 (程式設計能力培訓營) 並且透過廠商分享議程來跟同學們見面。

演講: 如何學好程式設計,一起來 LINE 實習

投影片投影片鏈結

參與同學

主要的參與同學為 APCSCamp 的學員(高中同學),主要有「語法班」與「算法班」兩個班級。並且也有工作團隊的一起共襄盛舉。

關於 LINE 服務的介紹

一開始先跟每一位同學介紹 LINE 服務的發展歷史,從 2011 年在日本啟動 LINE 的服務之後,到了今年( 2021) 也剛好十年了,十年來的成長從溝通的平台,轉變成每一個使用者的生活平台。

LINE TODAY

作為大家天天會用的主流新聞平台,除了日常提供大家許多新聞相關題材外,其實裡面也含有許多不同的內容,如:賽事直播(近期很火紅的 NBA 季後賽也有轉播)、電影訂票、選情專區、泰國限定的樂透、電影…等等,擁有這麼多功能都是為了讓用戶可以在 LINE TODAY 中看到大家最新、最值得關注的內容。擁有這麼多功能的平台,同時也是一個跨國的產品,同時也提供給泰國、印尼以及香港。

更多資訊,大家可以參考 LINE TODAY

LINE 購物 / LINE SHOPPING

電商已成為現代人不可或缺的一部份,在本次的議程中很詳細地透過不同的例子(母親節、送禮優惠…)來解釋在 LINE 電商服務中的不同使用情境,讓大家可以更快速的了解透過 LINE 來購買相關東西時的好處以及可用性。

更多資訊,大家可以參考 LINE 購物

LINE 熱點 / LINE SPOT

LINE SPOT 團隊是主要是開發 O2O (Online to Offline) 及活動相關的服務,LINE SPOT 是一個以您所在的位置為起點,讓您可以在上面看到各式店家的優惠資訊,把線下的資訊整合到線上的一個全新的服務。 更多資訊,大家可以參考 LINE 熱點

如何學習好一門程式語言? (以 Golang 為例子)

因為參與演講的同學們都是高中同學,而且課程主要內容都是以 C++ 為主。 所以我透過學習一門新的程式語言 Golang 作為一個範例。來解釋如何學習一門新的程式語言。

在學習 Golang 程式語言的路途上,我建議每一位朋友都不要去了解太多關於 Golang 的設計理念,也不需要知道語言特色,更不要貿然去了解太多關於運作的原理。 建議很重要的事情就是:

先下去試著寫幾個應用

透過寫一兩個應用,你可以獲得相關的知識:

  • 如何可以順利的完整編譯 (compile) 一次 Golang 的應用。
  • 如何可以設定相關環境,當然有可能是透過 Golang Playground
  • 可以快速讓自己熟悉一些基礎的語法。

透過這些方式,你可以迅速讓自己可以快速擁有開發環境與第一個開發出來的應用。 這個途中,可能會遇到許多的問題?

  • 如何編譯 Golang
  • 如何跨平台編譯
  • 如何存檔案自動修正排版

學習一門新的程式設計語言沒有什麼訣竅,首要條件就是要先試著打造東西。

主動學習,遇到問題,找出來,紀錄下來,分享出去。

學習程式語言的時候,許多時候我們都會有一些疑問?

  • 該怎麼寫 for 的語法?
  • 該怎麼將遞迴改成 for ?

建議遇到問題可以將問題丟到搜尋引擎去找資料,這時候找到了解答後記得要多嘗試幾次。並且趁著印象深刻的時候,將找到的解答寫成一篇文章。

這樣做有許多的好處。很多時候尋找到的答案,不完全是你希望的解答。但是經過你的嘗試與探索之後,最終找到了真正的解答。 然而這樣的探索過程與解答,很有可能容易遺忘的。透過這樣的主動式的學習,你一路上會遇到很多問題,比如說:

  • 想要寫 recursive 忽然發現,不會編譯
  • 編譯玩了,發現 recursive 卡住了
  • 學習到如何 debugging
  • 找到問題點,修改後成功了。

所以透過主動學習有以上許多的好處,並且透過記錄下來。你會在腦中在思考一次整個流程,比如說:

  • 當初無法編譯的狀況? 原因是什麼?
  • 正確解決問題後,修改的部分什麼喔?

相關的流程都是一個很好幫助你以後回想的流程。

費曼學習法 : 分享,重學,簡單化比喻

這裡補充一下,諾貝爾物理獎獲得者 理查德•費曼(Richard Feynman),費曼的方法很簡單,但卻非常有效果。只有四步:

  • 選定一門知識,學習他
  • 想像跟一個新生,教導他
  • 重學,然後學得更深入
  • 用簡單化的比喻方式

這些流程被稱為「費曼學習法」是許多人公認的有效學習法,筆者認為這也是我相關的學習法。 下一步就是要去「分享」。

透過分享,想像跟一個初學者解釋。

不論是跟同班同學的讀書會心得報告,或是在社群裡面的分享。因為要跟不懂的人講解某些知識,你自己會有相當多的疑問,這時候可以試著在學一次。把相關的疑問都釐清,自然而然你懂的透徹,就越能夠跟人用簡單的比喻來解釋。經常聽到許多前輩分享到一件很重要的事情:

一個人懂的多深入,就看他能不能把一件很複雜的事情用越簡單的事物來解釋。

當你覺得你不會解釋的時候,其實要小心。往往是你只有一知半解的狀態,同學們也要注意了。

如何才能學習許多跨國(外商)公司經常使用的技術?

這邊是許多外商或是跨國服務經常使用到的一些技術,那麼究竟要如何在學生時代能夠快速地並且有效率的學習到這些相關的技術呢?這時候就要推薦大家可以申請 「LINE 的技術新星實習計畫: LINE TECH FRESH 」,

TECHFRESH 介紹與相關福利

LINE 台灣工程團隊每年透過 LINE TECH FRESH – 技術新星人才計劃,招募資訊科技相關科系,或對此領域有所涉略的大學生 / 研究生加入 LINE 團隊進行長期實習 (一年期),讓同學們能在國際級科技公司中觀摩學習。LINE TECH FRESH 由經驗豐富的技術專案經理帶領團隊,接觸多元化的專案與產品開發,學習業界實際的軟體專案分工,並體驗跨國團隊合作。往年工作內容包含 server、web、mobile app、chatbot、IoT、data、DevOps 等領域,並透過實習熟悉 LINE 平台系統、SDK、API 等。值得一提的是,LINE TECH FRESH 是有給薪的實習機會,對於軟體開發有熱情、有想法的同學們,千萬別錯過這個揮灑創意與衝勁的機會!

更多關於 LINE TECH FRESH 介紹文章有:

這裡可以讓大家了解一些相關福利有:

新的辦公室大樓

2021 的五月開始, LINE 正式搬到新的大樓,嶄新的設施與更具彈性的辦公空間,可以讓同學們發揮更多創意。

新進同仁訓練與內部相關活動

許多新進員工都要適應許多公司的文化與規矩,更重要的是要能夠快速認識相關的部門與一起進來的同學們。 以往正職的工程團隊成員都會到日本總部去做相關訓練,從 2020 年因應疫情的原因,改成在台灣辦公室的訓練,但是活動更加有趣跟豐富:

  • CTO 介紹工程團隊組織
  • 開發者關係部門介紹相關對外與對內的活動
  • 資安團團隊的基礎資訊安全特訓
  • 資料工程團隊介紹 AI 在 LINE 在地服務的應用
  • 其他部門的相關介紹。

重要的是,有手足球比賽來讓新進同仁(包括實習的同學與正職同仁),都可以一起分隊競賽,增進感情。

更多相關文章:

內部創意發想: LINE Internal (AI) Hackathon

今年即將舉辦第三屆,LINE 台灣的內部同仁 AI 創意競賽。 每一年都是同仁們發揮創意的時間。 透過 AI 技術的輔助與幫忙,一起來讓許多在地化服務能更貼近使用者。

相關文章:

最後:

希望每一位參與高中營隊的同學,能夠了解學習技術有效的方式。在往後大學的課程中,能夠更有效率的學習,分享,再學習。也期許每一位營隊成員,我們有機會能在 LINE 的辦公室內一起努力相互成長。

關於 LINE 開發者官方社群

立即加入「LINE開發者官方社群」官方帳號,就能收到第一手Meetup活動,或與開發者計畫有關的最新消息的推播通知。▼

「LINE開發者官方社群」官方帳號ID:@line_tw_dev

關於「LINE開發社群計畫」

LINE今年年初在台灣啟動「LINE開發社群計畫」,將長期投入人力與資源在台灣舉辦對內對外、線上線下的開發者社群聚會、徵才日、開發者大會等,已經舉辦30場以上的活動。歡迎讀者們能夠持續回來察看最新的狀況。詳情請看: