程式設計師浮躁,是誰的錯?
在網際網路的社群中,關於程式設計師浮躁的討論帖子很多。那麼程式設計師真的浮躁嗎?他們為什麼會浮躁呢?其根源是什麼呢?
程式設計師已經是一個沒有門檻的職業
隨著開發工具的可視性、易用性的增強,程式開發變得越來越簡單。特別是隨著軟體工程方法的深入人心,開發過程管理變得愈加規範,使程式碼編寫變得類似於機械性的動作。這樣,程式設計師已經是一個沒有門檻的職業,各培訓機構都可以號稱2-3個月內打造一個軟體藍領。加之各種渠道的宣傳和炒作,讓公眾誤以為只要攀上IT,一定前途無量。我們到處都可以看到這樣的言論和宣傳,“中國每年缺程式設計師XX萬”,這是誰統計的數字?什麼時候的數字?卻無處可查。我個人認為這些數字是有問題的,是有很大的水分的。根據本人瞭解的情況,從2003年開始,中國各類大學所招的計算機相關專業的學生數量就已經超過了IT行業所需的實際數量!
培訓機構給程式設計師職業蒙上了陰影
一些培訓機構的“粗製濫造”,給程式設計師這個職業蒙上了許多陰影。給人的總體感覺是現在的程式設計師越來越多,但真正有水平的程式設計師卻越來越少了。特別是有個別培訓機構濫發證書,濫發到什麼程度呢?給大家舉個例子。
早些年,當我還在企業做經理的時候,有一次招聘程式設計師,但有一個號稱是系統分析員的年輕後生來應聘。出於對“系統分析員”這個名字的好感,我要求親自面試該應聘者。既然是面試系統分析員,當然要從軟體工程的話題談起,遺憾的是,此人對軟體工程一無所知。在這種情況下,我才提出要看他的證件,大失所望啊,原來是國內某知名IT培訓機構所頒發的所謂系統分析員證書。經過交流才知道,不管什麼基礎的人(大部分是高中畢業生或中專畢業生),在該培訓機構,只要學習一年,就可以頒發系統分析員證書的。既然不懂軟體工程,那咱們就談資料庫和演算法吧,結果也是一問三不知。我急啊,就直問,“你究竟會什麼?”,答覆是“我會一點asp”。無語,走人。
不久後,我給國家軟考辦提交了一份請示,以“有損系統分析員的名譽”為理由,要求取締該培訓機構頒發的系統分析員證書。得到的答覆是“這個問題我們管不著,就好象中國有個著名的清華大學,北京卻有人搞個華清大學。用人單位要注意識別李魁和李鬼”。“系統分析員”尚且如此之差,更別說他們的“高階程式設計師”和“程式設計師”了!這樣,導致業界感覺整個程式設計師的水平在下降,特別是使一些老程式設計師對新程式設計師“不屑一顧”。
相當一部分程式設計師是浮躁的
現在的很多程式設計師真的是浮躁的,包括在校的大學生。主要表現在於:
(1)不紮紮實實地鑽研理論,打好基礎,而是成天浮在表面上。程式設計師不是不想上進,他們很多人也在讀書。但讀的大多是一些比較熱門的所謂“技術”書,業界炒什麼“單詞”,他就讀什麼。但由於理論基礎不牢,功底太淺,始終只是一些花拳繡腿而已。例如,我就發現一些程式設計師和一些大學生,成天在讀.NET,J2EE,Ajax之類的書籍,但關於資料庫原理、資料結構與演算法等基礎理論,卻一竅不通。有些學生不好好學習學校規定的課程,卻很有興趣地到外面的培訓機構去參加培訓,似乎感覺這樣更實在一些。
(3)程式漏洞百出,敬業精神比較差。晚上泡酒吧、搓麻將、玩遊戲,白天工作帶身不帶腦,把工作只是當作為晚上玩而養好身體的一種手段。邊寫程式碼邊網上聊天,程式漏洞百出。很少考慮程式問題給使用者造成的損失,給公司帶來的負面影響。很少去研究自己寫的程式碼,看能否進一步優化,自以為是,認為程式碼只要通過編譯就萬事大吉了。
(4)過於頻繁的跳槽,沒有長期規劃。為了三五塊工資的增長而頻繁跳槽,找工作時只看眼前的工資數量,而不考慮自身的長遠發展和職業規劃。儘管辭職信中都會寫“由於自身發展”,但其實根本就沒有認真去考慮過,只是作為一個藉口而已。
(5)剛踏入社會,就成天想著房子和車子。由此而抱怨工資太低、待遇太差、老闆太小氣、房價太高,等等,感覺都是滿腹牢騷,一肚子憤懣。很少結合自己的實際能力和水平去衡量自己的“價值”。只想輕鬆賺錢,不願意付出,不想承擔責任。成天喊工資太低,卻從來不去想自己為公司帶來了多少效益。
浮躁不是程式設計師的錯
導致程式設計師浮躁的根源在於整個社會的浮躁,在於IT企業的浮躁。
(1)中國的IT企業絕大多數是作坊式或半作坊式的,招聘人員的要求就是“能做事”,很少有企業想過要真正培養一個程式設計師,使之成長。這樣,企業在招聘過程中,面試時很少涉及到對基礎理論的考查,而是看應聘者“明天來上班,能否寫好這個程式碼”。這樣,就會在業界傳開,“IT企業需要什麼什麼樣的人才”。如今高校擴招,學生就業壓力大。為了就業,學生只得適應這個被扭曲的IT環境,學習一些表面性的技能而不是深層次的技術,揀了芝麻丟了西瓜。
(2)IT企業管理和運作不規範。例如,沒有一套成形的管理制度,沒有一個合理的軟體過程。在對待程式設計師方面,希望“呼之即來,揮之即去”,往往為了一個專案就大量招聘,專案結束後就立即遣散。沒有給程式設計師交納社會保險,導致程式設計師心情浮躁,沒有安穩感。
(3)很多老程式設計師一旦有點技術,就想單幹。往往因為一個單就成立一個公司,單做完了,公司也就完了。這樣,一個晚上就可以冒出數百個公司,第二天早上又倒閉了數百個公司。導致程式設計師被動地頻繁跳槽,被動地浮躁。
(4)同樣是由於企業規模太小,基本上以生存為惟一目的。沒有研發投入,導致程式設計師沒有進步,在工作中沒有成就感,往往感覺很迷茫和無助。
(5)部分企業老闆及管理人員信譽極差,招聘的時候承諾得很好,但從來就不會兌現。不停地要求程式設計師加班,卻從來就不發加班工資。只知道“擠奶”,卻裝作不知道“牛要吃草”。只給員工講奉獻,卻從來不給員工講回報。這種企業如何叫程式設計師去敬業呢?
(6)IT培訓機構不負責任的宣傳和誤導,導致很多人花高代價往IT行業擠。以為只要IT了,就房子、車子不愁了。工作後才發現並非如此,於是就總覺得自己的待遇太差(培訓機構往往會說學員的工資會很高很高!),投入產出比太低。從而浮躁起來。
(7)我們高校的計算機教育確實存在很多弊病。例如,學生擴招,老師卻沒有增多,實習的機房卻沒有增多。教科書的內容十分陳舊,等等。諸如此類,問題很多。關鍵的是,老師的教學嚴重脫離實踐,教授們大多是以學術著稱,自身缺乏專案實踐。例如,本人曾在某軟體學院客座,就發現該院主講軟體工程的教授除做了一些科研型的專案外,就從來沒有在企業呆過,從來沒有做過一個稱得上是“工程”的專案。主講CMM的教授竟然拿著書問我“CMM在企業中究竟是如何實施的呢?”。
因此,我個人認為,浮躁不是程式設計師的錯,而是我們整個IT環境的錯!