Blog Cover Image

Inspire you to have New thinking, Walk out your unique Road.

有的時候,你無意間遇到的一些故事,會激發你的靈感,改變你的想法,接下來你會用與之前全然不同的觀念去創造屬於你獨特的故事。

Sign @MinaYu.

[後端小菜鳥]初階工程師魔鬼訓練(1)-錄影練習方法/Debug/敏捷開發

Posted on

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

  1. BreakPoint

  2. Execution Point

  3. Step Over

  4. Step Into

  5. Step Out

經過一個早上霧煞煞,及下午還有空擋時間可以學習後

已經掌握了這些按鈕,以及能初步大概講出整個專案的Code怎麼互相Call

學會Debugging是每個工程師第一個要做的事,非常的重要!

明天的學習筆記已經下來了

  1. 依前一次錄製的影片,再錄一次比先前好一點的 demo video
  2. 學習 design pattern: template method pattern,並能解做初步的解說
  3. 對在 python 下寫 unit test 的功能有基本的認識(只要單純會 library 就好,不用知道怎麼寫 unit test)

稍微歇息了一下,和同事討論後,得出了這個結論

遙想自己在研究所某三樓教室的敏捷開發課堂中,介紹著敏捷開發以及敏捷開發的技術

這不是我在paper上看到的名詞?居然現在活生生發生在我身上。

敏捷開發技術

  • 測試驅動開發,TDD/Test-Driven Development

  • 行為驅動開發,BDD/Behavior-Driven Development

  • Scrum

在歷經整天都在學習怎麼Debug後,我的下一個關卡是學習寫Unit Test,並將我的程式驗證現正開發的專案當中。


經過這一天,原本很混亂的狀態(還記得我一兩天前還是整個很混亂的,需要人家拉我一把,把我重迷霧救出來)

到,已經能使用Debug模式來追蹤Code

我可以明顯感覺得到自己,可能是從原本的碼農,亂抄,到慢慢了解自己在做什麼

雖然現在被操的近乎血尿,但在這種不知不覺的情況下,被上天命運指引帶到以前的夢想中,此生也算足以(阿不是)。


11/9

這一天的行程,早上和同事調整了一下

  1. 學習design pattern: 加中火力在template method pattern
  2. 初步了解unit test
  3. 最後再錄一次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

http://jinja.pocoo.org/docs/2.10/