App下載

批評代碼而不是人!15年程序員的職場箴言

猿友 2021-02-24 15:55:33 瀏覽數 (10822)
反饋

獲得成功必然是一個不斷學習成長的過程。在這個過程中,來自別人的指導意見以及經驗之談會給予我們一些啟發(fā)和提示,從而避免許多不必要的彎路。擇其善者而從之,其不善者而改之。

在從事軟件開發(fā)工作的15年中,我經歷了許多不同的階段。在某些時候,我恨不得把所有的軟件開發(fā)工作都丟進地獄,寧愿跑到深山老林里去喂牛。而在其他時候,軟件開發(fā)工作的一切對我來說是那么的完美。今天,我終于讓我的職業(yè)生涯和個人生活達到了平衡,我可以告訴自己我非常喜歡軟件開發(fā),但是我不能忘記它并非一直這樣完美,而且也并非對每個人都是如此完美。

本文將分享在這15年中我學到的一些經驗,正是這些經驗讓我的職業(yè)生涯與個人生活達到了和諧共存。

如何達到和諧共存呢?以下是我的經驗分享:

一、經常換工作

當開始從事軟件開發(fā)這一職業(yè)時,通常的入門都是從初級開發(fā)人員開始,但是初級開發(fā)人員的薪酬通常都很低。無論你多么努力,想在一家公司取得快速的進步并不是一件容易的事,尤其是如果你所在的是一家小公司的話。如果你想快速提高你的技能和你的薪水,那么,就需要經常換工作,尋找一個更好的職位。

如果你的生活中沒有太多的負擔,那就不要猶豫換工作。

二、為你自己而不是為公司做好工作

努力學習,努力提高技能,努力做正確的事情,但記得要為自己而不是為公司而做。因為當你的工作出了問題或者當公司不再需要你的時候,你就是一個可以犧牲的數字。

你的時間屬于你自己,它是你最寶貴的財富。

三、如果你被解雇,就把它當作一個做你不敢做的事情的好機會

在某個時間段你在一份平庸的職位中毫無激情地工作著,而在另一個時間段你在另一家公司找到了一份不錯的工作。有時候你會害怕失去工作,但有時候被解雇可能是發(fā)生在你身上最好的事情。

幾年前,我曾經有一份好工作,薪水很高,也很輕松。然而經濟危機來了,公司解雇了一半的無項目可做的員工。我就是其中之一。當時我認為這可能是發(fā)生在我身上最糟糕的事情,因為這份工作讓我的生活改變了很多,這些改變可能是影響我生命的許多方面的最好的事情。被解雇這件事讓我非常失望,因為我為公司做了一切,為了公司我犧牲了很多私人時間。

現在我到了一個充滿活力的公司,我可以做我想做的工作,做我喜歡的項目。這份新的工作讓我覺得非常吸引人,星期一也不再那么煩人了。

四、你可以在工作中交到好朋友,

但當你換工作時,這些朋友中的大多數都會失去

這些年來,我在工作中認識了很多人。在我曾經工作過的公司里,我們每年都會一起參加公司的晚會,公司的午餐會,以及每個人都會去的公司“活動”,但所有這些美好的和諧并不像我們想象的那樣真實。

許多人都只是想取悅老板,并且對那些不在現場的同事和上司吹毛求疵。我意識到我在這些活動上浪費了多少時間?,F在我只去參加那些我想去參加的活動,不再顧忌別人怎么想。

與以前的同事保持聯系很困難,隨著時間的推移,我和他們中的大多數都失去了聯系。雖然我也交了一些好朋友,但在大多數情況下,在換工作的時候,這些人際關系就消失了,我的好朋友大多數都不是對我的職業(yè)生涯很重要的人。

五、如果你安于現狀,你就會失去機會

在你的職業(yè)生涯中,你所做的最糟糕的事情之一就是在工作中變得過于安逸而不思進取。如果你變得安于現狀,你將害怕你的職業(yè)上的任何變化,也會害怕你的公司可能發(fā)生的任何變化。

我的一個朋友就是這樣,他在一份舒服的工作上已經做了十多年了;他很安逸,不再想學什么新鮮東西,這導致他在職業(yè)上或生活中可以得到提升的機會越來越少,隨著時間的推移,我看到他越來越害怕——當然,他討厭星期一。

我也在一份很舒服的工作上干了將近兩年,這份工作讓我學不到什么新東西。而且這份工作對我來說非常容易,每天都有很多空閑時間。這樣的工作讓我覺得是在抵押未來,為此我決定換份工作。

六、批評代碼,而不要批評人

如果你的同事做錯了什么事,你可以有很多方式指出來。但是永遠不要指責人,因為這樣做只會讓你制造敵人,不僅是你個人的敵人,而且是你職業(yè)的敵人。你要盡量嘗試幫助每個人,如果你認為你能夠做到的話,就幫他改進代碼,但是你需要向他解釋原因,不要強行修改。記住,生活都是在兜圈子,發(fā)生在你同事身上的事同樣會發(fā)生在你身上。

