為什麼有人會覺得軟體工程師是想做就能做的呢?
發現很多人居然連數據結構和演算法都完全不懂居然都有公司給工資?
從經濟學角度來說,這是由市場決定的,軟體這個行業的特殊性在於不同的項目對軟體質量有不同的要求,不像建築,醫生都是人命關天。
做個小網站需要懂數據結構和演算法才能開發嗎?
不要
既然不要,企業當然找個能幹活的就行,能把網站搞出來就行,非要挑個精通演算法數據結構的你就得需要支付更高的薪水。
但是你要開發航天航空裡面的項目,他們的招聘要求可能就會更高了,因為他們的軟體的質量要求很高,自然需要對計算機瞭解更加深入。
因為目前 IT 的很多工作都還是勞動力密集型,而不是智力密集型的。
換句話說,你可以通過評估一個公司的加班時長(長期,而非業務上線前的突擊)來評估這個公司所做事情的知識密集程度。
對於一些高精尖的企業,往往不加班,但是他們會要求每一個工作人員特別的專業。
而絕大多數國內的 IT 企業,都是隻要加班就可以堆出一個產品。在這種情況下,為什麼不找一些年輕的、便宜的、能加班的人去堆呢?
而誰是那些年輕便宜又能加班的呢?顯然,是那些簡單培訓過,可以完成一些基礎的研發工作的人。
縱覽,國內比較大的軟體公司(以下統一簡稱"國軟"),清一色都是做政府項目的(他們能做大的原因我就不用說了吧),真正能做大的國軟又有幾家呢?這是為什麼呢?
今天在這裡就給大家簡單分析下:
一."作坊"式管理
**「作坊」**往往是效率最高的,國軟幾乎都是從作坊走過來的,但把作坊式的管理模式套用到一個不斷壯大的公司中顯然是不行的.組織架構到達一定程度後就必然要進行分工的細化,依靠作坊式的"暴力開發"是行不通的.
二."法制社會"
上班必須打卡,遲到要扣錢,還一次比一次多,加班沒有加班費,反正算下來就是,只有扣錢的項目,沒有加錢的項目.比起外企,人家上班不打卡,遲到不扣錢,加班有加班費,這樣寬鬆點的環境不好嗎?
三.自生自滅
國軟一般沒有師徒制,有的話也只是形式上的,公司基本沒人管你,你也不用去管別人。新進的員工,不管會不會,先丟個東西給你做,自己研究,不懂的google去.這也是為什麼國軟喜歡招有經驗的人,因為沒經驗的人熬不住,跑了幾個以後,國軟就不招了.
四.銷售-開發-維護脫節
這點是非常嚴重的,會直接導致項目流產的.國軟的典型的做法是,銷售為了業績,在沒有調研的情況下就簽了合同(這裡主要是指項目型的,產品型的一般可以控制),而且合同的範圍也非常模糊,可大可小,接下來就是調研人員上場,調研後發現,10w塊錢的合同,調研出來了100w的需求,接下來就是和客戶扯皮,最後直接導致項目流產,甚至打上官司.項目或產品上線後,維護人員對系統不瞭解(一方面是沒有文檔,另外一方面維護人員一般沒有參與到開發中),接下來往往就會發生兩種情況:
維護人員在不瞭解系統的情況下擅自修改,結果導致系統越改問題越多.
維護人員一不做二不休,所有客戶反饋的問題全部打回給開發人員,於是開發人員就生不如死,在做別的項目的同時還要維護以前的項目,結果就是導致幾個項目都失敗.
五.缺乏規劃
今天要用這個,明天想用那個(我就經歷了公司在半年的時間內對框架進行了兩次大的變動,導致開發人員都必須重新學習框架)。產品也接,項目也接,大的也接,小的也接.今天領導說往左走,明天說往右走,也不能怪領導,他也沒經驗,我們就是他的DEMO.公司沒有一個明確的目標,要做成什麼樣,只是一味的提出做大做強,但是沒有規劃出如何做大做強.(和我的標題一樣哦)
六.三無-無需求,無設計,無測試.
沒有文檔是國軟的通病,曾幾何時,產品經理丟過來的那一句話:"喂,,給我做一個模塊來",然後開發人員就開始埋頭苦寫了.當然如果你天資聰慧,可以輕易理解出產品經理的意思,那有沒有設計都無所謂了,但是,當有一天別人要維護你的程序的時候問題就出現了,沒有文檔,代碼又那麼天馬行空,怎麼維護?改了這個地方,又影響了那個地方…其實程序員都懂得測試的意義,可以工時安排的那麼緊,哪來的時間測試?測試又沒有算工時.所以幾乎所有的程序員的做法就是,直接丟給用戶測試
這時候有人肯定要問:那項目經理呢?他不是可以測試嗎?請記住這是國軟,剛才寫代碼的那個人就是項目經理,還是售前,還是設計人員,還是維護,還是…歸結還是成本問題,在外資軟體公司中,做文檔的工時是比做開發的工時更多的,國軟為了節省成本,這塊當然要CUT掉了.不必去追去文檔有多麼詳細多麼美觀,需要做的就是找到一個平衡點,一份適合自己的文檔.
七.員工都是"十項全能"
在國軟裡面的員工各個都是十項全能(我就是一個鮮明的例子,從系統調研分析設計,到進度管理,開發,測試,驗收,實施,維護,甚至拉給客戶拉網線都需要我去.)直接導致的結果就是這些員工每過多久就直接出來自己開公司了…嘿嘿又一家作坊誕生了…這樣做對員工個人其實是有好處的,但是對於企業本上來說是沒有好處的,並不是說員工成立了作坊,成為了你的競爭對手,而是讓員工各個都是十項全能的結果就是
員工都是"十項全不能".
員工一旦離職,他手頭的項目必定流產.對公司的發展是不利的(細化分工).
八.莫不關心
老闆並不知道員工在做什麼,員工也不知道老闆在做什麼.上級很少去關心下級的工作,更別說去關心下級的生活,一個東西丟給你,一個月後交差,中間不管你任何事情,交不了差就唯你是問.下級也不知道能為上級分擔什麼,只有等著上級分配任務.甚至還有些老闆都不不知道員工的名字,在這樣的國軟的,每個人都是孤立的,又怎麼能做大做強呢?
九.企業文化
所謂十年樹木,百年樹人.國軟的企業文化表面功夫算是做的很好的了,什麼"為客戶創造價值",「做最好的行業解決方案」,"軟體公司的最大資源就是人才"等等,要多華麗有多華麗,重複體現了"口號文化".真正做到企業文化又有多少呢?有多少僅僅是為了做給客戶看的呢?
十.盲目跟風
很多國軟看到人家外企軟體公司最近在搞什麼推進活動,就跟風,效仿外企做,可是無法領悟精髓,純粹只是在模仿.外企集體笑:「一直被模仿,從未被超越」做完了也不知道這麼做的意義,勞民傷財.
十一.缺乏"執行力"
國軟的通病,就是"執行力",國軟的學習勁頭很足,今天提出要完善測試標準,明天提出要每週寫工作報告,可是又有哪些東西能真正的去執行呢?導致這個問題的主要原因有兩個:提出來的東西到底有沒必要做,還是隻是應付領導走個過場.誰來跟蹤這些東西?員工寫了工作報告,領導沒有去查看,去反饋,員工覺得寫的也沒意義,自然不會繼續執行下去.
十二.管理混亂
沒有劃分清楚員工的歸屬組織,員工並不明確他的上級領導是誰,導致有的員工處於遊離狀態,有的是員工又是多個領導,不懂要聽誰的,有些人忙的要死,有些人又閑的要命,最後搞的最痛苦的就是員工,導致員工離職.
十三.缺乏團隊精神
為什麼會缺乏團隊精神呢?並不是國軟沒有這方面的概念,國軟也很希望培養員工的團隊觀念和精神,
無奈因為國軟,一般都是一個人負責一個或者多個項目,連團隊都沒有,何來的團隊精神?
十四.無法做到補足
一個項目一旦中途有人辭職,這個項目就會流產.員工一旦辭職,會有N個項目沒人維護.A組的員工無法勝任B組的工作,歸根結底就是組織上根本沒有考慮過組織變動對項目的影響,沒有提前培養人員.
十五.一成不變和隨心所欲
有兩類人一種是把前輩的東西COPY過來,不作任何修改,因為他深信,前輩的一定是對的,還有一類是不管前人怎麼做的,一律不要,全憑自己的"經驗",隨心所欲,天馬行空的進行自主研發,造成的結果就是錯的還是錯的,亂的更亂了.
十六.人才育成
成本,還是成本,培養一個人要多少成本?這就是國軟做不大的原因,永遠只能停留在"作坊"的原因.
十七.向心力.
老闆做的是事業,員工做的是事情,這是國軟員工的一致觀點.
十八.惡性循環
人員力量不足 -&> 接不了項目 -&> 收入少 -&> 人員流失.人員力量不足 -&> 強行接項目 -&> 虧本 -&> 破產.
因為很多工作不需要懂數據結構和演算法就能做,比如用上世界上最好的語言PHP,連線程和進程的概念都不需要懂就可以寫出產品。
那麼怎麼就出現不需要懂數據結構和演算法就能做事拿工資的現象呢?是這行業在技術發展過程中沒有建立進入門檻。
美帝的醫生和律師業務收入高,但是行業建立了門檻,不是真智商高讀很多書的進不了行。計算機這行,發展成了什麼都共享,卻無進入門檻,各種開放工具層出不窮,實際上讓進入門檻越來越低。
有那麼一個寓言:當斧子出現的時候,樹木們都瑟瑟發抖,神對樹木們說,不用怕,只要你們不提供斧柄,它們也傷害不了你們。
但是,怎麼可能呢?!
我現在其實想得很明白了,門檻低就低吧,一大堆不懂數據結構和演算法的人湧進來就讓他們進來吧,反正這些人也威脅不到我的飯碗,還不如培養他們,利用他們,他們要是學得好,那是繁榮行業,他們要是學不好,那就當他們襯託同行吧。
正在看我這個回答朋友,不管你懂不懂數據結構和演算法,只要你積極向上,我們都可以做朋友。
來吧,關注我的微信公眾號「摩根有話說」吧!每週兩篇乾貨文章。