天天看點

人在軟體開發中的作用有多大?

昨天(2021.03.03)微信重新整理聞,看了一篇文章,關于《軟體開發為什麼還是這麼難》,有點感觸,這裡給夥伴們唠叨幾句。

文中說現代的程式設計語言已經進化的很優秀了,按理說軟體開發應該沒有從前那麼難了,但是為什麼現在的軟體開發依然很難呢,列舉了很多觀點,有一個觀點我非常贊同,那就是寫程式的人,很重要。

寫代碼和很多藝術行為一樣,具有不可複制性,發散性,不具有實體觀察性等特點,并且評判标準不定,比如同樣是畫畫,大師畫一幅作品,靈感來了,一天可能就完工了,沒有靈感時,一年也不一定畫的出來。

可是寫程式,就沒有這麼好的大衆認知度了,如果你是一名自由職業的程式員,也許時間自由度上好一些,可以比較自由的寫代碼,有空餘時間去思考如何優化你的代碼和邏輯,但是如果很不幸,你就是一個普通的在職員工,每天被公司各種KPI考核,試問會有時間和精力去完美你的代碼和邏輯嗎?

這裡就引申出更深一層的觀點了。

那就是程式員的自我驅動力問題。

一個人具有了良好的内在驅動力,他不管在什麼工作狀态下,是公司打工,還是自由職業,都會抽出時間去内化自己的本領,會不斷提升技術水準,對于解決問題的思路也會更發散,主動的去優化代碼,進而在有限的時間内完成一個比較完美的代碼作品。

可是現實很打臉,大部分程式員不會這麼做,目前整個程式員行業魚龍混雜,有的人就是沖着高薪和舒适的工作環境,才加入程式設計這個行業的。

有些人寫的代碼,慘不忍睹,不思進取(當然我不是想說自己有多優秀啊),公司上班時各種摸魚,完成項目時東拼西湊,從來不考慮使用者的使用體驗感,在外加上很多外行管理者,瞎指揮,亂管理,最後的結果就是一個項目設計時,一個樣子,完工時,另一個樣子。

使用者使用不舒服,維護人員也痛苦,永遠是處于底層和前線的人,最受傷害。而那些高高在上的,遠離開發的上司者們卻光鮮靓麗,坐享其成,而後誇誇其談,威名四方。

說回我的觀點,人是一種變化多端的物種,其随意性很大,一個項目有100個人,就會有100個觀點和想法,如果不能夠用規範化的制度,和強有力的執行,是很難保證項目如期完工的。大到項目的整體設計,小到編碼規範等,都是需要白紙黑字的明确出來,然後通過不斷的規範改進,進而達到開發團隊心往一處想,勁往一處使,開發出來的産品才是合格,好用的,才有可能成為精品。

軟體開發和房地産開發相似程度最高,為什麼地産開發就可以很規範,而軟體開發就如此随意呢?也許是地産開發,是實體,是看得見摸得着的,進而經過多少年進化後,形成了一整套完備的模式。而代碼編寫,是虛拟的,是封裝起來的,看不見摸不着,隻能夠從表象上去評判,是以就造成了程式設計語言衆多、開發工具衆多、架構衆多、産品衆多,總之一句話,就是亂。

語言分支多了,程式員掌握就需要很多時間,成本高;企業開發選擇多了,内部溝通也就多了,簡單問題就變成複雜問題,成本也高;是以軟體開發還是很難。