1. 程式人生 > >十年風雨,一個普通程式設計師的成長之路(十一)再見,2019。你好,2020!

十年風雨,一個普通程式設計師的成長之路(十一)再見,2019。你好,2020!

00 回顧2019

在過去的這一年裡,收穫最大的便是眼界了,

與高水平的同事們一起合作,讓人愉快。

與高水平的領導共事,則讓人受益匪淺。

2019年元旦前後那段時間,突然陷入了焦慮,買了一些極客時間的課程,加入了一些知識星球。也確實提升了自己不少關於職場、工作、生活的一些認知。

但是收貨最大的還是在工作之餘,開通了一個公眾號【姚毛毛的部落格】,將自己平日的筆記、讀書心得整理髮表,並已經有了38篇原創文章。

在這裡,感謝公眾號作者【沉默王二】和【大飛碼字】。

而持續的輸出,更是倒逼著自己不斷去學習和總結。

在部落格園的文章也多次上了最多推薦和最多評論,還是有點鼓舞的。

甚至還有約我寫書的,不過感覺自己的能力還有待磨鍊,就婉拒了。

2019年,在公司內也做了幾個有意思的專案,旁聽了公司大佬們設計的架構師訓練課,還參加了公司內部的一個數據庫高階訓練營。

01 PC端自動化測試工具

PC端自動化測試工具的調研這個過程,其實挺有意思的,就是尋找windows、Linux上各種開源、商業工具,並去使用、驗證、對比。

特別是現在關於PC這塊的資料都比較少,因為現在的軟體基本都已經是B/S和移動APP的天下了,大片大片的資料都是基於瀏覽器、APP的自動化工具。

這個專案的目標就是為公司內多種不同技術棧(nw.js、QT、.NET、cefsharp等)的多款PC端產品,調研合適的商業或自研工具,進行PC端自動化測試,節省重複的人力工作。

在兩週到一個月的時間內,調研了10多種自研及商業工具(UIAutomation、Selenium、LDTP、AutoIt、SIlkTest、poco、Airtest、PyAutoGUI、按鍵精靈、Squish、HP QTP[原UTF]、Ranorex),編寫了自研及商業工具的演示指令碼,與各個產品的研發及測試人員進行多輪溝通、演示,最終選定了ranorex工具。

其功能強大、價格便宜,試用後在公司內部廣泛使用,節省了較多人力資源(節省投產比可達1:比10以上),滿意度較高。

02 跨網閘資料交換平臺

其二就是本年投入精力最多的專案,就是模擬ACK(Acknowledge character)應答做出了跨網閘的檔案交換平臺。

這是第一次這麼快節奏的帶隊開發一個專案。

一個月,初版開發完成,還有一個月除錯、開發外掛、現場與其他系統對接、摸清網閘情況,分步部署。

雖然延期了,但還是於4月底成功上線。

歷史兩個半月,幾乎每天都是996。(而這也為我的身體健康埋下了隱患。)

本專案一舉解決了現場檔案交換速度慢、不穩定、亂丟包、無監控等等問題。

雖仍有許多未盡人意之處,但相比原來的交換手段(沒有監控,沒有異常重傳,聽天由命)已經是賈玲到陳希妍的進步了。

回顧專案歷程,春節過後第一天上班,就一臉懵逼地被拉進了這個專案,然後成了研發leader。

又要求一個月交付。倒排了下工作計劃,幾乎每天要完成一個功能模組。

但是,又有點躍躍欲試,想挑戰自己一下,便接下了這個任務。

中間經歷了很多波折,但是結果還是不錯的,在專案落地後確實解決了很多問題,所以後續公司其他產品、專案也陸續採用了本平臺作為基礎元件。

在這之後開了許多分支做了各種專案的相容優化,又在合適的時機統一了版本。

03 總結:得到與失去

眼界

1、在PC端測試工具的調研過程中,追查各種文獻、資料,下載、使用、編寫指令碼、比對、驗證,在這個過程中強迫自己連蒙帶猜地去翻譯英文文件,是痛苦而又蠻有意思的一件事情。

在github上提issue,郵件聯絡工具作者,向商業工具的公司詢價,基本上不懂什麼英文的我,被迫著使用翻譯軟體,通過郵件與外國人交流(笑)。

在這場調研中,我總結了關於PC端測試工具的幾種通用方法。

(1)螢幕座標定位。按鍵精靈、pyauto基本都是這類。

(2)影象抓取。SIlkTest基本就是這類工具的鼻祖,網易的Airtest其影象抓取能力就是基於這個開發的。

(3)元素定位。如UIAutomation、AutoIt、poco,Airtest的元素定位就是基於poco開發的。

而nw.js這種封裝Chromium瀏覽器成為偽PC端的工具,使用selenium就可以解決自動化測試的問題。selenium就是基於元素定位的。

在所有自動化測試的比對方法中,元素定位應該是最靠譜的了。

而最難解決元素定位的就是同樣封裝了webkit作為客戶端的cef了,找尋了各種官方資料都沒法解決,原來是開發人員用cef做了兩層封裝,所以取不到瀏覽器中的元素。

幸而最後找到了ranorex這個工具,否則就只能使用UIAutomation作為基礎元件進行自研了。

健康

在交換平臺開發的日子裡,幾乎每天都要寫日報,彙總各小組成員的進度情況,評估總進度狀況,給各種大佬郵件抄送。

