【作業】2020年高等軟件工程中期總結與反思

恩恩,按照國際慣例,開頭得先好久不見一下,畢竟這是必須的程序🐶。

不過這次呢,從某種意義上,真的算是好久不見了,相比於我第一次寫博客,相比於我第一次在工程實踐類課程上寫博客,相比我第一次從課程角度而非學生角度寫博客,相比於第一次寫軟工課程的博客和總結而言,真的挺久了。有些想法呢,該刷新了,也確實刷新了,程序都得不停迭代,開源都得commit熱乎着的才靠譜,那我本人的腦瓜子當然也不遑多讓。

綜上,是時候該寫點啥了,算是做個紀念吧。

這陣子折騰了點啥

這陣子的話,其實說幹了啥,也幹了不少,但是又很容易感覺啥也沒幹。

就我個人而言,大概這麼幾件事:

  • 複習了一遍UML相關的基本概念和基本使用方式
  • 瞭解了軟件工程在需求分析、設計等方面更深一層次的技術和方法
  • 帶領小團隊搞了一兩次事,弄過領域分析和需求建模分析
  • 我個人的話,對後續的技術開發進行了一定的技術調研以及技術選型

看吧,很簡單對吧。不過要說的話,還是挺值得說一說的。

首先第一部分,字面意思,複習,畢竟本來就接觸過,那自然沒太多疑問,瞭解了其基本思維(即,UML是一種建模工具而非繪圖工具)後,就是對思維的不斷訓練,以及對工具使用的不斷熟悉。關於UML相關,強烈推薦PlantUML,簡直最對程序猿胃口的UML工具。此外,還得強烈推薦下我寫的一個開源項目plantumlcli,Github地址:https://github.com/HansBug/plantumlcli ,國內Gitee地址:https://gitee.com/hansbug/plantumlcli ,現已正式上線pypi,並已經在一些地方投入使用,目前使用體感很舒服,對持續集成等自動化場合以及爬蟲搭建場合都十分友好易用(關於這些抽空專門介紹一下),歡迎各位支持一波。

第二部分的話,則是瞭解了一下RUCM等技術和方法。實際上經過這段時間的學習,並不難發現,其實不僅在技術領域,甚至也不僅在管理領域,而在需求描述、分析、建模等領域,實際上也都有了一套完整的技術和方法,其中一部分還已經有了成熟的工具鏈。而很多時候,比起靠自己瞎琢磨到禿瓢,還是按照這些方法有章有法地來更靠譜點。實際應用場景下的應用,已經充分證明了這一點。

第三部分的話,還是字面意思,帶了一次團隊,做了點不偉大的事情。嘛,畢竟事情不是我說偉大就偉大的,況且大多數的人也對偉大無感更無慾望,人之常情而已。這部分的話,雖然筆者之前有多次帶團隊的經驗,但是這次的情況可謂截然不同,不同到完全需要換種思路來想問題的程度,這部分在後文詳細講述。

第四部分的話,傳統藝能,我個人最喜歡的純技術環節。在瞎折騰開源代碼的同時,還對一些曾經不那麼瞭解的技術棧重新認識了一遍。這就好比去菜場溜了一圈,有啥好的食材大概心裏有數了,然後接下來開發也就是買來食材下鍋煎炒烹炸了。該部分不想多言,常規操作而已,唯一可能有說頭的,就是這裏面一部分開發成果,後續也可能考慮進行開源放送,敬請期待

恩,這陣子就是這麼平淡無奇。大概,平平淡淡纔是真吧,畢竟波瀾壯闊久了,晃得人都暈得找不着北,越發像堆爛泥,這時候靜一靜,醒醒腦子,未免不是一件好事。

這陣子琢磨了點啥

首先,這段開始之前,我得強調一下——該段對事不對人,所有的分析只用於描述客觀事實,沒有任何看得起或者看不起任何人的意思,無意冒犯,如有冒犯,我很遺憾

好了,說完乾的事實,接下來說說做了啥春秋大夢,啊呸,做了啥思考。

首先,在寫此文之前,筆者又讀了一遍自己在大三那會本科軟工課寫的思考文:

現在的筆者,和那會不同的是,可能不太會去站在課程角度思考分析,畢竟這個課內容已經開始比較硬核了,筆者沒那麼勇氣說自己無所不知,所以大概更該做的還是帶着耳朵和腦子,當一個學生更合適。

然後,對於那會的一些想法,大部分筆者依然感悟沒太大的變化,畢竟一脈相承的,況且也都經歷了實戰的考驗。不過,唯獨在一件事情上,我覺得非常值得好好說說,那就是帶團隊的問題。

