首先來說一個高級程序員并非靠自己讀幾本書寫幾萬行代碼能練的,我更關注于低層的環境,也是程序員實實在在的工作環境。因為程序員的高低還得從實際的工作來衡量,而非其它。所以我想說的是,中國的軟件公司的性質直接導致程序員的水平的高低。而我所說的軟件公司,不是指某個或者某幾個,而是指主流的軟件公司,大眾型的軟件公司。所以我希望那些已經步入一個理想的公司的程序員理解我這篇文章的定位。

    軟件公司的無償加班對程序員的影響:

    國內的軟件公司中程序員是常常加班的,每日加,周未也常加。基于這種性質,出現了一種很莫名其妙的現象:每天程序員的實際下班時間總是要晚于規定下班時間,至于晚一個小時還是兩個小時還是更多這另說,總之,程序員這份工作,如果按時下班反而自己感覺自己像是做賊似的。表面上公司并沒有強迫誰加班,但實際上在潛移默化中有一種威懾力,要求你要多為公司工作幾個小時,而且表面上你所工作的這幾個小時還是你自己愿意的。正因為是“自己愿意的”,所以公司更有理由認為是無償的。

    還有是周未加班,一般周未加班是因為“忙”(關于這個帶引號的“忙”,見“軟件公司的‘忙’對程序員的影響”)。但周未加班一般是無償的,至于法律所規定的那種“償”更嘗不上了。不過一般公司是這樣規定的:周未加班可以倒休。關于倒休,一般是周未的班真的加了,倒休卻無期,原因很簡單,公司“忙”嘛!

    這種情況對程序員的影響:消極、軟弱無主見、虛偽、對前途渺茫。

    軟件公司的“忙”對程序員的影響:

    軟件公司的“忙”其實有時也是真忙,從原因來說,軟件公司認為是程序員(其實也有其他員工,但本文不涉及討論)造成的,程序員認為公司造成的。而根據“一個巴掌拍不響”原則來看,應該是公司與程序員合作不協調出現的惡性循環造成的。深層原因大家自己研究去吧。不過從我這里的表象來看,這種“忙”有這么幾點,這幾點如果不代表大家的意見,大家可以補充:

    **項目開發與計劃脫節,表現為項目開發慢于計劃。
    **突如其來的事件。
    **為某種說不清道不明的原因,像是作秀。
    **假忙。
    **真忙。

    上面說的第一種情況常見,這涉及到軟件工程的話題,其實也是軟件公司做不大,程序員水平提不高的核心。而“軟件公司做不大”已有前輩文章中說過了,而“程序員水平提不高”本文所言即是,所以這個原因大家讀完這兩篇自己體會吧。

    上面說的第二種情況也常有,比如偶爾趕個標書,比如客戶那里突然出現了BUG,急著去改等等。

    第三種情況很讓人暈菜了,有點無病呻吟的感覺,比如不知道從哪里冒出一個會議,開到個七八點;

    第四種情況很特別,也比較常見,大家同室坐、彼此各自心。一片共同耕作的美好景象,但果實見不到兩顆豆呢。這可是大家齊心虛度時光。程序員可以拿出這個時間提高自己嗎?當然不可以了,你表面上還是得干活呢。

    第五種情況不說了,因為這是正根。

    總之軟件公司是“忙”的,一般是以上三種“忙”,偶爾這三種都沒有了,第四種馬上出來的。