當我談 "加班有罪" 我在談什么?


前言

PS. 本文只描述IT行業。

博客園果真人氣比較高,我之前准備寫個 "領域驅動系列",然后感覺大家不感興趣,看來用的人不多,所以一直沒動力續,但是昨天寫了 [加班有罪] (http://www.cnblogs.com/cnblogsfans/p/4431160.html), 卻收到了很多個贊,讓我感到有點意外。

我今天看了很多評論,感覺很欣慰,大家其實對加班的看法和擔憂其實都是正確的,但是很多人可能忽略了一些前提,如果盲目的下班就走,數着秒下班,那我寫這篇文章就有罪了。

為什么加班是有罪的,[加班有罪] (http://www.cnblogs.com/cnblogsfans/p/4431160.html) 這篇文章已經做了較多的闡述,那么光說加班有罪是不夠的,公司或者老板可以提倡不加班的文化,但是如何才能做到不加班?直接一刀切,到六點就趕大家走這樣肯定是不夠的,可能很多公司如果現在立馬這么做,可能就倒閉了,員工可能還得找工作。

加班有罪的對立面也不一定是正確的

我們很多人想問題,可能是非黑即白,我們提倡不加班,但是我們要想如何不加班,如果我們技術水平低,別人1個小時做完的,你可能一天也做不完,如果你寫的程序員出現了緊急的bug, 如果你上班時間在看電影,QQ等,你再不加班把任務做完,哪個公司敢用你? 我前篇文章說過,並沒有說你一分鍾都不能多待,比如每個月有8個小時的加班,我認為都是正常的。

如果你上班時間也沒有好好干,那么不加班更有罪,因為你是上班時間休息了。

如何不加班?

我們實行敏捷很多年了,但是同樣有很多人一說到敏捷,就只知道SCRUM, 沒有抓住敏捷的本質。就算過程用SCRUM, 那么其實也就是一個管理層或者從上到下的東西,但是並沒有對程序員每日的工作有多大的幫助。我們同樣需要很多的工程實踐,技術成長等來提高我們每天的工作效率和質量。

那么我認為從程序員的角度,如果你想理直氣壯的准點走人,那么一下幾點可供參考。

  • 工作時間要保證

    我個人覺得上班時間工作是天經地義的,可能有的人羡慕Google等有更寬松的時間,羡慕很多公司都不需要工作8小時,但是前提先想一想,我們是否有那些公司的工程師的能力和效率,如果沒有,還是在上班時間好好工作,如果有,與其羡慕,不如趕緊加入你羡慕的公司,前提是人家要你。

  • 上班的時間要用來工作

    我們很多人上班時間一會兒刷下微博,一會兒看看微信,尤其是QQ閃個不停,還有號稱是要學習的,加了一堆技術的群,美其名曰學習技術,我也加了些群看看,實際上發現基本都在里面灌水。原因很簡單,有的時候問個問題,基本問問題的人描述不清,別人怎么回答? 問問題,你就不能上StackOverflow嗎? 原因是自己只會用百度,好吧,我無話可說。

  • 進公司隱瞞自己技術水平

    現在IT行業有個怪圈,我覺得遲早得撥亂反正,本來作為一個程序員答答題,上機寫寫程序等是非常正常的,但是你要是這樣來招人,很多人就很不樂意,說我沒那么多時間,我只給公司請了2個小時假來面試,你看着他的簡歷應該是會的樣子,這就極其考驗面試官,很多時候越是寫程序不行的,越是最比較厲害,尤其是看到概念比較多的。你還真不容易判斷出他不行,但是一進來,你發現就完全不行,ASP.NET 你讓寫個HttpModule不會,MVC你讓統一地方處理一下異常不會,你說做權限控制,他寫不了一個Filter, 你說WCF 想擴展功能寫個Behavior 他說我們用的時候就是頂一個接口標記Contract, 深入的沒看過,總之各種不行。然后你布置個很簡單的任務,就是說一個高級程序員必須會的,他得花時間再學習,然后才能有產出,你說怎么辦?上班時間都在學習,你說活還干嗎?

    針對上面的情況,一種方案是直接不用這個人,第二種就是要爭取個人同意讓他多干一會兒,不然你還得背上黃世仁的名,其他人看到你說的不加班是假的。

  • 降低自己的薪水,給自己留學習的時間

    我們有的時候,確實進來后,發現周圍的人都比自己強,而自己的薪水也和他們差不多,如何衡量,就是如果你的薪水比市場其它公司要高不少,而且你進來后發現你比別人差不少,就證明你要多了,這樣公司可能按同級別薪水的人要求你,你的產出肯定是比別人少,這樣你想完成任務,就得加班,那么就到了我說的惡心循環,最好的方式就是主動降點薪水,然后留下班后的時間給自己學習,公司也不會對你要求太多。其實這樣,你的收益更大。

  • 提高工作效率,改變工作方式
    我們很多人,做事方式和方法有問題,比如連需求都沒搞清楚,就開始寫代碼,然后刪了又刪,改了又該,這樣很簡單的一個東西,必然要做很長時間。有的人代碼寫完后自己下次都要想很久才能知道啥意思,這就需要我們多改進自己的工作方式,多向效率高的程序員學習等。 同時有很多東西提高效率,比如你是否可以並行的做一些事情來提高效率,比如使用Resharper就可以大大提高效率,寫單元測試可以避免你為了測一個方法每次都要把系統跑起來debug呢?持續集成可以幫助你把你修復bug更靠近你產生bug的時候等等。

  • 下班后多學習

    上篇文章我也提出了,不加班不代表下班后不學習,我招人的時候,經常問的一個問題,就是你如何提高自己技術水平,很多人回答了我一個無法反駁的答案就是:"通過做公司的項目學習",但是這是遠遠不夠的,一般如果只是這樣,除非你天賦異稟。我是不相信你這樣就能夠成為大牛的。 比如我們需要了解工程實踐,了解新的技術,了解一切幫助提高質量和效率的東西,了解一切提高溝通和管理的書籍等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM