在軟件開發行業中,工作人員應該具備哪些技能才可以立于行業不敗之地并可以持久常青的在工作中不斷進步呢?今天我們就來說說在軟件開發行業中最重要的生存技能,我們都知道軟件研發少不了經驗、技術以及業務這三方面的技能。在軟件研發過程中,無論是普通的測試人員還是產品經理都可能會面臨這樣的問,那么技術,經驗,業務哪個才能占據C位呢?事實上這三方面對大家來說都是不可或缺的,只是在不同的崗位上,大家的側重點會有所不同而已。
技術、經驗、業務的范疇
1、技術
一說到技術,有的人會說了:C++、Java、python這些就是技術。
但是不完全對,實際上這些編程語言是實現技術方案的工具。我個人認為,編程語言語法、數據結構是屬于技術的,但是編寫的代碼是否為更優,這就是屬于經驗的范疇了。
如下圖中列舉的幾種類型的技術。比如網絡通訊技術、云計算技術、AI技術、數據存儲技術、無線通信技術等等。
另外,測試設計的理論方法,比如等價類劃分法、因果圖法、邊界值法等,都是屬于技術范疇的。
2、經驗
如果說技術一般是一些理論知識,那經驗就是對技術理論的實實在在的實踐。經驗是通過日積月累,千錘百煉積累出來的“技巧”或者“捷徑”。
經驗豐富的人和經驗不足的人,做同一件事情,前者可能很短時間就很好地完成了,后者可能花很多時間走了很多彎路,最后還是沒有完成得很好甚至事情搞不定。
我這里列舉了一些經驗,比如測試開發經驗、項目管理經驗、測試執行經驗等等。
不過,我們經常有個誤區,就是經常把一個人的工作年限稱為工作經驗,但實際上這只能稱為工作經歷。
只有當一個人在工作當中善于思考、善于總結、善于創新,積累了一些寶貴的方法和技巧,這才能叫做經驗。所以,在招聘人才的時候,不能過多的關注他們的工作年限,而是重點關注他們的工作經驗,只有經驗才能轉化為對團隊的貢獻,才是有價值的。
有經驗的人,并不一定是技術上有多牛,而是很多情況下,處理項目中的事務,在他們擅長的領域,已經形成了“肌肉記憶”,幾乎近似于本能,本能的東西是最可怕的。
3、業務
業務是更加上層一點的概念。
總的來說,就是一款產品做出來之后,能給客戶或者用戶提供哪些便利、實現哪些價值。
比如,一個5G通信系統,可以給使用者帶來高速率、低延時的無線網絡體驗,可以應用它來實現自動駕駛、智能物聯等。
這些就是業務,可以大概劃分為功能和應用場景兩個方面。所以,業務就是通過產品功能實現用戶的應用場景的過程。
技術、經驗、業務之間的關系
技術、經驗、業務之間是什么關系,親戚還是朋友?哈哈,開個玩笑。
1、相輔相成
這三方面的能力,首先是相輔相成的關系。就像一個桌子的三條腿,少了哪條腿桌子都不行,哪方面的能力有短板都會影響整體能力的發揮。
比如,作為測試工程師,如果技術知識和業務知識都ok,但是沒有測試經驗,那必然要經過較長時間的經驗積累和項目磨練才能成長起來。
如果測試經驗豐富,也比較懂業務,但是對于行業和產品技術點的了解非常欠缺,那么幾乎無法進行較深入和較細致的測試,因為對技術不了解的情況下,是很難進行高質量的測試分析的,自然測試設計和測試執行都會受到很大的影響。
2、根據角色而定
當然,技術、經驗、業務三者之間通常不需要在一個項目上做到均衡。
經驗方面,通常都是越豐富越好。但是技術和業務,對于不同的崗位,不同的角色,偏重的能力是不同的。
例如,開發人員或者系統架構師偏重技術方面的能力,如果在業務方面有更多的了解,將會是如虎添翼。
測試人員更需要站在客戶角度考慮問題,所以更加偏重業務方面的能力,如果在有一定技術基礎的情況下,有更深入的理解,有更廣的技術面,也將是錦上添花。
3、根據項目情況而定
另外,針對不同類型的項目,以及項目的成熟度,這三方面的要求也會不同。
比如,一個純粹自主研發的產品,那么對技術要求就會高一些;而一個ODM項目,對技術細節要求就沒有那么高。
再比如,如果是一個經營了很多年的項目,項目流程很成熟,項目資產很豐富,那么對于經驗上的要求就沒有那么高,項目成員只要按照固有的流程開展項目,在固有的資產的基礎上進行增量更新即可。還有一些項目,比如標準化認證項目,測試用例基本固定并且用例步驟非常詳盡,測試人員只要按照測試用例一個一個的執行就可以了,這種情況下,測試人員或許不需要太多的業務方面的知識,只要具備業務常識就可以了。
以上我們分享了在軟件開發行業中最重要的生存技能,如果您想了解更多相關信息,請您繼續關注中培偉業。