回覆列表
  • 1 # 深入淺出話圍棋

    很多人覺得程式設計師辛苦,要加班,容易猝死。 其實這是一種比較片面的看法。在談論對加班的看法之前,我們需要先搞清楚加班是如何產生的,筆者認為有以下幾個原因:

    先說一下程式設計師自身原因導致的加班

    對工時預估不準

    其實估計工時本身就不是一個簡單的事情。

    首先,要認識到自己要做哪些事情, 很多人開發之前覺得要做的活很簡單,無非就是寫幾個介面,做幾個頁面。 當進入開發階段的時候,會發現事情一件一件的蹦出來,大大超過了自己的估計。

    其次,要正確評估自己能夠投入的時間。如果你同時負責多個專案, 如果你每週有固定的會議時間,這些都要考慮進去, 可以給自己估一個百分比, 比如每天有80%的精力投入到開發中,不要不好意思,關鍵是要讓專案經理明白這些客觀條件, 好給出較合理的安排。

    開發效率不高

    這個原因也是多方面的, 比如自身能力不行,在開發過程中需要查閱大量的資料,甚至邊學習邊開發。 比如設計不充分就開發,到頭來發現重大問題再返工。又比如工作的黃金時間段用來處理雜事,而把開發擠到頭腦不清醒的時候。 這些都會造成開發效率的低下。

    再說一下外部原因導致的加班

    繁雜的會議和瑣事

    程式設計師開會多是一個非常普遍的現象,從需求討論到架構設計到開發,都有數不完的會。 再加上日常的日會,週會,月會等等。 很多程式設計師都抱怨上班的時間被碎片化了,只能靠晚上和週末加班。 另外,瑣事多也是一個重要原因,比如維護老專案等等, 再加上各種歷史包袱,導致程式設計師工作時寸步難行。

    專案經理壓縮專案週期

    這也是一個比較常見的原因。有時候是因為這個專案確實需要比較緊的時間,比如搶佔市場。這種時候就沒辦法了,只能大家咬咬牙堅持一下。 有時候,純粹是專案經理自己拍腦袋定的時間或者認為程式設計師的估時不靠譜, 這個時候,就要具體問題具體分析了。

    需求不斷變更

    需求變更是難免的,但是太多了就成了災難了。 這也是考驗產品經理能力的一個重大指標。對於程式設計師來說,一旦需求發生變更,可能意味著之前的活兒白乾了,甚至更嚴重會導致架構全部推倒重來, 對工期的影響是毀滅性的。

    如果能不加班的話, 我想應該沒有人會喜歡加班。面對那麼多導致加班的可能性,我們怎麼做才能把加班的可能性降至最低呢?

    從程式設計師和管理者兩方面的角度談一談這個問題:

    程式設計師

    首先,要提高自己的硬實力。提高自己的技術水平和工具操作的熟練度。 這個一方面可以透過做專案來提高。另一方面,在業餘時間也需要不斷學習來給自己充電。

    其次,在開發之前要有一個良好的設計。不管設計是不是自己做,都要對系統很明確(包含哪些模組,每個模組如何互動)開發前,想清楚再動手。一個優秀的程式設計師,在動手前的思考是非常充分的。 也許你會發現他有好幾天一行程式碼都沒寫。 但他一旦開動起來,往往就是一匹脫韁的Mustang。

    合理安排自己的時間也很重要。 儘可能推掉不重要的會議和活動,把瑣事和雜事安排在效率不高的時候做, 把黃金時間留給開發。 你會發現,效率提高了很多倍。

    最後就是溝通了。 和boss溝通,和專案經理溝通,和產品經理溝通,和UI溝通。千萬不要以為程式設計師就是碼農,把自己的模組開發完就完事了。優秀的程式設計師往往有全域性意識,他們能站在產品和使用者的角度思考問題,及時發現系統中的不合理設計。如果能趁早和產品經理提出來,避免事後返工, 將大大節約你的時間。

    管理者

    這裡的管理者可能是領導也可能是專案經理。總之,當你對一個專案負責的時候,就有義務讓其健康有序的發展,那麼,有哪些地方應該注意呢。

    合理安排工期。 在專案初期就要有一個對工期的規劃,我們要開發一個怎樣的系統,哪些功能是核心的緊急的。 哪些是重要但不緊急的, 哪些是不重要的。 心中要有個譜。 估計工時的時候要給各位工程師留一定的buffer。畢竟,是人就一定會犯錯,完全按照計劃來幾乎是不可能的。

    正確處理需求,任務和缺陷。 現在的專案一般是多人協作完成的。 不同人分配不同的任務,有些任務的優先順序高, 會阻塞他人的進度。 有些優先順序低,空閒時完成即可。 任務的拆分,分工,優先順序等等,之間的關係可能很複雜。 早期,專案經理喜歡在白板上畫上日程表,透過在上面貼便籤紙的方式來協調工作。 現在有了不少現金的工具, 比如阿里雲的“雲效”,透過系統管理專案的進展, 需求,任務,缺陷的管理一目瞭然,這樣專案經理就可以更好的把控專案進度。

    減少不必要的開會損耗,保護開發。不重要的會議非常影響開發同學的效率, 管理者應該明確每一次開會的核心參與者是誰, 減少不必要的參與者。 開會前多做一些準備,儘量用少的會議時間拿到想要的效果。關於開會人數,可以參考亞馬遜CEO貝索斯提出的兩個披薩原則。即兩個披薩原則是指與會人數不能多到兩個披薩餅還不夠他們吃的地步。

  • 2 # 叩丁狼教育科技

    作為程式設計師免不了要偶爾加一下班,辛苦自是不必說,但比程式設計師還辛苦的工作多了去了。全年無休、一有任務就要立刻出警的消防戰士和武警官兵、工地上頂著烈日干活的建築工人、城中村騎著小三輪給人搬家抬重物的雜工,他們哪個不辛苦?

    再比如外賣小哥、快遞員、長途貨運司機、流水線工人,他們的工作時長比程式設計師還長,工資卻遠沒有程式設計師高。

    別誤會,我並不是說讓程式設計師996就是對的。不給相應報酬的強制性加班當然不合理,我們理應反抗!但我們也應該正視加班的客觀存在。現在這個社會,無論是哪個工種都或多或少需要加班。如果因為這一點就排斥甚至抗拒這個行業,那就太沒必要了吧。

  • 中秋節和大豐收的關聯?
  • 果蔬汁斷食法科學嗎?最近很紅的Hey juice 3天輕斷食那種?