效率的秘密是高質量的代碼,而不是有效的管理者

最白痴的工作之一是程序員管理。 不是全部,而是那些本身就不是天生的程序員的人。 那些認為可以通過書本上的方法“提高”效率(或提高“效率”?)的人。 即使不費心去讀這些書,也有一個吉普賽視頻。

那些從未寫過代碼的人。 他們為那些他們製作關於程序員的好萊塢電影的人 - 嗯,他們在命令行上查看電子郵件。 那些除了指標、截止日期和自己的薪水之外對任何事情都不感興趣的人。

那些佔大多數的人。

但他們是白痴卻有不同的原因。 他們想要效率,或者至少是效率(來吧,經理,谷歌一下區別是什麼),但不了解其中之一。 總的來說,不了解本質,不了解獲得結果的過程,這個過程中發生的損失,開發成本。 簡而言之,與程序員一起工作就像一個黑匣子。

他們遇到程序員的管理的原因只有一個:炒作、金錢、市場和一群同樣的白痴。 有些地方會迷路。

如果機械裝配生產有炒作,他們就會跑到那裡。 通用很糟糕。 如果 XNUMX 月份在我們街區賣聖誕樹的傢伙是一名正在度假的 IT 經理,我不會感到驚訝。

簡而言之,如果可能的話,逼住這些傢伙。 別擔心,他們會找到工作的。 在他們自己成為一名程序員之前,他們永遠不會做任何像樣的事情。 因為他不了解他所管理的流程的本質、機制、邏輯。

好了,關於經理的事情就說完了。 現在出差了,針對程序員。 如何通過學習如何編寫高質量的代碼來提高開發效率。

為了提高效率,必須在不損失質量的情況下更快地解決問題。 為了更快地解決問題,您需要能夠立即編寫高質量的代碼。 還有“質量”、“寫”、“立即”。 我用一個比喻來解釋一下。

編寫高質量的代碼就像能熟練地說一門外語一樣。 當你不懂一種語言時,你會花很多時間用它來表達你的想法。

如果你需要緊急說出來,你只是粘上一些單詞,往往不是你需要的,你忘記了冠詞,正確的詞序,更不用說動詞時態和糟糕的發音了。

如果有時間來製定答案,那麼你將不得不打開字典,或者網絡翻譯器,並花費大量時間來製定你的想法。 但這種感覺仍然會不愉快:你說出了答案,但你不知道它是否正確。 與代碼類似 - 它似乎是編寫的,它似乎可以工作,以及它是否具有高質量 - XZ。

這是雙重浪費時間。 需要時間才能找到答案。 制定這個答案也需要時間——而且不是那麼短。

如果具備編寫高質量代碼的技能,那麼答案在頭腦中成熟後就可以製定出來,而無需花費額外的時間進行翻譯。

編寫高質量代碼的技能有助於架構設計。 你根本不會在頭腦中考慮錯誤的、無法實現的或手工製作的選擇。

總之:編寫高質量代碼的技能可以顯著加快解決問題的速度。

但這還不是全部。 感謝引導管理器,有一個障礙 - 所以我們沒有理由編寫高質量的代碼。 經理不看代碼,客戶也不看代碼。 我們很少向彼此展示代碼,只是有時,在某些項目中,有指定的代碼“檢查器”或定期重構。

事實證明,在大多數情況下,垃圾代碼會被送到生產環境或客戶端。 一個寫狗屎代碼的人形成了一種穩定的神經連接——寫狗屎代碼不僅是可能的,而且是必要的——它被接受,甚至為此付費。

結果,編寫高質量代碼的技能根本沒有機會發展。 有條件員工編寫的代碼永遠不會被任何人檢查。 他學習如何正常編程的唯一原因是內在動機。

但這種內在動機與效率和生產力的計劃和要求相衝突。 這個矛盾的解決顯然不利於高質量的代碼,因為他們連垃圾代碼都不會罵。 以及如何未能實現計劃。

怎樣成為? 我看到並提供了兩種可以組合的方法。

第一個是向公司內部的人員展示您的代碼。 不是被動的(當被要求/被迫時),而是主動的(嘿伙計,請看看我的代碼)。 這裡最重要的是不要掛糖鼻涕,不要試圖以禮貌的形式來掩蓋對代碼的批評。 如果代碼是狗屎,我們會這麼說:代碼是狗屎。 當然,還有解釋,以及如何改進的建議。

但這條路是一樣的。 其適用性取決於接觸發生的點。 如果工作已經投入生產,但結果發現代碼很糟糕,那麼重做就沒有意義了。 更準確地說,原因是指標也會下降。 管理者會衝撞並粉碎對效率的要求。 甚至不要試圖向他們解釋那些狗屎代碼肯定會以錯誤的形式返回——它會對你產生負面影響。 你只能承諾不再這樣做。

如果工作還沒有移交,或者剛剛開始,那麼在代碼(或其項目、想法)上倒屎本身就具有相當的實際意義——一個人通常會這樣做。

第二種方法,也是最酷的一種,是在下班後進行開源開發。 畢竟,目標是什麼:讓一群程序員,即程序員,看到你的代碼並對其進行評論。 公司內部的每個人都沒有時間。 但全世界的程序員還是無事可做,如果你從應用的角度寫出一些有用的東西,他們肯定會往裡面看。

主要特點,在我看來,就是在非工作時間寫代碼,因為代碼的質量和發布結果的速度之間的矛盾是行不通的。 至少一年寫下你的發展。 無論是最後期限、傳統知識、金錢還是老闆都不會對你施加壓力。 完全的自由和創造力。

只有在自由的創造力中,你才會理解和感受到什麼是酷代碼,你才會看到PL和技術之美,你才會感受到業務任務的魅力。 好吧,您將學習如何編寫高質量的代碼。

確實,這需要您花費自己的私人時間。 事實上,還有任何其他發展。 不要將其視為成本,而是對自己的投資。

來源: www.habr.com

添加評論