2018年8月1日 星期三

從第一份工作初次接觸資料科學 之後...

  我的第一份工作從事研究助理,除了偶爾有自己管理的資訊平台事務需要處理,其餘多數的工作內容盡是些單調、無聊、制式化、無發展性的交辦事項,在偶然接觸Python之後,閱讀由Al Sweigart著的《Python自動化的樂趣-搞定重複瑣碎&單調無聊的工作》,這本書告訴我,原來上級指派給我的交辦事項,多數是可以透過簡單的程式,快速且精準地完成工作內容,而我也實際透過撰寫簡單的程式語言,幫自己節省了數個月的工作時間,從此以後,我再也不相信「工作埋頭苦幹,贏得上司青睞」的那套想法。

  這裡我想要再次呼應我在〈網誌序〉提到的重點-「知道」本身的巨大力量。已經知道程式語言的人,無法揣摩不知道程式語言者,是如何看待學習與應用程式語言這件事。對於初學者而言,可能因為撰寫程式的成就而帶來自信,可能因為資訊領域的浩瀚而帶來恐慌,可能因為學習過程的障礙而選擇退出,也可能因為漫長的學習過程而陷入迷思;但對於資訊專業人員與相關科系出身的人們而言,身處在程式資訊的生態系中,早已「知道」怎麼接觸、學習與應用新技術,進而替自己樹立更高的專業門檻。

  由Bill BurnettDave Evans合著的《做自己的生命設計師》一書中得知,職涯方面的問路,幾乎是解決上述這種知道與不知道困境的唯一方法。例如透過駐公司系統工程師的介紹,我才稍微一窺系統工程師是如何應用Apache軟體基金會(The Apache Software Foundation, ASF)等專案開源工具如Tomcat用於架站、Mahout用於推薦系統、Lucene用於文字探勘等,以及網路上各式模板、套件、軟體、資源,來開發出公司目前擁有的各式資訊系統,這一系列的過程,需視工作需求,依照不同學習路徑,持續擴充學習各式各樣的技能。

  學習的路徑與方法不見得所有人都適用,以資料科學為例:1.6萬名工程師共同定義「資料科學家」:用 Python、30 歲、年薪 150 萬 ……,你符合幾項?,找到的這篇文章能夠顯示多數從事資料科學的人的樣貌,包含從業者樣態、工作內容、使用工具等等;因為資訊工具永遠學不完,所以必須了解應該做哪些適合自己現況的準備,接著才能尋求人脈資源與學習工具的幫助。

  學習工具方面,除了傳統書本自學的方式,許多免費學習資源甚至提供更具優勢的學習方法,例如彈性學習路徑、主題課程、互動社群、實作學習、工作媒合等等,以下表格僅僅整理維基百科等三個網頁的內容,就有這麼多的免費學習資源,無怪乎當我詢問資訊相關科系專業人士關於學習方向的問題時,只列出幾個免費學習資源,就請我自己回去研究,因為這些學習資源已經將學習路徑與方法等整合為一系列課程,只要依循指示學習,自然水到渠成。

免費學習資源:
連結
內容
特色
ü   HTML, CSS, PHP, JavaScript, Java, Python, CMD Line, SQL, Git, Ruby, Ruby on Rails
ü   Web Development, Programming and Computer Science, Data Science
ü   由淺入深
ü   結構化課程
ü   主題式課程
ü   HTML, CSS, JavaScript, Databases, Git & GitHub, Node.js, React.js, D3.js
ü   Web App, Back End
ü   提供證書
ü   建構非營利組織的專案
ü   More Than 20 Languages
ü   鍛鍊程式基本功
ü   優化編程能力
ü   HTML, CSS, JavaScript, Git, Databases, Ruby, Ruby on Rails
ü   Web Development
ü   由淺入深
ü   團隊合作

ü   線上實作與競爭
ü   優化編程能力
ü   工作媒合

ü   線上實作與競爭
ü   優化編程能力
ü   工作媒合
ü   Several Fields of Courses
ü   與大學合作
ü   HTML, CSS, PHP, MySQL, Node.js, React.js, Backbone.js, JavaScript, Ruby, Ruby on Rails, Git, Bootstrap
ü   Web Development
ü   由淺入深
ü   結構化課程
ü   Several Fields of Courses
ü   完全免費與開放的教育
ü   Several Fields of Courses
ü   與大學合作
ü   Several Fields of Courses
ü   與大學合作
ü   提供證書
ü   課程難度高
ü   非完全免費
ü   Programming Knowledge, Computer Science
ü   學童編程教育
ü   弱勢群體推廣
ü   Several Fields of Courses
ü   影片教學
ü   多為付費課程
ü   HTML, CSS, JavaScript, PHP, Binary, Ruby, jQuery, MySQL, Swift, Python, iOS, Android, C++
ü   Web Design, Web Development, App Development
ü   由淺入深
ü   排除學習障礙的技巧
ü   HTML, CSS, JavaScript
ü   Web Development
ü   由淺入深
ü   主題式課程
ü   Several Developer-based Courses
ü   與大學、大企業合作
ü   nanodegree須付費
ü   Android Development
ü   Android完整資源
ü   HTML, CSS, JavaScript
ü   影片教學
ü   Ruby, Python, HTML, CSS, iOS, JavaScript, SQL, Git
ü   Software Development, IT Ops, Information & Cyber Security
ü   提供學習路徑選擇
ü   非完全免費
ü   Web Development, Mobile Application Development
ü   Google專案之一
ü   優化編程能力
ü   Web Design, Web Development
ü   部落格
ü   收集文章、書籍等材料
ü   HTML, CSS, JavaScript, Blockchain
ü   部落格
ü   收集文章、書籍等材料
ü   CSS, JavaScript, Node.js, Swift, WordPress, Joomla
ü   Web Design, Web Development
ü   部落格
ü   收集文章、書籍等材料
ü   主題式課程
ü   非完全免費
ü   HTML, CSS, JavaScript, PHP, ColdFusion, Python, SQL
ü   Web Development
ü   部落格
ü   收集文章、書籍等材料
ü   Python, R, SQL, Spark, Git, Shell, SPREADSFEETS
ü   Data Science
ü   由淺入深
ü   主題式課程
ü   Python, PHP, Java, React.js, React Native
ü   Android Development, iOS Development, Full Stack Development, Web Development
ü   學生族群
ü   科技教育
ü   HTML, CSS, JavaScript, SQL, PHP, XML, ASP
ü   Web Development
ü   架站所需課程與資源
整理自:

  以目前自己的狀況而言,打算透過傳統書本自學的方式,將幾個基本的程式語言基礎學好之後,才會考慮使用免費線上學習資源,畢竟線上資源都是全英語的學習環境,當一個人連基礎的程式語言概念都沒有時,個人認為直接接觸全英語的學習環境會加深學習障礙,因此考慮未來以漸進式方式使用這些免費學習資源。

沒有留言:

張貼留言