LINE 開發社群計畫: 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場以上的活動。歡迎讀者們能夠持續回來察看最新的狀況。詳情請看: