? ? ? ? 今天遇到一件讓我很不高興的事情,所以想來博客發泄發泄,屬于系列博客的篇外篇。
---------------------------------------------------------
價值觀一:代碼質量
???????? 說實話,程序員在大部分職業比起來,還是蠻簡單(人際關系簡單,生活簡單),蠻賺錢的。而且是可以比較快速的獲得成就感的行業(一個功能的完成,或者一個項目的上線)。所以,很多人通過不同的渠道,進入了這個行業。
??????? 由于人員參差不齊,行業內部矛盾就多了,就比如代碼質量上,有些人,連基本的數據結構都不了解,連基本的面向對象特性都沒有搞清楚,就開始在真實項目中code。可想而知,寫出來的是什么東西。
?????? 在現在的不少軟件公司,很流行的一個現象是:進來一個程序員,負責一個模塊,先熟悉半個月,然后就開始走馬上線的干了。好了,一個比較大型的項目,在沒有說明文檔,沒有專人指導的情況下,半個月你可以很熟悉嗎(經驗豐富的程序員可以達到)?在開始的一段時間,寫了一些代碼,完成了一些功能,但是絕對不可避免的,引入大量的bug,如果這個程序員還在公司繼續干,那么挺好的。在他真正的熟悉項目以后,他可以把自己以前引入的bug修正。但是很不巧的是,很多人在一個公司,呆的時間都不會長,一個人進來,3-5個月以后離職,在初級程序員中,是比較普遍的例子。OK,他走了,又來新人了。這樣,一批又一批,只要三四批以后,這個項目的代碼就已經是漏洞百出。我在這里只想說,辛苦后來者了,你們看著充滿bug的程序,然后依照著這些你們認為的好代碼,繼續寫出充滿bug的項目……
?????? 還是一句話,程序員何苦為難程序員,為你后面的兄弟留點注釋吧,就像你剛接觸項目,渴望你的前輩給你留下說明文檔一樣。
?????
價值觀二:加班
?????? 加班的理由很多,結果都只有一個,那就是你不能按時回家。現在國內的大部分公司還是好的,加班自由,沒有強制性的加班政策。
?????? 而且加班一般按照三種方式補償:1.直接給錢,按照平時工資的1.5/2/3倍;調休,今天多上一個小時,下一次就可以少上一個小時;3.按照項目獎金給予回饋。如果是我的話,在剛畢業的時候,肯定選擇第一種,加加班挺好的,一方面是加快自己的發展,另一方面可以獲得一定的收入。但是如果已經成家立業,第二種選擇是比較好的,或者直接不加班,加班就是公司無理打亂你的私人生活,是犯罪。第三種其實就是無賴,公司就是騙子,因為加班是肯定的,獎勵是不肯定的……
?????? 前面三種情況都是好的,可悲的是,存在下面一種情況,有些公司,基本上屬于強制加班,而且加班以后,沒有任何形式的回報。這樣的公司,在行業內也不屬于少數,我都不明白了,那個公司怎么還有程序員……
????? 說了這么多,現在可以分析一下為什么要加班。加班的理由確實太多太多了:一個sb的項目經理,或者一個sb的客戶,或者偏偏要抽在sb的周末上線,總之,理由很多,而且即使沒有理由,有一些公司,好像是公司的企業文化,不加班,就代表著你不努力,我太陽公司啊……
????? 我剛畢業時候的老大給我說過,而且我也是這樣認為的,一個程序員,每天寫代碼的時間不可能超過4個小時,超過四個小時,那么,你寫出垃圾代碼的可能性就大大提升。寧愿少些一些,寫精一些,有經驗的你應該知道,改bug的時間,很多時候都多于寫功能的時間。
價值觀三:項目管理
?????? 我自己一直一個人負責手里的四個版本,所以現階段沒有感受到項目管理的重要(一個人,自己管好自己就可以了),這里是幫我一個朋友牢騷幾句。他們三個人負責一個新版本的開發,在開發之前,沒有任何的代碼約定,沒有任何書面上的溝通,然后三個人大致劃分了功能,就開始干了。幸好三個人水平都還不錯,然后項目也不算太大,最后項目出來了。但是作為程序員的我,看了一下他們的代碼,基本沒有架構,全是實現功能即可,同一種小功能,在不同的人手里,使用著完全不同的實現方式。我問了一下那個朋友,感覺代碼怎么樣,他說不要看,全是狗屎。又是那句話,苦了后來人(現在坐在我對面的兄弟就是一個剛畢業的,進來接手他們的項目,哎,那兄弟看代碼都看了兩個月了,不知道看明白沒有……)