<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                聽說嫁人要嫁程序員,錢多話少死得早。這話多半是程序員自己黑自己的。程序員是有非常特別的幽默感的一群,善于自嘲,勇于自黑,耐受力超強,很多事無可無不可,不到是不可孰不可忍不會沖冠一怒。不過,就是這么 nice 的人,也很有一些受不了的事兒。 ## 需求變化 ![](https://box.kancloud.cn/2015-11-27_56582a48da8b8.jpg) ? ? 為什么把“需求變化”排第一呢? ? ? 因為有人說:殺一個程序員不需要用槍,改三次需求就可以了。 ? ? 由此可見,需求變化的殺傷力有多強。 ? ? 我見過不少程序員,和產品經理(需求人員)關系緊張,話不投機半句多,或者關公秦瓊比臉紅。在程序員看來,往往需求一句話,程序員幾天的工作都白費了。程序員是最珍視自己勞動的,心里能不窩火嘛。你早說嘛,有變化你早說嘛,為什么非等我干個差不多了才說呢,你早說我能不讓你改嘛…… ## 加班 ? ? 加班呢,在程序員的字典里,是個熱詞。不折不扣的熱詞。 ? ? 很多程序員過的是“固定程式”般的生活——上班、加班、回家開夜車然后再起床上班,周而復始。 ? ? 因為大家都知道有加班這么一回事兒存在,其實,一開始領導要求加班,雖然我是不愿意加班的,也還是從了。趕進度嘛,一起聯調嘛,市場時間點定了嘛,都情有可原。 ? ? 可是,我真的不愿意加班,對于無情可原的加班,我是深惡痛絕的啊。 ? ? 比如,明明一個項目需要 20 個人月,老板一句話,四個人干倆月就要交活,項目經理還居然答應了,這明擺著一開始就把加班算計在內了,讓高智商的程序員情可以堪呢。 ? ? 比如,明明是張三的活兒出了岔子進度沒控制住,卻把我李四拉過來加班搞定,我白天的盡職盡責不就是為了能夠按時完工不加班么,張三白天吊兒郎當看新聞打游戲聊QQ卻讓我來收拾這爛攤子,我能平衡嗎我。 ? ? 比如,需求討論了幾遍了,都確定了,程序員都沒日沒夜干了兩個月要發版本了,領導一句話,說哪哪不合適,產品經理一句話,說哪哪不符合用戶習慣,需求一句話,說哪哪還要改一下……你一句話不當緊啊,你還說“這個應該很簡單吧”,你知不道的事兒多啦,我們的程序就像蛛網,彼此糾纏,關系那是剪不斷理還亂,牽一發動全身,你這一改動,說起來簡單,實現起來可能要從網頁一直改到數據還有手機客戶端,那是全線崩潰啊,結果呢,不加班能行嗎,我能加的開心嗎 ? ? 比如,老板說,我們產品做不好,就是因為這幫開發老不加班,時間投入不夠,于是,我們要加班呢…… ? ? 比如,線上系統周六出個 BUG ,找張三張三不在,就拉李四來加班,現趴代碼現找問題…… ## 很簡單 ? ? 最怕外行領導內行。因為他們不能理解技術細節,總是從外面去看程序和軟件,經常會對程序員說,“這個應該很簡單吧”。 ? ? 要知道,“這很簡單啊”,這話是多么惹人惱怒。比如你讓張三實現一個登錄功能,你認為就是在界面上放兩個輸入框,一個用戶名,一個密碼,再加上一個確定按鈕,能有多復雜。其實呢,你看到的只是冰山一角。從程序員的角度來看,用戶名是否合法、密碼多少位合理,與后臺通過什么協議交互,后臺如何保存這些信息,要不要支持多點登錄,用戶權限是否很多是否要根據用戶角色來分配,支不支持找回密碼,登錄過程中網絡異常了怎么辦,來電話了又怎么處理……你看,程序員要做的工作,是不是比你想象的要多,是不是一堆一堆的細節需要考慮,這還是說得出來的,說不出來的,還有一大波與登錄相關的 BUG 正在趕來…… ? ? 所以,“很簡單”這種話,不應該從需求、項目經理、老板等等嘴里蹦出來,你們不是程序員,不了解程序員的痛有多深。就算你曾經是程序員,可是你也不寫程序很多年,早不能原音重現了。 ? ? 作為一個程序員,我特別討厭“這個很簡單吧”這種話,可是又經常遇到,甚至我自己有時也會說,但這話真的讓人很蛋疼,除了顯示說話者的無知、自以為是、炫耀之外,再沒別的什么好內涵了。 ## 角色錯位 ? ? 項目經理干程序員的活兒,老板干項目經理的活兒,程序員操心老板的活兒…… ? ? 有一部分小公司,角色就這么亂。 ? ? 出現這種現象,一般的過程是這樣的: ? ? 項目經理是程序員出身(碼而優則仕),技術很牛X,雖然當了項目經理,可還沒從“我自己可以搞定一切”的自慰自大中跳脫出來,一旦項目進度趕不上預期或者某個程序員的進度出現問題,項目經理就會把別人背上的猴子搶過來,重新下沉到寫代碼或解問題的細節中,一旦項目經理這樣做了,更壞的事情就接二連三的發生了。因為項目經理被具體的問題絆住,無暇顧及團隊管理和項目管理,項目的執行情況就會越來越離譜,進展堪憂,可項目經理可能還存在幻想,覺得等我搞定這幾個問題再回頭來收拾局面也來得及。這真是童話啊。 ? ? 老板是不信童話的,他會看到項目經理的問題,心里也火燒火燎的,于是就伸出手來,幫著項目經理管項目,你這個人閑了,你那個人沒事兒干了,你應該先做這個功能,你們老不開會怎么能了解團隊狀況,各種各樣的擔憂和實際看到的問題,會亂了老板的心,讓他身不由己的插手項目執行層面上的事兒。好了,現在老板下水了。 ? ? 程序員是清醒的,或者自認為清醒的,他們能看到老板的越級管理,直覺上就認為這不是老板該操心的事兒,他們會覺得,老板應該放手,應該去考慮更高 Level 的事情,你伸手來管項目這算哪門子道理么,你要項目經理干嘛呢。那老板到底應該干什么呢,這個問題會攫住一部分程序員的心……還有一部分程序員反感項目經理的做法,認為項目經理不信任自己,也懷疑是不是項目經理心里看不起自己才插手自己的代碼,那項目經理你干嘛呢,你該干嘛干嘛去啊,咦,你到底該干什么呢,好吧,這些程序員操心起項目經理的分內事兒了…… ? ? 你看,就這么錯位了。 ? ? 一旦錯位局面形成,要扭轉就需要九牛二虎之力。 ? ? 首先要改變的是技術出身的項目經理,他認為技術是立身之本,舍不得丟棄,擔心自己沒了技術以后不好發展,他一時半會看不到投身項目管理所能產生的效果,這需要有人告訴他,幫助他,陪著他走過這段吊詭的歲月。另外老板也需要捆住自己的手,給團隊時間,讓團隊自己去解決問題,如果你覺得項目經理還沒合格,那你可以給他找個教練,但不要自己下場比賽。 ## 親,能不打斷我嗎 ? ??當程序員陷入潭水深深深幾許的思考中時,一個電話,一個提問,一聲“進展如何”,甚至一句“吃飯去吧”,都會像一記大招一樣將程序員豐富的內心世界轟得粉碎。相信大家都體會過自己睡得正香被人喊起或吵醒的憤怒,沒錯,就是這樣,高速行駛的途中就怕這些狀況,哪怕是一只小鳥迎著你窗玻璃撞過來,也可能導致交通事故。 ## 改別人的Bug ? ? 女兒小的時候,拉臭粑粑后我會給她擦屁股,沒覺得臭也沒覺得有什么不爽。可如果讓我候在一個大男人身邊,等他拉完屎了替他擦屁股,那我無論如何不能接受! ? ? 你的代碼就是你的孩子,無論他丑還是美,遇到問題,你不會追究石榴樹上為什么結出櫻桃,你義不容辭得去 Debug 它,而且因為是你親生的,你一般不會嫌棄。 ? ? 別人的代碼,別人的 Bug ,那就是另外一回事兒啦,憑什么我要給你擦屁股啊,聽見“你幫張三改個Bug”這類的話都可能有生理反應,真沒辦法,頂不住領導施加的壓力,短衣襟小打扮擼擼袖子,不情不愿地進了張三的屬地,也很可能收不到好效果。原來,這里只有一條通往蜘蛛巢的小徑,張三已忘了,李四尋尋覓覓尋不到,結果誤入代碼深處,嘔吐,嘔吐,帶出 Bug 無數。 ## 維護老代碼 ? ? 老代碼啊老代碼,可能已經被 N 波人維護過了,可能有“拿個錘子看什么都是釘子”的程序員到此一游,可能有愛貼膏藥的程序員到此一游,可能有隨地大小便的程序員到此一游,可能有瀑布式程序員到此一游…… ? ? 在老代碼里,你可能看到很多硬塞進去的、突兀的、生硬的、硌人的代碼,這是眼里都是釘子的程序員的杰作:不管某個功能放到某個類、某個模塊里是否合適,硬釘進去完事兒。 ? ? 你也可能看到代碼里到處都是膏藥,比如調用某個函數可能有溢出,愛貼膏藥的哥們就在調用的地方添加各種糾偏和預防措施,不管合不合適,這會兒不出錯就行了。 ? ? 你也可能看到有些標注為修復某個Bug的代碼,用的都是臨時解決辦法,而這些臨時的代碼,居然還隱藏了很多一觸即發的 Bug 。 ? ? 你還可能看到有人留下的超級大瀑布,一個函數超過 2000 行,飛流直下三千尺,十次翻頁看不完…… ? ? 老板一直認為你們的系統是這樣的: ![](https://box.kancloud.cn/2015-11-27_56582a48ed5f3.jpg) ? ? 看起來健壯、層次清晰、結構緊湊、易于擴展,所以,老板覺得加個功能滿足一下客戶的小需求很簡單。 ? ? 老板不知道,你面臨的狀況是這樣的: ![](https://box.kancloud.cn/2015-11-27_56582a491e550.jpg) ? ? 所以,你只能這樣: ![](https://box.kancloud.cn/2015-11-27_56582a4937034.jpg) ? ? 或者,這樣: ![](https://box.kancloud.cn/2015-11-27_56582a49514b4.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看