❶ 程序員要經常加班嗎 有沒有雙休,如果加班大概到晚上幾點下班求業內人士解答
每個地方的都不一樣 我就是雙休的 加班大多數是自己能力不足導致的,加班一般沒有強制規定 任務沒完成就接著做咯 實在不行第二天早點來趕著做
❷ 程序員為什麼總是加班
程序員為什麼要加班
首先,假設這個程序員是一位職場新手甲。他剛大學畢業,沒有工作經驗。來自產品的需求,他要理解很久才能做。然後開發的過程中會遇到各種問題,如果經驗不足以支撐他快速完成任務,那麼只能求助於網路,書籍,熟人。如果這些都幫助不了他。他需要求助於同事。但是次數頻繁,同事會厭倦於幫他解答;他也會羞於咨詢。這時,他一天下來,基本都會卡在一個很簡單的問題上。下班了,他還沒有完成任務。沒錯,他需要加班了,因為他的編程能力非常差。
大概沒有人會知道他是因為需要處理一個並非高科技的問題。不懂技術的上司以為他是個勤奮的員工,非常看重他。可是,這什麼進度還是會這么慢呢?創業的公司可等不起。這一切,如果招到一個有經驗的開發人員,這一切的加班似乎都不需要。
好吧,公司開除了這名程序員或者他因「個人原因」辭職了或者公司再招到一個相對有經驗的程序員乙。當然,有經驗的代價就是公司要付雙倍的薪水。所有之前的需求在他這邊都沒有遇到過加班的情況。他是一名非常有經驗的程序員,他在過去的二年時間一直在處理相關的開發工作。到這邊來,所有的問題都是小意思。他的優秀表現讓公司驚喜和意外,公司覺得即使再招十個之前的員工也比不過他一個人。所以,雙倍的薪水又有什麼呢?
一段時間後,公司開始提各種各樣的需求,他終於開始加班了。加班不是因為某段時間需求的總量多了。而是因為隨著公司的快速發展,需求也越來越多樣化。他的知識儲備不足以令他總能輕松應付。他變得和第一個程序員一樣,也加班了。只不過加班的原因不一樣,第一個程序員是因為一些代碼的調試的原因,而這位有經驗的程序員是因為一些從沒聽說過的技術。他的加班讓公司同樣對他很重視,甚至認為是一位好夥伴。
與此同時,公司在招他的時候也招進來了一名優秀的畢業生。他同樣是一名沒有經驗的程序員,但是他有很好的學習能力。開發進度緩慢讓產品人員和運營人員都難以接受。但是他總能在最後關頭交付代碼,盡管上線後需要修修補補。他經常加班來學習以便攻克技術難點,公司對加班的員工表示歡迎,因為沒有人讓他們加班,也不需要給他們加班費或者調休。公司為所有加班的人員提供良好的晚餐。他可以接大大小小的各種需求,只是,開發時間要比較長。但是他不會遇到那種代碼調試不通過的簡單的問題。相比程序員乙,程序員丙由於經常拖慢進度經常被產品和運營建議開除或者調崗。
可是後來,公司對他欣賞有加。原因有二:一是他終於可以用和程序員乙接近的時間來做任務;二是在程序員乙那裡看似不可能的任務,程序員丙總能在最近關頭給出解決方案和代碼,只是時間比較長。產品和運營的觀點發生了改變,向公司建議開除程序員乙。程序員丙是一個學習型的員工,時間讓他有經驗後,他成長成為一名更優秀的員工。
公司有過教訓後,終於不惜花重金去請各種優秀的程序員。因為只要有一名這樣的程序員,就可以少請許多敗壞項目的程序員。於是,公司有了程序員丁。他在過去的一段時間里有著不錯的工作經歷,幫助過所在的公司完成了各種重大的項目解決了相當多的行業技術難點。他的到來為公司帶來了很好的活力,所有之前遇到的問題都不復存在。他成為了所有程序員的主管。後來,他還是加班了。因為公司的良好發展,於是聘請了更多的產品和運營。開發團隊忙不過來了,他作為主管要求大家一起加班。
為了緩解這種局面,他向公司申請增加程序員。公司答應了並再招了二各分別類似乙和丙的程序員,沒錯,公司不會再招聘類似甲的程序員。團隊不需要加班了。
好景持續不長久,一段時間後,加班的情況再次出現了,因為競爭對手的努力,讓產品和運營提出更多的需求。他發現產品和運營的需求源源不斷地輸入。可是有些需求可能用戶永遠用不到或者三天後就變化了。為了解決這種局面,他找來領導和各部門的負責人來商討解決的辦法。有人提出走敏捷開發。公司決定新成立一個小團隊來做測試。於是公司每一個敏捷開發團隊成立了。時間證明了,這個新團隊終於可以不加班了。而對需求的完成總體讓產品和運營滿意。
樂觀的局面總不能持續很久,因為線上出了一個令用戶急劇下降的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,但是由於運維人員掌握的知識體系不一樣,怕重啟了會造成很大影響,甚至害怕出了問題要自己承擔責任,明明可以瞬間操作解決問題的,又要等到中午 或者半夜三更沒人的時候才敢重啟,效率就是這樣降低了。這個時候,需要運維人員,去學習一下相關知識,或者引入新流程,例如,重啟站點,需要某個專業人士 口頭同意,即可立即執行。
因此,不同部門之間的人,應該互相學習,才能更好地溝通;做事情,盡量做輕量級的流程化、標准化。
上級工作安排不到位
上級工作安排不到位,也會導致工作效率低。有時候會有這種怪現象,可能很多事情沒做,但是下面的人沒事可做;或者有的人很忙,有的人很閑。
軟體開發分工,不像搬磚頭,一人搬一車就行了。軟體開發, 工作量化本身就是一個很難的地方,如果項目經理沒有做項目計劃,沒有做工作點、任務點拆分工作就很難安排到位。特別是剛剛從程序員轉型做項目經理的人,過 程性思維,不會對項目做整體的把握、整體規劃,想到哪裡就做到哪裡,想到什麼就分配什麼工作,最後一團糟,一會把下面的人累死,一會又讓下面的人閑死。
❹ 程序員工作真的很忙么 經常加班嗎
程序員加班一般是:
1、工作內容確實很多,需要趕進度才能完成。
2、工作效率低下,規定工作不能按時完成。
3、領導原因,有些領導就喜歡安排加班,不管有事沒事,沒事讓你坐那玩都要做出加班的樣子。
❺ 如何看待程序員「被加班」這種現象
面對加班文化帶來的困擾,毛嘉妮的遭遇並非個例。這種現象在互聯網大廠和其他行業中普遍存在。長時間的加班不僅對員工的身體健康造成損害,還可能導致心理問題,影響員工的工作效率和職業發展。本文將探討加班文化的成因、影響及如何改變這種現象。
首先,我們要了解加班文化的成因。互聯網行業的競爭激烈,企業往往追求更高的工作效率和更快的項目進度。在這種背景下,加班成為了企業實現目標的一種手段。此脊枯外,一些企業的管理者盲目追求短期效益,將加班視為展現企業文化的方式,進一步助長了加班文化的盛行。
長時間的加班對員工造成的負面影響是顯而易見的。首先,加班導致員工的身體健康受到損害,增加了患上各種疾病的風險。其次,加班影響了員工的心理健康,可能導致抑鬱、焦慮等心理問題。長時間的高壓工作環境還可能導致員工的工作效率降低,甚至出現職業倦怠。
如何改變被加班文化「卡住」的生活?這需要企業、員工和社會多方共同努力。
1. 企業管理層的責任:企業管理層應該認識到長時間加班對員工身體和心理健康的影響,改變對加班的過度依賴。企業應當制定合理的工作計劃和任務分配,優化工作流程,提高工作效率,從而避免加班現象的出現。
2. 員工自身的權益意識:員工應當認識到自己的權益,學會合理地保護自己。面對不合理的加班要求,員工應當勇敢地站出來表達自己的訴求,維護自己的權益。同時,員工也應當保持良好的心態,學會合理地安排工作和休息時間,提高自己的工作效率。
3. 社會輿論的引導:社會輿論應當關注加班文化帶來的負面影響,倡導合理的工作和生活平衡。媒體應當發揮輿論引導作用,宣傳健康的工作觀念,抵制加班文化的傳播。
4. 政府監管的加強:政府應當加強對企業加班現象的監管,制定合理的勞動法規,保護員工的合法權益。對於違反勞動法規的企業,政府應當依法予以處罰,從而引導企業遵守法律法規,減少加班現象的發生。
5. 發展多元化的產業結構:政府應當引導產業結構的調整和優化,發展多元化的經濟體系,提高勞動力市場的競爭力。這將有助於減輕企業對加班的依賴,從而減輕員工的工作壓力。
6. 提高勞動力市場的流動性:鼓勵企業採用靈活的用工制度,提高勞動力市場的流動性。這將有助於員工在面對不合理的加班要求時,有更多的選擇餘地,從而減輕他們的心理壓力。
7. 企業文化的重塑:企業應當注重培養健康的企業文化,關注員工的工作與生活平衡。企業可以通過舉辦各種團隊活動、提供員工福利等方式,增強員工的歸屬感和滿意度,從而減少員工對加班的依賴。
總之,改變被加班文化「卡住」的生活需要企業、員工和社會的共同努力告蔽。通過加強監管、發展多元化產業結構、提高勞動力市場流動性以及培養健康的企業文化,我們可以逐步扭轉加班文化的盛行,實現工作襪野州與生活的平衡,讓員工能夠更好地享受工作和生活的樂趣。
❻ 程序員為什麼要加班呢
你好,首先程序員加班是一個常態化狀態。加班我們分兩種情況,第一公司業務確實比較好,在有限的人員中開發量很大,這個沒有辦法只能加班;另外一個就是自己負責的模塊變化很多,比如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 返回參數的個數
希望能幫到你,謝謝!
❼ 做軟體開發一定要加班熬夜嗎[1]
做軟體開發一定要加班熬夜嗎[1]
一個外行老闆:
有一個朋友在一個國際知名的公司工作,這家公司在北京的中國公司是被一個國內電子商務公司控股的企業。最近這家公司進行了人事調整,原來的外資管理層被中資管理層取代。新來的中資管理人員是原來在其他行業的管理者,對IT行業並不是內行,他們上任以來提倡了多個工作作風,其中一項就是,軟體技術人員工作必須是早9點上班到晚9點下班。公司的管理制度所標識的"8小時"工作制度形同虛設,當然,你也可以晚6點離開公司,但是,很快會收到點名批評的郵件。
這是一個外行老闆去領導內行的笑話,很明顯,這位CEO的想法是,"做軟體技術的怎麼能不加班?不熬夜呢?"他的這個想法恰恰是進入了一個職業的誤區:"做軟體開發必須要加班熬夜的工作".
程序員們熬夜工作的借口
對軟體開發職業的這個誤解並非"空穴來風",因為,我們確實看到很多的程序員在沒有硬性規定的公司中加班熬夜的編程序。
正是這一個現象,旁觀者們當然會很自然的聯想到"程序員們的工作需要這樣"的假設。作為程序員,"加班"是有的,但是這個"現象"本身是具有"偶然"性的,而不能成為一種"常態".
程序員們總能找到熬夜工作的借口,我們來看看都有哪些。
1 代碼一氣呵成,一定要寫完而後快
想一口氣編完程序,是大部分程序員們自發加班的`主要驅動力。比如,小張在開發一個圖形顯示組件的過程中,該組件程序已經接近收尾,一定要寫完看到想要的效果才肯罷休。
這個加班的動力來自於程序員自身,這種工作的積極性來自於程序員發自內心的對其工作的熱愛,是一腔熱血使然。這個現象對程序員是有幫助的,對整個項目組也是有幫助的,並應該鼓勵,只不過不要成為"常態".
2 明天要做一個命題演示,一定要調試好程序
明天急著給客戶做一個命題的程序演示,還差一點沒有搞定,急得抓耳撓腮,這時候,還不加加班?大客戶跑掉了,這個責任可承擔不起。所以,一定是搞定了才肯回家,明天輕裝上陣,順利完成演示工作。
3 安靜的工作環境
我們還聽到程序員們抱怨"沒有安靜的工作環境",一般兩個方面:
其一,程序員這一天工作中,不僅僅需要編寫程序,還要花費時間閱讀並回復郵件,接電話處理各種問題的詢問,協助HR面試,甚至審閱產品使用手冊,等等,根本沒有辦法踏實下來一氣呵成寫完代碼。
其二,來自於周圍環境,如果程序員運氣比較差,正好和商務部門或客服部門做鄰居,那還真是存在這個問題,因為那裡的電話與談話聲此起彼伏。
面對這兩個問題,應該有各自的解決方案:
第一種情況,應該安排好自己的工作時間表,盡量將自己的時間合理的分配。
第二種情況,申請調換座位或心靜如水、充耳不聞。
;
❽ 程序員,為什麼要加班
需求多,需求變化大,程序員因為人天貴(例如我所知的一個程序局耐員他的工資是15K,人天價格大約3000一天),所以對項目的成本壓力很大,所以加如肢班就能彌補一定項目渣臘世成本。