獲得成功必然是一個不斷學(xué)習(xí)成長的過程。在這個過程中,來自別人的指導(dǎo)意見以及經(jīng)驗之談會給予我們一些啟發(fā)和提示,從而避免許多不必要的彎路。擇其善者而從之,其不善者而改之。
在從事軟件開發(fā)工作的15年中,我經(jīng)歷了許多不同的階段。在某些時候,我恨不得把所有的軟件開發(fā)工作都丟進地獄,寧愿跑到深山老林里去喂牛。而在其他時候,軟件開發(fā)工作的一切對我來說是那么的完美。今天,我終于讓我的職業(yè)生涯和個人生活達到了平衡,我可以告訴自己我非常喜歡軟件開發(fā),但是我不能忘記它并非一直這樣完美,而且也并非對每個人都是如此完美。
本文將分享在這15年中我學(xué)到的一些經(jīng)驗,正是這些經(jīng)驗讓我的職業(yè)生涯與個人生活達到了和諧共存。
如何達到和諧共存呢?以下是我的經(jīng)驗分享:
一、經(jīng)常換工作
當(dāng)開始從事軟件開發(fā)這一職業(yè)時,通常的入門都是從初級開發(fā)人員開始,但是初級開發(fā)人員的薪酬通常都很低。無論你多么努力,想在一家公司取得快速的進步并不是一件容易的事,尤其是如果你所在的是一家小公司的話。如果你想快速提高你的技能和你的薪水,那么,就需要經(jīng)常換工作,尋找一個更好的職位。
如果你的生活中沒有太多的負擔(dān),那就不要猶豫換工作。
二、為你自己而不是為公司做好工作
努力學(xué)習(xí),努力提高技能,努力做正確的事情,但記得要為自己而不是為公司而做。因為當(dāng)你的工作出了問題或者當(dāng)公司不再需要你的時候,你就是一個可以犧牲的數(shù)字。
你的時間屬于你自己,它是你最寶貴的財富。
三、如果你被解雇,就把它當(dāng)作一個做你不敢做的事情的好機會
在某個時間段你在一份平庸的職位中毫無激情地工作著,而在另一個時間段你在另一家公司找到了一份不錯的工作。有時候你會害怕失去工作,但有時候被解雇可能是發(fā)生在你身上最好的事情。
幾年前,我曾經(jīng)有一份好工作,薪水很高,也很輕松。然而經(jīng)濟危機來了,公司解雇了一半的無項目可做的員工。我就是其中之一。當(dāng)時我認為這可能是發(fā)生在我身上最糟糕的事情,因為這份工作讓我的生活改變了很多,這些改變可能是影響我生命的許多方面的最好的事情。被解雇這件事讓我非常失望,因為我為公司做了一切,為了公司我犧牲了很多私人時間。
現(xiàn)在我到了一個充滿活力的公司,我可以做我想做的工作,做我喜歡的項目。這份新的工作讓我覺得非常吸引人,星期一也不再那么煩人了。
四、你可以在工作中交到好朋友,
但當(dāng)你換工作時,這些朋友中的大多數(shù)都會失去
這些年來,我在工作中認識了很多人。在我曾經(jīng)工作過的公司里,我們每年都會一起參加公司的晚會,公司的午餐會,以及每個人都會去的公司“活動”,但所有這些美好的和諧并不像我們想象的那樣真實。
許多人都只是想取悅老板,并且對那些不在現(xiàn)場的同事和上司吹毛求疵。我意識到我在這些活動上浪費了多少時間?,F(xiàn)在我只去參加那些我想去參加的活動,不再顧忌別人怎么想。
與以前的同事保持聯(lián)系很困難,隨著時間的推移,我和他們中的大多數(shù)都失去了聯(lián)系。雖然我也交了一些好朋友,但在大多數(shù)情況下,在換工作的時候,這些人際關(guān)系就消失了,我的好朋友大多數(shù)都不是對我的職業(yè)生涯很重要的人。
五、如果你安于現(xiàn)狀,你就會失去機會
在你的職業(yè)生涯中,你所做的最糟糕的事情之一就是在工作中變得過于安逸而不思進取。如果你變得安于現(xiàn)狀,你將害怕你的職業(yè)上的任何變化,也會害怕你的公司可能發(fā)生的任何變化。
我的一個朋友就是這樣,他在一份舒服的工作上已經(jīng)做了十多年了;他很安逸,不再想學(xué)什么新鮮東西,這導(dǎo)致他在職業(yè)上或生活中可以得到提升的機會越來越少,隨著時間的推移,我看到他越來越害怕——當(dāng)然,他討厭星期一。
我也在一份很舒服的工作上干了將近兩年,這份工作讓我學(xué)不到什么新東西。而且這份工作對我來說非常容易,每天都有很多空閑時間。這樣的工作讓我覺得是在抵押未來,為此我決定換份工作。
六、批評代碼,而不要批評人
如果你的同事做錯了什么事,你可以有很多方式指出來。但是永遠不要指責(zé)人,因為這樣做只會讓你制造敵人,不僅是你個人的敵人,而且是你職業(yè)的敵人。你要盡量嘗試幫助每個人,如果你認為你能夠做到的話,就幫他改進代碼,但是你需要向他解釋原因,不要強行修改。記住,生活都是在兜圈子,發(fā)生在你同事身上的事同樣會發(fā)生在你身上。
一些開發(fā)人員傾向于對他們所做的事情產(chǎn)生一種巨大的依戀感,好像他們的作品代表了他們的“寶貝”,對它的任何批評都是針對個人的,或者被解釋為對他們自己的批評。
記住,對代碼的批評不是對人的批評。僅僅因為有人在過去寫了糟糕的代碼,并不意味著他現(xiàn)在是一個差勁的開發(fā)人員。代碼是壞的,但人不見得是。任何事情都是可以改進的。
七、改善工作工具和工作空間
這一點非常重要。如果你的工作電腦速度很慢,你完成事情的時間會更長,時間就是金錢。如果你的顯示器很小,你將無法將屏幕劃分為不同的屏幕,這也會浪費你的時間。
現(xiàn)在我每天在家里工作,我決定買一把好椅子,一個大顯示器(以便我在編程時把它分成幾個屏幕),我還要買一臺功能強大的電腦。這可能看起來很貴,但隨著時間的推移,它會為你節(jié)省很多金錢。
現(xiàn)在我自己一個人可以做更多的項目,我可以更快地完成我必須完成的任務(wù),我的背也不會受傷。
而且,我有更多的時間做運動,所以我不需要做背部按摩,晚上我的眼睛可以得到更多的休息,我可以享受在床上看書的樂趣。
八、如果你有帶薪或者不帶薪的假期,可以的話就休假吧
時間是你擁有的最寶貴的東西。工作和金錢不是你的生活的全部。而且,每年休個假對你有好處,你可以借此機會思考一下你對自己正在做的工作是否滿意,或者放下日常的工作,試試做做不同的事情。
此外,休息可以幫助你了解自己正在做什么,以及對自己做的事情滿意還是不滿意。
我總是在空閑時間有最好的想法,我一生中最好的決定都是在空閑時間做出的。
九、避免技術(shù)債務(wù)
“技術(shù)債務(wù)”是軟件開發(fā)中的一個概念,它指的是由于采用簡單(有限)的解決方案而不是使用需要更長時間的更好方法而導(dǎo)致的額外工作的隱含成本。盡管如此,我還是更喜歡沃德·坎寧安(Ward Cunningham)提出的這個比喻,即當(dāng)你在處理技術(shù)債務(wù)時,把它視為金融債務(wù):而增加新特性的額外努力相則當(dāng)于金融債務(wù)的利息。
如果你快速解決了一個問題,沒有經(jīng)過足夠的思考,沒有運用更好的做法,將來你就要為此付出代價,你將不得不花費幾個小時的空閑時間來解決它。
十、學(xué)會即興發(fā)揮,不要把變化看得太悲觀
我記得我在進入這個行業(yè)工作的前幾個月,我相信項目一定會定義明確,客戶一定知道他們想要什么。然而,我很快意識到事實并非如此。
這讓我感到焦慮,因為我想讓工作按時完成,而很多時候這是不可能的。你要學(xué)會接受情況一直會變化,很多時候這些變化會導(dǎo)致你不能按時完成一個項目,但這不是你的錯。放輕松,擁抱這些變化。
十一、如果你不在工作中做決定,別人會替你做決定
如果你想成為那個決定在一個項目中使用一項新技術(shù),或者使用一個新方法的人,在將你的決定告訴同事之前,你必須知道你想使用的新技術(shù)或新方法。
如果你不這樣做,他們可能會把他們的技術(shù)強加于你,或者否決你的想法。
十二、保持你自己的節(jié)奏
軟件開發(fā)的世界日新月異,你要以平常心待之,放松心情,不斷學(xué)習(xí)和成長,始終以自己的速度前進。如果你不能學(xué)到所有的東西,不要沮喪。關(guān)鍵是要完美地學(xué)習(xí)重要和基本的東西,并跟上其他技術(shù)的發(fā)展。
十三、學(xué)習(xí)如何閱讀文檔
匆匆忙忙地使用某些東西會使你無法很好地閱讀文檔或正確理解 API。
如果你想保證你做的事情正確而不浪費時間,不要試圖走捷徑。好好閱讀文檔。否則,你可能不會以最好的方式工作。
對 Stack Overflow、Google 和其他來源的源代碼保持批評態(tài)度。不要照搬解決方案,要理解它。
十四、學(xué)會放下工作
不要把工作上的問題帶回家。如果有一 bug 或者一個你不知道如何解決的技術(shù)問題,把它留到第二天。你會為自己節(jié)省很多時間,而且你不會因為整天都在解決問題而討厭你的工作。休息的頭腦更有效率。
如果你不這樣做,焦慮會讓你無法入睡,第二天你會面臨同樣的問題,同時昏昏欲睡。
這一點不太付諸實踐,但它卻是我學(xué)到的最有價值的經(jīng)驗之一。
結(jié)論:
我在這篇文章中所寫的是個人經(jīng)驗,可能看起來顯而易見。但是在很多情況下,即使我們知道這些方法如何改進我們的工作和生活,我們也不會去做,而生活最終會迫使我們?nèi)プ?。不要把它留到最后一刻;如果我在一開始工作時就運用了這些相同的技巧,我相信在隨后的工作中我會節(jié)省很多時間和少很多彎路。