一些開發(fā)人員傾向于對他們所做的事情產生一種巨大的依戀感,好像他們的作品代表了他們的“寶貝”,對它的任何批評都是針對個人的,或者被解釋為對他們自己的批評。

記住,對代碼的批評不是對人的批評。僅僅因為有人在過去寫了糟糕的代碼,并不意味著他現在是一個差勁的開發(fā)人員。代碼是壞的,但人不見得是。任何事情都是可以改進的。

七、改善工作工具和工作空間

這一點非常重要。如果你的工作電腦速度很慢,你完成事情的時間會更長,時間就是金錢。如果你的顯示器很小,你將無法將屏幕劃分為不同的屏幕,這也會浪費你的時間。

現在我每天在家里工作,我決定買一把好椅子,一個大顯示器(以便我在編程時把它分成幾個屏幕),我還要買一臺功能強大的電腦。這可能看起來很貴,但隨著時間的推移,它會為你節(jié)省很多金錢。

現在我自己一個人可以做更多的項目,我可以更快地完成我必須完成的任務,我的背也不會受傷。

而且,我有更多的時間做運動,所以我不需要做背部按摩,晚上我的眼睛可以得到更多的休息,我可以享受在床上看書的樂趣。

八、如果你有帶薪或者不帶薪的假期,可以的話就休假吧

時間是你擁有的最寶貴的東西。工作和金錢不是你的生活的全部。而且,每年休個假對你有好處,你可以借此機會思考一下你對自己正在做的工作是否滿意,或者放下日常的工作,試試做做不同的事情。

此外,休息可以幫助你了解自己正在做什么,以及對自己做的事情滿意還是不滿意。

我總是在空閑時間有最好的想法,我一生中最好的決定都是在空閑時間做出的。

九、避免技術債務

“技術債務”是軟件開發(fā)中的一個概念,它指的是由于采用簡單(有限)的解決方案而不是使用需要更長時間的更好方法而導致的額外工作的隱含成本。盡管如此,我還是更喜歡沃德·坎寧安(Ward Cunningham)提出的這個比喻,即當你在處理技術債務時,把它視為金融債務:而增加新特性的額外努力相則當于金融債務的利息。

如果你快速解決了一個問題,沒有經過足夠的思考,沒有運用更好的做法,將來你就要為此付出代價,你將不得不花費幾個小時的空閑時間來解決它。

十、學會即興發(fā)揮,不要把變化看得太悲觀

我記得我在進入這個行業(yè)工作的前幾個月,我相信項目一定會定義明確,客戶一定知道他們想要什么。然而,我很快意識到事實并非如此。

這讓我感到焦慮,因為我想讓工作按時完成,而很多時候這是不可能的。你要學會接受情況一直會變化,很多時候這些變化會導致你不能按時完成一個項目,但這不是你的錯。放輕松,擁抱這些變化。

十一、如果你不在工作中做決定,別人會替你做決定

如果你想成為那個決定在一個項目中使用一項新技術,或者使用一個新方法的人,在將你的決定告訴同事之前,你必須知道你想使用的新技術或新方法。

如果你不這樣做,他們可能會把他們的技術強加于你,或者否決你的想法。

十二、保持你自己的節(jié)奏

軟件開發(fā)的世界日新月異,你要以平常心待之,放松心情,不斷學習和成長,始終以自己的速度前進。如果你不能學到所有的東西,不要沮喪。關鍵是要完美地學習重要和基本的東西,并跟上其他技術的發(fā)展。

十三、學習如何閱讀文檔

匆匆忙忙地使用某些東西會使你無法很好地閱讀文檔或正確理解 API。

如果你想保證你做的事情正確而不浪費時間,不要試圖走捷徑。好好閱讀文檔。否則,你可能不會以最好的方式工作。

對 Stack Overflow、Google 和其他來源的源代碼保持批評態(tài)度。不要照搬解決方案,要理解它。


十四、學會放下工作

不要把工作上的問題帶回家。如果有一 bug 或者一個你不知道如何解決的技術問題,把它留到第二天。你會為自己節(jié)省很多時間,而且你不會因為整天都在解決問題而討厭你的工作。休息的頭腦更有效率。

如果你不這樣做,焦慮會讓你無法入睡,第二天你會面臨同樣的問題,同時昏昏欲睡。

這一點不太付諸實踐,但它卻是我學到的最有價值的經驗之一。

結論:

我在這篇文章中所寫的是個人經驗,可能看起來顯而易見。但是在很多情況下,即使我們知道這些方法如何改進我們的工作和生活,我們也不會去做,而生活最終會迫使我們去做。不要把它留到最后一刻;如果我在一開始工作時就運用了這些相同的技巧,我相信在隨后的工作中我會節(jié)省很多時間和少很多彎路。


4 人點贊