不經一番寒徹骨,怎得梅花撲鼻香
直言不諱地說,在課程開始前,我幾乎沒有軟體工程開發流程的概念,GitHub也從未使用過,甚至不知道原型設計是什麼。我設想的這門課的任務僅僅是給定項目需求然後程式設計實作而已,期末送出可執行代碼即可。然而,在準備篇後的每一次任務,開始逐漸超乎我的預料··· ···
從課程開始到現在,這一路走來可謂是跌跌撞撞:熱身篇疫情統計GitHub分支不熟悉導緻master分支commit異常;結對作業原型設計墨刀轉戰RP元氣大傷;結對作業程式設計實作與雲伺服器部署差點翻車;團隊GitHub實訓時間緊迫,團隊初次合作編碼項目,溝通就是不小的挑戰;團隊需求分析和資料庫設計涉及内容廣、要求精度高、考慮細節多;軟體測試不知所措,甚至曾萌生“重金求騰訊IM的BUG”這樣的想法;而Alpha沖刺的項目實戰強度,我不必多說,相信大家也是深有體會。
之前的我,遇到問題喜歡預留充足的時間,慢條斯理、有條不紊地去把困難啃下來,再一步步地把任務解決掉。但是這門課程的任務要求并不允許我每次都這麼做。而且對于團隊開發任務,個人進度進展緩慢會拖慢整個團隊的開發程序。從第一次結對程式設計任務布置後,我就漸漸地開始“求變”,我開始尋求在給定時間内解決問題并完成任務的方法。可是要去哪兒尋找呢?想到了充分利用課程推薦的PSP表格,每次任務開始之前嚴格計劃并限定好預估耗時,相當于将一個任務劃分成多個小任務,而且每一個小任務都有了一個預估的deadline,“deadline就是生産力”--倒逼自己要按時完成每個小任務。這樣一來,如果我實際完成耗時明顯小于預估,就要總結能快速解決的訣竅和經驗;反之如果實際完成耗時超過了預估時間,就要反思逾時的原因,并提出改進措施。在實際使用過程中,在多次填寫完PSP表格,總結回顧後我發現了可改進之處:我考慮問題粒度太小,以緻于有時候甚至會糾結類的命名問題。一次又一次的總結、調整、實踐,我逐漸地擺脫了任務完成進度緩慢的問題,并在團隊開發時,及時地完成了任務,為團隊開發貢獻了自己的一份力。
本課程雖然任務比較繁重,但我認為這是成為一名合格軟體工程師的必經之路,最重要的還積累了結對和團隊開發的經驗,鍛煉了合作溝通的能力,這些是将來步入工作崗位的必備素質。與我來說,一改了之前慢性子解決問題的方式,并能按時合理的完成任務,是目前為止最大的收獲。
路漫漫其修遠今,吾将上下而求索
首先要感謝鄒欣老師周筠老師背後的建構之法團隊,還要感謝汪老師、傅老師以及兩位助教的付出。小黃衫是對我的肯定,也是老師助教們優秀教學成果的見證。
從事軟體行業,搞程式設計開發的,技術疊代日新月異、版本标準也是層出不窮。但是鐵打的能力流水的技術,任我們所用的技術架構、開發工具如何變,隻要自己能力夠強,水準夠高,就能勝任開發崗位的工作。現在的我剛擺脫萌新階段,但是要成為大佬或獨當一面的大牛,還需漫漫長路的修煉。這條路,才剛剛開始走,小黃衫是對我現階段累積成果的肯定,相信良好的開端是成功的一半!
長風破浪會有時,直挂雲帆濟滄海
用最初的心,走最遠的路。未來是未知的,但是自己的内心是可以堅定如一,堅持不變的。我将腳踏實地走上這條長路,迎接未來路上的種種考驗,相信自己能成為一名出色的軟體工程師。