仔細回憶一下,據不完全統計,筆者以前以領導者身份帶過的團隊(以成員身份參與的一概不算在內;此外,筆者從小就是個過街老鼠式的角色,這樣的事在大學之前根本就是不可想象的):

  • Questionor題庫網站團隊(筆者的第一個實際投入使用的作品,各方面都是真真正正的第一次,部分地方可謂創造奇蹟;本網站於2020上半年因爲校方支持中斷且聯繫不到合適的下家而停止運行)
  • 同袍智慧校園App團隊(筆者從學長手裏接手的產品,自己組建了新的班子繼續運行;於2019年交接至後續團隊)
  • 2017-2018馮如杯科技競賽團隊(筆者第一次將一手好牌打得稀爛😭,明明全組的大佬但是最後輸的非常慘烈,此後筆者開始了歷時一年的閉關修煉,臥薪嚐膽並積蓄力量)
  • 北航2019年OO課程助教團隊及系統開發組(筆者第一次去運維非純技術團隊,也是第一次嘗試如何去放權,也是一次真正的創造奇蹟,無論是技術層面還是非技術層面都是如此),後續人長期OO課程系統組技術支持(算是半個帶領者吧,不過同時也得充分考慮如何讓後續的學弟學妹們成長起來,畢竟不是人人有能力像筆者一樣2019年初那會倆月造一整套系統,如何讓這個團隊長期穩定下來是個亟待解決的問題,這不僅涉及技術問題也涉及結構性問題)
  • 2019年本科軟件工程團隊(這次嚴格來說算不上完全領導,實際運維是交給了組裏的PM大佬,筆者更像是個垂簾聽政的存在,只會在一些大問題上發表看法或者親自操作,畢竟和OO那邊同時進行,有點忙不過來)

其實回憶起來,這些組的成員中負責技術開發的,基本都是清一色的大佬,都是具備很強自我學習能力、自我適應能力,而且基本功紮實人還聰明靠譜的那種,甚至不乏那種即便在筆者本人不在時依然能扛大樑的潛在覈心級人物。

而在這樣的陣容下,筆者一般的套路,就是最爲簡單的一個蘿蔔一個坑,一個人一個任務,只管做下去即可,一字排開立起盾牌應敵。沒啥問題是這樣解決不了的,如果有那就調動增援或者必要時親自參戰。這樣的套路,可謂是屢試不爽,畢竟組裏要麼都是大佬,要麼也都是基本功十分紮實且靠譜的戰力,自然沒啥好擔心的,很簡單。

可是這次,情況變了,我這邊的人員配置情況爲:

  • 甲,本科北航非科班,學過C語言考過考研題,準新手水平
  • 乙,某211或985(不太確定)計算機專業,具備計算機專業的基礎知識,搞過一點小東西,但是經驗明顯不足
  • 丙,某985軟件專業,具備計算機專業的基礎知識,似乎有點經驗(據筆者判斷可能實習過),但還是能感覺到稍顯稚嫩
  • 丁,某985軟件專業,基本功不明,實操經驗極低,大概會是個理論型選手
  • 筆者,不必多說,看看我知乎,看看我博客,或者知道我真名的人百度搜下,大概就該知道是怎麼回事了

首先重複一遍,沒有瞧不起任何人的意思,只是客觀反映事實,更沒有想對研究生羣體開地圖炮云云。這四位同學的水平,有一說一,都明顯低於北航六系本科畢業生平均水平,具體表現爲實戰經驗的匱乏,所掌握的技術棧廣度偏低,部分同學主觀能動性也很低。

在這樣的一個基礎配置上,按照原本的思路可就很難辦了。最起碼,一個蘿蔔一個坑,在這裏頭怕是行不通。而且還有更爲要命的一點——高軟畢竟是個課程,週期短的很,而且很大一部分時間都用在了非技術開發的時間上,留給我們的時間真的少之又少。在這種短週期環境下,甚至不敢保證能將有一定基礎的成員發展壯大起來,畢竟等到那時候恐怕一切都結束了。

後來和一些富有經驗的人士進行了交流,我變換了一種思路,雖然是一種非常權宜的思路——物盡其用。具體來說,我本人作爲技術的核心主力;兩位有一定經驗的會進行輔助,配合主力作戰並在實戰中儘快提升自己,有一點算一點;而實際上團隊協作還有一些非技術的問題,比如溝通、調研、瞭解情況、文案等,和技術無關甚至還有點麻煩,但也總得有人去做,那麼交給剩下兩位,讓他們負責。

看起來很簡單對吧,可是實際上效果超乎想象——兩位非技術成員,其中一人溝通能力相當強大,幾乎擺平了一切的外圍問題;我本人,一向是個單線程大腦,不擅長同時應對很多很雜的事情,而一旦有了一個相對安定的內部環境,那對筆者而言是一個非常重大的利好,可以讓筆者的注意力都放在覈心工作和調度上,工作效率翻了幾倍;而兩位技術成員,則各司其職,穩定的完成了佈置得任務(本次佈置得都是局部且清晰化的任務,並且有筆者兜底,給他們充分的自由發揮空間),並且在後續時間喫緊的時候,也都起到的非常關鍵的作用,充分並行起來提高效率。

最終在這個階段,我們組取得了還算不錯的結果,算是一個階段性的勝利。

引用一位老哥的博文我是如何失去團隊掌控的?中的一段話

  1. 項目中總是會面臨資源不足的情況,永遠不要想着項目中擁有最適合的資源、人員。畢竟最適合的人員不可能一直等着你的項目
  2. 帶項目就像打牌,一手好牌做好了項目是應該。而一手爛牌打贏了纔是你的能力

這次筆者的實踐就是一個最好的說明,一羣大佬一字排開,簡單得很,但是沒啥值得高興的;真正困難的在於如何將不太樂觀的局面變成一片大好,這纔是能力。這也是筆者後續更需要進一步修煉的地方,畢竟世界很大,需要去體會的人和事多的很。

這陣子想說點啥胡言亂語

好了,又到了一文一度的總結胡言亂語時間。

還是老規矩——該部分的話可能會戳着有些人的肺管子,但是我覺得就是得這樣纔有說的意義,纔會有更多人開始知道皇上原來正光着屁股在大街上瞎溜達。但是我不求人人都願意醒着,那不現實畢竟人性使然,所以煩請玻璃心們繞道,沒必要難爲自己的小心臟,要好好愛護自己,感激不盡。

首先關於思考,我個人一直認爲,這纔是一切學習所真正必須的。這也解釋了爲啥有些看起來賊努力賊認真的學霸,進了這個專業後分分鐘兵敗如山倒。就算再努力,只要不帶腦子學習訓練,那誰也救不了你,這個專業尤其如此。用戰術上的勤奮掩蓋戰略上的懶惰,把自己感動的鼻涕一把眼淚一把卻啥都沒幹出來,實乃掩耳盜鈴買櫝還珠的可笑之舉。可是有時候有沒辦法啊,我們的選拔還真就是存在這樣的錯位,我們的教育教育出了大量相信努力等於成功,付出必有收穫的人,我們的選拔選拔出了大量對努力二字深信不疑的努力家們(畢竟那種學習成長環境,除了高考外一切都被剝奪是常態,但是人作爲有自我意識的生物,總得信點啥,於是就有極大的概率會飢不擇食),而真正帶了腦子這一對學習而言至關重要的東西的人,卻反倒沒那麼常見(當然,也有又努力又帶腦子的人,那種人往往會強的離譜,筆者見過這樣的,但真就是鳳毛麟角),然後一到了現實中,深信不疑十幾年的三觀被摔成渣渣,其中一部分意志還算堅強,或者開始明白帶腦子重要性的那些,捲土重來,真正成長起來,開始獨當一面,在這一過程中,他們會收穫真正屬於自己的信念,並堅守下去;而另一波天真無邪的可愛寶寶們,則徹底黑化,作困獸鬥而不得突圍,乃至走向徹底的消極與沉淪。嘛,其實這也都是常態,筆者本人從小就是個有些離經叛道的角色,認爲凡事無絕對,相信活人不能被尿憋死,更不太瞧得上所謂的努力學,說白了,從小就不信邪。諸位可以想象下,在我們的教育環境下,對這樣的人能有多少寬容。但是這幾年,真的看見了好多回乖寶寶們的悲劇,以及他們看着揪心卻又無謂的掙扎。算了不多說了,聊點別的。

然後,近期聽到我一工作過的好兄弟說了一句話,原話忘了,大致意思是——人在外頭混,要麼得會做事,要麼得會做人。這句話真的我得給一萬個贊,非常準確傳神👍。成年人相處最基本的原則無非就是價值交換,很直截了當沒那麼多虛頭。你若會做事,有一技之長,能扛起大梁,能當個好團長,那麼自然沒啥好擔心的,一個李雲龍的戰鬥力想必沒人懷疑;倘若不擅長這些,要是能促進溝通,充分協調人際關係,當個好政委,那也一樣喫得開,正如獨立團不能沒有趙剛;可是,你要是又不會做事,又不肯好好做人,非要當大爺當小公主,指望身邊的人陪你玩過家家遊戲,那就是很荒唐的了。而這類人,常常最喜歡強調自己的所謂“人權”,彷彿盧梭那麼一句“天賦人權”就給自己披上了堅不可摧的戰甲,讓自己可以爲所欲爲。可是這些人常常又只知其一不知其二——當你有權選擇別人的時候,別人也在選擇你,你有人權,別人也有。當你會做事,或者會做人,或者家裏有礦,總而言之能給人帶來價值的時候,你當然可以堂而皇之說人權,不僅啥毛病沒有,還可以獲得一衆喝彩;但是你沒有這些資格的時候,卻喜歡大談人權,遇上禮貌的會表示非常感動然後無視你,遇上一般的會用關愛智障的眼神看着你,遇上暴躁的會直接嫌你吵然後把你亂棍打出門,就這麼簡單。所以說,人應該透過現象看本質,還是該腳踏實地,要麼會做事要麼會做人總得會點啥,只有這樣,你的人權纔不會是一個有價無市的東西。

這次的胡言亂語,大概就是這麼一些些,這些事呢,也都源於生活。筆者這人有自知之明,知道自己是個十足的傻瓜,一個永不會滿足於自己喫飽喝足老婆孩子熱炕頭的傻瓜,一個熱血就沒涼過總是希望世界變得更好的傻瓜,但是這個傻瓜明白一個道理,即學醫救不了國人編程亦然這一道理,然後就會有時候常常會哀其不幸怒其不爭,自說自話兩下子。還望各位海涵,以及,批評指正。

就醬,完事,開溜,掰掰。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章