忽然有一天晚上,回家已經23點多,在上床睡覺前,胳膊拉伸了下,突然就胸口有點疼痛。

本以為是自己用力過猛,卻沒想到這樣的疼痛持續了十多天。

最後請了假,去醫院拍了胸片、心電圖,都沒看出什麼毛病,只是現在一加班,比較疲累,就會隱隱疼痛。

而疲憊的身體也開始讓我漸漸思考,工作以外的一面。

人際協調

在交換平臺在現場第一次上線時,沒有處理好與測試團隊、對接系統、現場部署團隊的協調關係,進一步發現了自己的能力缺陷。

適合做事。做衝鋒陷陣的前鋒。

不適合處理複雜的人際關係。不能在一個各懷心思的團隊中掛帥。

有時做事的方法會讓人產生誤會。

有時又把事情想得過於簡單、理所當然。

用領導評價的話來說,太“簡單真誠”了點。

或許是因為之前一路過來所在的團隊都比較簡單吧。

終於在大公司體驗到了一次【大公司病】。

幸而沒有病入膏肓。

此後對於本次延遲上線的事做了一次覆盤,我的覆盤是缺少一個鎮得住場子的人,來協調處理上線這件事。大家各做一團,沒有一個職級或威望較高能得到各方認可的人來牽頭做這件事。導致一波三折。

不過也算是好事多磨吧,經歷風雨,才能見彩虹。最終還是產品說話。

從不信任到質疑,到合格甚至滿意的高度評價。也是源於產品本身的質量所在。

在大家陷入低潮時,我曾假裝自信滿滿地說過一句話,“我還沒有做過失敗的專案,這個專案肯定能上線。”

資訊不對稱

在工作中,你總會與你的上司、下屬產生資訊不對稱的情況。

為什麼你的領導總是要讓你重寫PPT?

為什麼你總是不能一次到位地把任務分解給你的團隊成員?

在19年經歷了轉正、獨立調研、帶隊研發等等事情之後,發現某位大佬說的話很對。

資訊永遠是不對稱的。因為資訊一直是在動態輸入的。

你的層級不同,接觸的資訊面也自會不同。有時可能只是領導間隨意的一個聊天,便決定了今年的KPI。

而在接收上司任務的時候,不要等到全部完成了才去跟領導報告,應該在途中就問問你跑的方向對不對,是不是南轅北轍了。

作為上級呢?也有可能是資訊不對稱的一方,不是他所獲取的資訊都一定是正確的。否則就不會有那麼多被下屬的PPT報告忽悠瘸了的CEO了。

而在研發leader這一層級(不論是兩三個還是三四十個下屬),也不要到了deadline才去驗收下屬的工作,而是在中途就應該check一下。

往往有時候,你所理解的“任務完成”與他認為的“完成”並不是一個概念。可能你的“任務完成”包含了開發、測試、BUG修復、上線這一整條流程,而他的呢?僅僅是說我開發完成了,連單元測試還沒寫呢。

認知與資訊繭房

在2019我覺得收穫最大的兩個詞就是認知和資訊繭房了吧。

沒有獲得財富的認知,就是金山在你面前,你也只會認為是一堆石頭。

而資訊繭房就更可怕了,“在愛的魔力中轉圈圈”,我們會像春蠶一樣,使用自己的能力吐絲,把自己侷限在“繭房”中。

網易、華為,讓我認清了公司的本質

而在前段時間陸續發生的事,則讓我認清了什麼是真實?什麼是虛幻?

如網易的癌症員工維權拿取應得的補償金事件(誣陷、暴力、涉及家人),如果不是10萬+的閱讀量,大大小小的公眾號傳播,這個事還不定是什麼結果。

雖然最後網易道歉了,但是大家都調侃出了一個段子。

“你被裁員了,沒有補償。”

“我有一個公眾號。”

“等等,我們商量商量……”

雖是笑話,卻有點泛苦。

而華為的胡玲、李洪元事件,更是讓一向宣揚愛國、奮鬥精神的華為其鮮紅招牌上染上了一層灰色。

因為實體清單、孟晚舟得來的路人緣基本被敗的七七八八。

李洪元因離職時拿了2n+1的補償金,反手被HR告敲詐勒索,被公安機關關押了九個月,整整251天后,檢察院決定不起訴而重獲人身自由,只因一段當時與HR離職談判時的錄音被找到。

而在事件發酵之時,華為卻只是一味刪帖。

由此產生了一個段子,工作996,維權404,離職251。

在網易、華為的案子中,錄音筆,一時成了主角。

最後,對自己,對我的讀者們說一句:在公司裡,將本職工作做好就ok。然後,花點時間多多提升自己,看看技術圈以外的出路。

04 展望2020

如果要給我的2019標註幾個關鍵詞,我覺得是:眼界、認知、SMART。

SMART是由Specific、Measurable、Attainable、Relevant、Time-bound幾個單片語成,大意即是可衡量的最小化目標。

而對2020,我的期盼則是:

寫一本書,

做好一個獨立站,

擁有一群志同道合的朋友,

開始鍛鍊,擁有一副健康的身體。

就這樣吧,再見了,我的2019!

再見,996!

再見,那麼努力的自己!

再見,那麼疲勞的自己!

你好,2020,我,來了。