11/8
昨日,8年級溫室小花朵的自己,終於在辦公室會議裡,見識到我在研究所課程[敏捷開發與管理]的Paper中看到的名詞: Scrum, Sprint
雖然是在一個令人昏厥的時刻出現,但至少是我在研究所夢寐以求的夢想之一
參與軟體開發, 體驗敏捷開發
雖然這個夢想早就在進入這個社會後就被我拋到九霄雲外了,但上天還是讓我歷經這一切的經驗。
雖然我知道在辦公室好像不適合寫文
但…我很想把這段過程記錄下來
早上帶著忐忑混亂的心進入的辦公室
打開我的電腦,眼看著還有幾個小時可以準備下次的Demo
根據昨日的學習筆記
今日要學習的內容是
-
學會用PyCharm來Debug
-
並且用這個功能來Trace 專案Code
前情提要:
我是一個剛從研究所畢業的資訊小菜鳥,短期立志成為後端工程師
我進到了一家新創辦公室,進行新人的練功時期
原先的主管因為健康因素離職,這週是主管離開的第一週
我因為頓時失去一個能聽命令的人
我認為自己不能再這麼被動,於是,我改變了我的作法,我主動向我的同事們提出求救
在經過一兩天的討論後,我的同事決定給我來一個震撼的磨練
也就是後端小菜鳥學習筆記的再一步磨練
前幾週,我都是,根據主管分派的任務
來練習我的程式語言,例如Python的字典/Json/list,怎麼使用Pandas
以及對於資訊的架構認知,例如資料庫與客戶端與伺服器端互傳的過程, Pymysql, SQLAlchemy
在這週,我接受了新的考驗,而這個考驗是讓我從新人,慢慢進階到工程師
沒錯,我的後端工程師人生體驗,要有近一步的發展了
要慢慢進化到工程師,首先要學會的就是
-
工程師必備技能
-
工程師心法
接下來就要進行磨練了!
利用錄影或錄音的方式,將自己作為家教老師,透過講解給別人聽內容,來讓自己懂/了解這個內容
錄影練習方法(也適用溝通表達與語言練習)
這個方法,不只是可以拿來練習程式,也可以拿來練習溝通表達,甚至我之前練習托福口說時,老師也是讓我們用這個方法來一次一次改善自己口說的內容,掌握速度。也是利用天天錄音自己講英文的日記,來當作練習。
大家也可以透過這個方法做練習,順便練習自己口語表達跟膽量
工程師必備技能1 : Debugging
Debug 是在不同語言或者不同專案中都可以使用的工具
除了除臭蟲以外,還可以利用debug工具來了解整個專案的Code
今天的Demo是練習用PyCharm的Debug模式Trace解釋整個專案Code
熟悉Debugging
-
BreakPoint
-
Execution Point
-
Step Over
-
Step Into
-
Step Out
經過一個早上霧煞煞,及下午還有空擋時間可以學習後
已經掌握了這些按鈕,以及能初步大概講出整個專案的Code怎麼互相Call
學會Debugging是每個工程師第一個要做的事,非常的重要!
明天的學習筆記已經下來了
- 依前一次錄製的影片,再錄一次比先前好一點的 demo video
- 學習 design pattern: template method pattern,並能解做初步的解說
- 對在 python 下寫 unit test 的功能有基本的認識(只要單純會 library 就好,不用知道怎麼寫 unit test)
稍微歇息了一下,和同事討論後,得出了這個結論
遙想自己在研究所某三樓教室的敏捷開發課堂中,介紹著敏捷開發以及敏捷開發的技術
這不是我在paper上看到的名詞?居然現在活生生發生在我身上。
敏捷開發技術
-
測試驅動開發,TDD/Test-Driven Development
-
行為驅動開發,BDD/Behavior-Driven Development
-
Scrum
在歷經整天都在學習怎麼Debug後,我的下一個關卡是學習寫Unit Test,並將我的程式驗證現正開發的專案當中。
經過這一天,原本很混亂的狀態(還記得我一兩天前還是整個很混亂的,需要人家拉我一把,把我重迷霧救出來)
到,已經能使用Debug模式來追蹤Code
我可以明顯感覺得到自己,可能是從原本的碼農,亂抄,到慢慢了解自己在做什麼
雖然現在被操的近乎血尿,但在這種不知不覺的情況下,被上天命運指引帶到以前的夢想中,此生也算足以(阿不是)。
11/9
這一天的行程,早上和同事調整了一下
- 學習design pattern: 加中火力在template method pattern
- 初步了解unit test
- 最後再錄一次Debug講解影片(這部分改到下週,因為要讓自己的大腦有遺忘,再重新連結,才會熟記)
接下來要學習的是
工程師必備技能2 : unit test
單元測試是敏捷開發方法的其中之一
這裡有學習的資源連結
https://www.youtube.com/watch?v=1Lfv5tUGsn8
**工程師內功心法 ****: **design pattern
需要在短時間內有所成長,所以沒有時間學完全部的內容
因此,我們會加重焦點在於學習template method pattern
學習連結在此:
https://openhome.cc/Gossip/DesignPattern/
這個是我要記錄的Jinja學習連結
在資訊的部分Jinja的名詞叫做Template Engine