⑴ 程序員加班是不是成為家常便飯了呢有人不願意嗎
程序員這個行業的收入比較高。好像可以隨便找一個入職兩年多的程序員基本月薪一萬多。但是,高薪背後,程序員往往要付出別人想像不到的努力。加班對於程序員,是很常見的現象,這也與互聯網行業和高強度的工作環境有關。程序員加班到凌晨,因為太累在車站睡著了。老闆諷刺:我不配留在公司
程序員眾所周知,這個行業壓力很大,從著名的BAT互聯網鐵三角就可以看出來。即使是凌晨,很多互聯網公司依然燈火通明,程序員的職業基本上已經和加班掛鉤了,而且好像還能按時下班,這對程序員,是一件很奢侈的事情。甚至有人會說程序員是青春飯,因為工作強度太大,往往會讓那些中年進入職場的新人失望。
2.程序員正在用生命換取金錢
程序員加班到凌晨,因為太累在車站睡著了。老闆諷刺:我不配留在公司
程序員的工資收入雖然可觀,但是程序員的工作強度對於普通人來說是難以承受的。可以說很多程序員都在用生命換金錢。有人笑說程序員禿頂級別越高越嚴重。但是,脫發現象意味著身體已經處於亞健康狀態,否則生理上不會有如此明顯的特徵性反應。頸椎病,腰椎病,鼠手,乾眼症,這些病也是經歷過的程序員。
⑵ 程序員為什麼總是加班
程序員為什麼要加班
首先,假設這個程序員是一位職場新手甲。他剛大學畢業,沒有工作經驗。來自產品的需求,他要理解很久才能做。然後開發的過程中會遇到各種問題,如果經驗不足以支撐他快速完成任務,那麼只能求助於網路,書籍,熟人。如果這些都幫助不了他。他需要求助於同事。但是次數頻繁,同事會厭倦於幫他解答;他也會羞於咨詢。這時,他一天下來,基本都會卡在一個很簡單的問題上。下班了,他還沒有完成任務。沒錯,他需要加班了,因為他的編程能力非常差。
大概沒有人會知道他是因為需要處理一個並非高科技的問題。不懂技術的上司以為他是個勤奮的員工,非常看重他。可是,這什麼進度還是會這么慢呢?創業的公司可等不起。這一切,如果招到一個有經驗的開發人員,這一切的加班似乎都不需要。
好吧,公司開除了這名程序員或者他因「個人原因」辭職了或者公司再招到一個相對有經驗的程序員乙。當然,有經驗的代價就是公司要付雙倍的薪水。所有之前的需求在他這邊都沒有遇到過加班的情況。他是一名非常有經驗的程序員,他在過去的二年時間一直在處理相關的開發工作。到這邊來,所有的問題都是小意思。他的優秀表現讓公司驚喜和意外,公司覺得即使再招十個之前的員工也比不過他一個人。所以,雙倍的薪水又有什麼呢?
一段時間後,公司開始提各種各樣的需求,他終於開始加班了。加班不是因為某段時間需求的總量多了。而是因為隨著公司的快速發展,需求也越來越多樣化。他的知識儲備不足以令他總能輕松應付。他變得和第一個程序員一樣,也加班了。只不過加班的原因不一樣,第一個程序員是因為一些代碼的調試的原因,而這位有經驗的程序員是因為一些從沒聽說過的技術。他的加班讓公司同樣對他很重視,甚至認為是一位好夥伴。
與此同時,公司在招他的時候也招進來了一名優秀的畢業生。他同樣是一名沒有經驗的程序員,但是他有很好的學習能力。開發進度緩慢讓產品人員和運營人員都難以接受。但是他總能在最後關頭交付代碼,盡管上線後需要修修補補。他經常加班來學習以便攻克技術難點,公司對加班的員工表示歡迎,因為沒有人讓他們加班,也不需要給他們加班費或者調休。公司為所有加班的人員提供良好的晚餐。他可以接大大小小的各種需求,只是,開發時間要比較長。但是他不會遇到那種代碼調試不通過的簡單的問題。相比程序員乙,程序員丙由於經常拖慢進度經常被產品和運營建議開除或者調崗。
可是後來,公司對他欣賞有加。原因有二:一是他終於可以用和程序員乙接近的時間來做任務;二是在程序員乙那裡看似不可能的任務,程序員丙總能在最近關頭給出解決方案和代碼,只是時間比較長。產品和運營的觀點發生了改變,向公司建議開除程序員乙。程序員丙是一個學習型的員工,時間讓他有經驗後,他成長成為一名更優秀的員工。
公司有過教訓後,終於不惜花重金去請各種優秀的程序員。因為只要有一名這樣的程序員,就可以少請許多敗壞項目的程序員。於是,公司有了程序員丁。他在過去的一段時間里有著不錯的工作經歷,幫助過所在的公司完成了各種重大的項目解決了相當多的行業技術難點。他的到來為公司帶來了很好的活力,所有之前遇到的問題都不復存在。他成為了所有程序員的主管。後來,他還是加班了。因為公司的良好發展,於是聘請了更多的產品和運營。開發團隊忙不過來了,他作為主管要求大家一起加班。
為了緩解這種局面,他向公司申請增加程序員。公司答應了並再招了二各分別類似乙和丙的程序員,沒錯,公司不會再招聘類似甲的程序員。團隊不需要加班了。
好景持續不長久,一段時間後,加班的情況再次出現了,因為競爭對手的努力,讓產品和運營提出更多的需求。他發現產品和運營的需求源源不斷地輸入。可是有些需求可能用戶永遠用不到或者三天後就變化了。為了解決這種局面,他找來領導和各部門的負責人來商討解決的辦法。有人提出走敏捷開發。公司決定新成立一個小團隊來做測試。於是公司每一個敏捷開發團隊成立了。時間證明了,這個新團隊終於可以不加班了。而對需求的完成總體讓產品和運營滿意。
樂觀的局面總不能持續很久,因為線上出了一個令用戶急劇下降的bug。他們需要加班通宵,或者回退代碼,或者修復這個bug。沒有使用很好的版本回退辦法,只能是一場惡夢。持續集成和自動發布加入到他們的團隊。沒錯,程序員丁開始在團隊里實施非常好的項目管理的方案。起碼發新版後,非工作時間在線上出bug,任何有許可權的人員都可以輕松地一鍵回退。剩下的,上班再說。 ... ...
這就是我要講的程序員為什麼要加班的幾個故事,歡迎各位補充。以後我也會補充更多的故事。其實所有的後面都不重要,我只希望各位創業者,在招聘程序員時,避免遇到程序員甲,爭取找到程序員丁。作為開發人員的我們,也要努力成為程序員丁,保證自己的職場競爭力。還是那句話,軟體開發不是高科技的東西,這世上並沒有軟體科學家一說。我們能做的是讓開發更像一門藝術。
PS:不過高質量了,供大家看吧。
⑶ 程序員為什麼加班多,是什麼原因導致的
導致程序員加班的原因很多,主要由以下幾方面吧:
1.需求不清晰。需求人員或者項目經理、產品經理沒有吧需求梳理分析清楚,等開發到一半甚至開發完了,才意識到需求錯了,需要重新做,眼看項目或產品都快交付了,只能讓程序員加班了。
2.管理問題。企業文化,就是加班,本來沒啥活,但領導就覺得員工加班他心裡踏實,所以那不管你是不是程序員,一律加班。
3.自身問題。效率低,解決問題能力不行,分配的工作任務無法在規定時間內完成,那隻能加班,自行解決了。
4.工作任務緊急。突然要開發一個新功能,客戶要求時間緊迫。不加班,無法完成。
5.工作量大。日常工作量就是大,一個人干兩三個人的工作,干不完,加班還干不完呢,加班成常態了。
從甲方角度看,我就想要什麼產品3個月上線,這是戰略和領導決策決定的,不能拖太長時間。
甲方以這個要求去找乙方,乙方銷售為了完成業績,他滿口答應。
售前一般不會反對銷售。
合同一旦簽署完畢,銷售業績就認為算完成一大半,後續介入內部流程就可能減少。
這時候認為,按時交付的責任應該在研發方面。
開發和產品團隊此時可能還需要進行需求分析,系統設計,提交文檔,正規一些的測試部門還要審核文檔。
然後這些事都走玩,開始開發任務。開發人員每天一個日報,每周一個周報,幾乎天天開會討論。
白天都在討論問題,只有晚上其他部門都走了,無人打擾時,研發才可能專心敲代碼。
沒讓專業的人做專業的事情, 是工作開展的大忌,在工業上,早已證明了一切,在工廠生產中,工人流水化作業,一個人只專注一件事情,會越做越熟練,越做越快,越做效率越高。
在軟體開發分工越來越明確的今天,讓後端人員搶前端人員的飯碗,去寫網頁、樣式,效率能高嗎?讓後端人員去搶DBA的飯碗,去做資料庫優化,效率能高嗎?
不專業的人做不專業的事情,可能和公司的發展歷程、組織架構、人員規劃有關;也可能和任務安排有關。
公司發展初期,養不起很多專業的人,可能更需要「全棧」工程師,啥都一把捉;公司發展的過渡期,有點錢了,也意識到了要讓專人做專業的事情,但是人員還沒招齊,那沒辦法,你也得兼職著做各種各樣的事情。如果公司有錢了,發展也成熟了,不是屬於以上兩種階段,在IT組織中,連前端、後端、測試、架構、DBA、網路、伺服器運維、技術支持、安全、產品,這些職能都沒區分好的話,就會對工作效率有影響。IT一線工作人員,每個坑位,都需要一顆專業的螺絲釘。
開發人員不注重代碼質量,導致後期返工,導致效率低
有 時候,快即是慢,對於經驗不足或者習慣不好的開發人員,開發前期,被迫或者自己沒意識到,為了追求進度,邏輯沒考慮周全,沒做好自測,代碼能跑起來就算完 成任務了,表面上任務完成得很快。但是在項目後期,測試階段,問題大規模爆發,甚至要返工,由於測試後期,離自己寫代碼的時候,可能隔了一段時間,有的東 西自己都忘了,再回過頭去重新「熟悉」,效率能不低嗎?更為嚴重的後果是讓項目進度不可控。因此,就算進度再緊張,也頂住壓力,必須要做最基本的測試,再進入下一個任務點。
個體組織人員膨脹,出現溝通成本大的問題,導致效率低
溝通成本是人員膨脹後,暴露出來的首要問題。
舉個簡單的栗子,很多公司都有每天晨會習慣,如果一個組有5個人,開晨會匯報工作,平均一個人匯報2分鍾,就需要10分鍾,現在一個組增加到10個人,一人匯報兩分鍾,都要20分鍾才能匯報完。時間就這樣過去。
再舉個栗子,30人天的工作,分給2個人做,可能需要15天,共耗費30人天,但是分給5個人做,6天能完成嗎?
信息在溝通、傳遞的過程中,可能會「失真」,你想的,不一定能100%說出來,你說出來了,別人也不一定能100%理解,而且每個人的理解能力、知識體系都不一樣,理解起來容易產生偏差,產生偏差就容易做錯事情。
因此,如果人員出現膨脹,要以項目為單位,進行合理的項目拆分、人員拆分。同一個「小項目」最好不要超過4個人負責。溝通的時候,推薦使用口頭+書面+復述,減少溝通過程中的信息失真。
上、下屬之間相互不信任,做事有阻礙或者導致重復工作,導致效率低
上 下屬相互信任是一切工作的基礎。如果上級不信任下屬,不敢授權給下屬,凡是都要自己過一遍,而上級往往是一對多的關系,這個時候,工作瓶頸會出現在上級身 上;如果上級不信任下屬,搞一堆監督機制,為了下屬不做錯事情,又讓別人同事過一遍,又要耗費額外的成本,勞民傷財,而下級得不到信任,做事受阻,久而久 之就會畏手畏腳,很難獨當一面,或覺得自己有能力沒地方使,乾脆走人。
上級應該充分信任下級,放心授權讓下級去做事情,但這些都一個前提就是要有一個較好的軟體管理過程,包括開發環境和測試團隊和在完成任務的過程中進行一些輔導和進行重要節點管控和監督。
上級不信任下級,經常碰到,而下級不信任上級也很要命。程序員是很有個性的工種,不好管理,往往特別多想法。就好像車輪子陷入泥潭中,上級說車子往前推,有的人又說,往後拉,各自發力,估計車子永遠都擺脫不了泥潭,還談何效率?
因此,如果有意見,前期可以提,但是解決方案一旦定下來,應該上下一心(即使有意見也埋在心底吧),朝著目標一起去努力。
不同部門之間溝通存在隔閡與障礙
軟體開發過程中,在IT范疇內,不同部門難免有交集,例如開發與運維、開發與測試,不同崗位承擔的責任、掌握的知識體系、考慮問題的角度往往不一樣,導致處理事情受阻。
舉 個栗子,有一次,開發人員為了驗證某個問題,需要運維人員協助重啟某個站點。對於開發人員來說,這個站點,用的人比較少,而重啟也是一瞬間的事情,風險為 基本為0,但是由於運維人員掌握的知識體系不一樣,怕重啟了會造成很大影響,甚至害怕出了問題要自己承擔責任,明明可以瞬間操作解決問題的,又要等到中午 或者半夜三更沒人的時候才敢重啟,效率就是這樣降低了。這個時候,需要運維人員,去學習一下相關知識,或者引入新流程,例如,重啟站點,需要某個專業人士 口頭同意,即可立即執行。
因此,不同部門之間的人,應該互相學習,才能更好地溝通;做事情,盡量做輕量級的流程化、標准化。
上級工作安排不到位
上級工作安排不到位,也會導致工作效率低。有時候會有這種怪現象,可能很多事情沒做,但是下面的人沒事可做;或者有的人很忙,有的人很閑。
軟體開發分工,不像搬磚頭,一人搬一車就行了。軟體開發, 工作量化本身就是一個很難的地方,如果項目經理沒有做項目計劃,沒有做工作點、任務點拆分工作就很難安排到位。特別是剛剛從程序員轉型做項目經理的人,過 程性思維,不會對項目做整體的把握、整體規劃,想到哪裡就做到哪裡,想到什麼就分配什麼工作,最後一團糟,一會把下面的人累死,一會又讓下面的人閑死。
⑷ 湖北某程序員加班至淚崩,你的工作壓力大嗎應該如何解壓
其實目前來看,我的工作壓力不是很大,當然相信壓力跟收入是成正比的,一般高薪水的工作壓力都會比較大一些,所以我現在的工作屬於是壓力小,空餘時間多,收入也不是很可觀的性質。
說到應對措施,那時候年輕,剛從學校畢業,可能抗壓力的能力也不是很強,自我調節的能力也差,所以當時應對壓力的措施就是辭職了,放棄那份收入還算可以的工作,選擇了現在這份比較輕松的工作,所有的壓力都沒有了。
當然我這種情況只是個例,其實現實中,有很多的方法可以用來釋放壓力,因為生存本身就不容易,如果面對壓力總是逃避也不是辦法。
可以通過情緒調節,運動健身,閱讀,旅行等方式解壓。有時候也可以跟值得信賴的人多聊聊天,找到一個出口,也就能夠釋放壓力了。
⑸ 為什麼程序員每天工作都要加班呢
程序員加班這個事情肯定是真的沒毛病,你的閨蜜和你老公肯定是沒毛病的,並沒有打著加班的幌子欺騙你。
現在咱們說說為啥程序員經常加班,這就得從程序員的工作說起了,程序員的工作,大多數是以項目為單位的,比如開發一個軟體,會有軟體開發的周期,哪些環節和功能的實現要在指定的時間內完成,如果不能完成就會耽誤項目的整體進度。
還有過年春節的時候,微博、微信都會有程序員加班,來檢測數據,一旦到達伺服器的臨界值,就進行一些相關的操作。這就是為什麼程序員經常加班了。
⑹ 我兒子是程序員,每天連續加班到半夜一點,我感覺我的心都在滴血,怎麼辦
大家都知道,現在是互聯網時代,以互聯網為基礎的工作非常多,而且很多人都知道,互聯網工作的特點之一就是收入很高,動不動就是收入過萬。在互聯網公司工作過的人都知道,月薪過萬在互聯網行業,真的不算高!但其實,這也是有前提的,那就是你需要做到價值10000塊以上的事情,所以在互聯網公司高薪的背後,是經常加班,可能有時候都需要加班到深夜。那說到互聯網加班,相信在互聯網工作的人都知道,在互聯網公司中,加班最多的崗位就是程序員,因為互聯網公司對於程序員的要求是非常高的。舉個例子,如果說系統出現了Bug,那用戶就會要求系統Bug及時得到解決,而這時候,程序員就需要立刻著手去解決,沒有商量。所以程序員壓力大,是網友非常認可的事情。可能有人看過這樣一個留言,一位母親說他兒子是程序員,每天連續加班到深夜一點,她感覺她的新都在滴血,問網友應該怎麼辦。接下來,冷眼就給大家分享一下個人觀點。
⑺ 29歲女程序員哭訴,加班太嚴重,想跳槽!網友:沒有不加班的公司
前言:一個91年的北京女碩士發帖求助,說自己29歲,已經買了房子,房貸壓力小,准備31歲左右生孩子,現在在BAT做研發工作,每天都要加班到晚上22-23點,沒有成長沒有生活,互聯網的加班氛圍太重了想逃離,請問這個時候是選擇去體制內還是去為數不多的幾個養老長敲代碼?聽說體制類很多研發崗加班強度也很大?
很多網友給她建議去外企的互聯網工作,北京微軟谷歌都可以去嘗試。
其實30歲來說對很多的程序員都是一個門檻,程序員很多人都說吃的就是青春飯,很多人30歲過了沒有上管理層就很容易出現危機,不僅僅是女程序媛。想要輕松點的工作,只能進體制類做研發崗。
網友建議,既然有結婚的打算還是要注意身體,高強度的工作肯定會對生則顫活有影響。樓主的學歷也很高也有大廠的工作經銀畝驗,長期來看天天加班到半夜確實不行了,是到了重新選擇的時候,如果是你你會怎麼選擇呢?
大家有什麼孫搏敗新的看法歡迎在評論區留言!!
對了,小鵬還為大家准備了一套2020最新的python,Java,UI資料,需要的自取
⑻ 程序員加班如此瘋狂,都有哪些原因
程序員加班是程序員,工作中很常見的一個情況。為什麼要加班呢?顧名思義就是工作沒完成,或者是工作任務量太大,他沒有辦法在規定的時間裡面做完,所以他就只能瘋狂地加班來完成自己的任務,這樣才能不被上司批評。
第三個原因就是因為程序員的日常比較繁瑣。因為我們都知道程序員這個工作對於工作人員本身的要求是非常高的,不管是她知識領域的專業性,還是她實際操作的技巧性,都是有著嚴格要求的。所以說這個崗位上面的人才還是比較稀缺的,工作的人數比較少,分配到每個人身上的任務也比較重。
⑼ 程序員為什麼要加班呢
你好,首先程序員加班是一個常態化狀態。加班我們分兩種情況,第一公司業務確實比較好,在有限的人員中開發量很大,這個沒有辦法只能加班;另外一個就是自己負責的模塊變化很多,比如bug太多,業務邏輯不嚴謹等。這樣的解決辦法是多學習知識來填充自己,下面是部分學習知識點,希望能幫到你。
索引在遍歷過程中的次序無定義,即使是數字索引也是這樣。(如果想按數字次序遍歷表,可以使用數字形式的 for 。)
當在遍歷過程中你給表中並不存在的域賦值,next 的行為是未定義的。 然而你可以去修改那些已存在的域。 特別指出,你可以清除一些已存在的域。
如果 t 有元方法 __pairs, 以 t 為參數調用它,並返回其返回的前三個值。
否則,返回三個值:next 函數, 表 t,以及 nil。 因此以下代碼
能迭代表 t 中的所有鍵值對。
參見函數 next 中關於迭代過程中修改表的風險。
傳入參數,以 保護模式 調用函數 f 。這意味著 f 中的任何錯誤不會拋出; 取而代之的是,pcall 會將錯誤捕獲到,並返回一個狀態碼。 第一個返回值是狀態碼(一個布爾量), 當沒有錯誤時,其為真。 此時,pcall 同樣會在狀態碼後返回所有調用的結果。 在有錯誤時,pcall 返回 false 加錯誤消息。
接收任意數量的參數,並將它們的值列印到 stdout。它用 tostring 函數將每個參數都轉換為字元串。 print 不用於做格式化輸出。僅作為看一下某個值的快捷方式。 多用於調試。 完整的對輸出的控制
在不觸發任何元方法的情況下 檢查 v1 是否和 v2 相等。返回一個布爾量。
rawget (table, index)
在不觸發任何元方法的情況下 獲取 table[index] 的值。table 必須是一張表; index 可以是任何值。
rawlen (v)
在不觸發任何元方法的情況下 返回對象 v 的長度。v 可以是表或字元串。 它返回一個整數。
rawset (table, index, value)
在不觸發任何元方法的情況下 將 table[index] 設為 value。table 必須是一張表, index 可以是 nil 與 NaN 之外的任何值。 value 可以是任何 Lua 值。
這個函數返回 table。
如果 index 是個數字, 那麼返回參數中第 index 個之後的部分;負的數字會從後向前索引(-1 指最後一個參數)。 否則,index 必須是字元串 "#", 此時 select 返回參數的個數
希望能幫到你,謝謝!