These subpages above are notes for presenting learning footprint:
( There’s a lot to improve ! )
成為一名軟體工程師,
是我實踐人生理念的最佳方案
我對人生的理念:
如果我沒有既存的經濟基礎,我想從事與軟體工程相關的工作來掙錢
因為相對的,軟體工程這個領域的夥伴更大方地在網際網絡中討論並分享他們的經驗與觀點
這個環境將不斷帶來刺激,讓我的日子充滿生氣,並輔佐我保健那很現實卻少不得的競爭力
申請AppWorks School #19前我做了什麼?
回頭看大四時對工作這事還是迷惘,心中只是想著要跨轉軟體工程業 沒有程式語言的基礎下,以為直接跑去實習做中學會是轉戰軟體工程師更有效率的方法 第一份實習我只用FileMaker(一款資料庫應用軟體)
去使用食藥署的食品營養成分資料集
做出可以查找食品營養成分的小工具
過程中透過postman練習api的get來了解資料庫
然後進一步將JSON形式的資料庫匯入FileMaker來應用
當時對於資料庫的relationship感到有點頭痛
努力做出功能了 但終究是不求甚解(皺眉)
📌
這份實習幾乎可以說是沒有寫過程式碼
但遇到大方的主管 讓我認識到Notion
成為了我當時玩烘焙的得力助手 從此開始受惠記錄電子筆記這件事🙏
(我認為妥善運用工具是很重要的基礎 當我清楚自己大腦資料處理的效率不足時)
我也因此決定踏入資管系基礎C++的課堂
畢業後的某天 我收到大學第一次也是最後一次的書卷獎通知
C++基礎也拿了A+
這鼓勵了我學習程式語言的信心
第二份實習是政府推動的數位轉型的計畫(T大使)
是第一份實習的主管和我分享的資訊
本計畫有4組:數位行銷、智慧服務、智慧製造、人工智慧
當時以哪一組都好的態度申請 (對職業的想法仍是一團謎ing)
最後我度過了一段工業物聯網的探險
與軟體工程的開發較沾得上邊的:
⓵ 練習使用Jmobile(一種人機介面)進行MQTT通訊的訂閱和發佈
選擇mosquitto broker在cmd上運行
⓶ 透過認識公司內部軟體IoTstudio這種以Node-RED為基礎的閘道器編程環境
第一次跟node.js有” 遠端 “的接觸(XD
📌
這段實習意外加強我寫作與學習的能力
在完成錄製4部中文版Jmobile功能教學影片的過程裡
我先是觀看官方沒有字幕、咬字隨性的英文版教學影片
試著理解功能的運作 將整個系列的功能透過文字整理、編排成
口語化、結構邏輯化,能與示範流程同步搭配的敘述
(寫作對於我是邏輯思考的活動 而編程編碼感覺就像是一種寫作)
也體會到 如果要和別人說明某件事物 自然會先經歷一場自我檢視
所以建立起表達時能深入淺出的習慣 不只有助溝通
同時可以優化自己對於各種資訊掌握的程度
我想這會是一個很棒的正向循環
身體力行後,我明白了實習不是所謂轉職的高速公路
第一次申請AppWorks School#14,很開心有面試,但沒能錄取
(當時的我對於轉職軟體工程師這事,真的可以再更多地去探索與思考(永遠都是!)) 面對無業焦慮,決定先以本科學位入職場:犯罪被害人保護協會、衛生局心理衛生中心 健康第一的我告訴自己:
無論如何,你有選擇快樂的權利;承受不快樂,那也是你的選擇 四處搜刮、探索職業的資訊後,軟體工程師依舊是那個
資源最得以觸及、市場需求持續存在、更多職場環境可能性,
既有職涯發展空間,又具備與機器進行較為專業溝通力的職業
如果當初是為了追尋較健康的工作環境(但也得考慮發展性)而轉職
卻再度面臨需要on call或是緊急的加班 我也不後悔
因為這是我自己經過考慮過後 認定最能從中獲得意義的職業
在學寫程式的過程中我體會到
這是個熱情得以延續的技能
因為它就是一種寫作
一種由內整理、向外交流想法的過程
雖然我也還在學習寫作的路上
但我確信寫作或者說編寫程式將提供我靈魂持續燃燒的養分
經得起時間考驗的愛情
源自熱情、足夠親密、經營承諾
我該把選擇職業視同選擇人生伴侶般
不願意將就 而是看清我所追尋的特質
然後認真相處看看
一旦認定彼此之間有所共鳴的感動
那麼就許下承諾並守護著吧!
我常常在學寫程式的時光中感到開心
雖然我們還在親密相處中(擬人化無極限XD)
可是我想像著 當我真正拿到軟體工程師職稱的那一天
它會是那個我願意許下承諾愛著的職業
➫ ➫ 所以 我決定要成為軟體工程師
動念申請AppWorks School#19時,正好看到與91APP合作的班,先報名不過又落榜了 當時為了可能錄取,且面臨適用期的尾聲,我決定裸辭
(就算主管知道我沒有錄取,兩次邀請我回去上班,但都和他說真的好謝謝他這樣念著我,可是也都會再次和他說明我轉職軟體工程師的心意已決) 原本想完成足以展現個人創意的小作品做為報名的呈現,也因此發現基礎真不足,於是我反過來思考自己需要具備哪些知識……
我認為參考stack overflow上的分享應當是軟體工程師的基本功
反倒是如何在腦中或是紙(螢幕)上
有系統地設計理想功能運作流程才是學問的開始
因為那就像在玩捲軸迷宮
你知道目標是走到特定的出口
但在還沒有看過這捲軸展開的全貌以前
只能選定某種邏輯去挑選某條路徑前進
直到發現這樣走無法抵達目的地
再回到原本的分岔路換條路走走
重複著trial and error 直到找到出口為止
可是如果獲得了一些提示呢?
如果這些提示是有邏輯可依循著重複使用的
就可以更快猜到抵達出口該選哪條路再選哪條路
而我認為演算法就是我在找的提示
據我所聞 演算法是由過去的問題解決所歸納出
用於設計解決方案的好流程
沒有加減乘除的概念怎麼熟練的地四則運算呢
我覺得演算法可以加快解決常見問題的速度
在我面對特別、複雜問題的時候 能夠提供靈感的指引
於是我選擇了一本我認為適合我入門的演算法的書籍
《培養刷題基本功 Python程式設計師的頭腦體操》
由於本書是透過Python來介紹演算法(也有提供Ruby和JS的程式碼)
我決定先學習一會兒Python 再回來讀這本書
開始學習Python以前 我認為編輯器的選擇也應該是經過挑選的
大四時我聽課堂老師的建議 使用dev c++
第一次申請School後 等候工作錄取期間在家學習前端班線上課程
當時也是循著課程中的建議 使用atom來學習基礎的HTML, CSS和JS
但這次我就想 或許先選定一個好用的編輯器
如果持續使用下去 對編輯器的熟悉應是寫好程式的條件之一
也能免去適應新的編輯器所付出的力氣
(當然如果有更加適合的編輯器就該忍痛適應它~~)
因為我希望在平板上也能寫程式
而VS code官方有提供透過Blink shell在ipad上寫code的方法
親身驗證過這是個可行的方法 並且看到不少對VS code推薦的聲量
於是目前我選擇VS code作為學寫程式以及暫定未來工作上使用的編輯器
接著我選擇在treehouse裡走完beginning Python的track
未來的學習規劃
決定以目前的基礎去閱讀那本介紹演算法的書
把演算法又或者拆解問題的思維先撿起來 作為後續學習編寫程式的重要底子💡 以Python深刻品嚐完那本書後 我想透過JS再讀一遍
確保自己使用這兩種語言時 都能見招拆招
也是透過不同語言的實踐 把演算法的概念編織地更加縝密 然後我打算透過練習leedcode的題庫鍛鍊出內化為個人風格的演算法
申請時的意外!
最後,我覺得AppWorks School可以給我什麼?
去AppWorks School最重要的事情
就是我帶著我準備好的作戰計畫
去School繼續我自己的戰鬥
然後我必須把握機會好好運用老師夥伴的第三視角
幫助自己不斷調整優化戰略
就是因為不足 所以才要學習
儘管我的軟體工程師養成之路曲折,但我相信只要我想,
並且付諸行動,就會一 🐾 一 🐾 前進,實現曾經的想像。