程序员的3年之痒改变的不止薪水(转载)
此文為轉(zhuǎn)載,原文地址:http://my.oschina.net/52love/blog/711397
寫在開始,這里借用特立獨行的貓的一句話,你可以原地踏步,但別覺得別人都該和你一樣。
程序員的3年之癢,的確是時候該撓撓自己了。3年的程序員生涯,不長不短,但它的確是一個坎。3年改變了我們的不僅僅是年齡,當(dāng)然還有薪水。
工作也有幾年了,特別是今年要學(xué)的東西越來越多,然后感覺自己越來越無知。有時候恨不能所有的東西都要了解都要懂甚至要精通。但時間畢竟是有限的,況且你還有項目任務(wù)在身。當(dāng)然很多時候也是惰性使然,空閑時間對于技術(shù)的關(guān)注雖然有,但是很多東西都是理論的東西。
躺在那里的叫信息(information),只有內(nèi)化為自己的才是知識(knowledge)。涓涓細流,飲多少全憑心意。作為一名合格的程序員,你不能嘴上說的天花亂墜,實際讓你去做的時候你就干瞪眼。從后臺到前臺,從匯編到j(luò)ava,從大數(shù)據(jù)到云計算,吾生有崖而知無崖,欣賞,開放,包容,很多地方都可以學(xué)習(xí)。
所以很多東西,特別是感興趣的開源框架,我一般都會做一個demo,理論性深層的東西可以暫且放到一邊,當(dāng)然你要懂得基本的概念,它是個什么東西,用來做什么的。然后慢慢去接觸一些框架底層的東西,實現(xiàn)原理和設(shè)計模式,當(dāng)然你如果模仿框架寫一個自己的東西,那么恭喜你框架模型已經(jīng)吃透了。
記得前一段時間接觸阿里巴巴的分布式框架dubbo,網(wǎng)上查詢了很多資料,也加了幾個群,關(guān)注一下架構(gòu)大牛的心得歷程。其中有一個同學(xué),貌似依照dubbo寫了一個屬于自己的調(diào)度框架,雖然下面有些評論說基本跟dubbo一個架構(gòu),但我感覺他是吃透了這個框架才能一步步模仿來的,生活中處處不都是學(xué)習(xí)借鑒嘛。有句老話怎么說來,照著葫蘆畫瓢,雖然不甚完美,但有些人他連筆都懶得拿。
提到dubbo我不得不說下敏捷開發(fā),現(xiàn)在很多公司提倡敏捷開發(fā),包括我們公司,老總會議也是提倡我們要做敏捷開發(fā)。起初我是不大關(guān)注這個詞語的還特意百度了一下,如下:敏捷開發(fā)以用戶的需求進化為核心,采用迭代、循序漸進的方法進行軟件開發(fā)。在敏捷開發(fā)中,軟件項目在構(gòu)建初期被切分成多個子項目,各個子項目的成果都經(jīng)過測試,具備可視、可集成和可運行使用的特征。換言之,就是把一個大項目分為多個相互聯(lián)系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一直處于可使用狀態(tài)。
但是就目前來說,公司的項目很多敏捷性都不夠好,的確我們開發(fā)以用戶的需求進化為核心,采用迭代、循序漸進的方法進行軟件開發(fā),但后面的內(nèi)容我們執(zhí)行的很不好,或許我們?nèi)鄙僖粋€好的架構(gòu)師,也許我們?nèi)鄙僖粋€好的前端設(shè)計師,更甚至我們?nèi)鄙僖粋€好的核心程序員。作為一個一線的程序員,你要知道一個功能要改N+1個項目的時候你是奔潰的,當(dāng)你將要完成這個功能,上面說需求有變動時你是淚奔的,即使你憤怒也僅僅是你自己的事。你永遠不知道這樣的需求還有多少,而大多數(shù)程序員也就是這樣過來的。
出現(xiàn)問題總是要解決問題,提出統(tǒng)一合理的解決方案,如果這件事現(xiàn)在沒人做,對于你來說這何嘗不是一次挑戰(zhàn)或者是機會。程序員的思維不僅僅是完成本職工作,而應(yīng)該是敢于突破自己,挑戰(zhàn)公司現(xiàn)有平臺的缺陷和不合理的地方。程序員的經(jīng)驗不是隨著歲月的流逝而累加的,也就是說經(jīng)驗的增長并不與年齡成正比的。不是說你工作3年就一定能成為一個中級或者高級程序員,也不是說你才工作2年就不可以成為一個架構(gòu)師。還是那句話,涓涓細流,飲多少全憑心意。你掌握多少東西在心而不是在年齡。
安逸的公司環(huán)境會是一個不求上進的程序員,變得更加懶惰,我甚至無法想象如果脫離公司去其他項目公司會是怎樣一種情景。所以,我時常跟身邊的同事說,不要僅僅做好本職工作就ok了。不要空閑的時候無所事事,瀏覽新聞,逛貼吧,這個年齡段你應(yīng)該成熟的去面對和規(guī)劃自己的職業(yè)生涯了。不要覺得自己多做了就是吃虧,要知道做了就是自己了,年終總結(jié)不是寫個一二三那么簡單。不要慶幸,上級就給我分配了一點任務(wù),又可以無聊發(fā)呆看新聞了,殊不知,上級可能覺得你根本無法承擔(dān)此任務(wù)(這樣你還感到慶幸嗎)。
你得嘗試著去改變,不能因為公司怎樣你就可以這樣一直下去。事情總是朝著好的方向去發(fā)展的,你要真正把自己當(dāng)成公司的一員,而不是一個打工的。你要把公司向好的一面去推進,其實很早有就發(fā)現(xiàn)公司平臺有很多差強人意的地方,只是的確自己水平有限,有改造的想法,但是沒有實施的能力。
你得嘗試著去改變,你要把平臺復(fù)雜的問題簡單化,重復(fù)的任務(wù)統(tǒng)一化。我覺得這才是敏捷開發(fā)的根本,用最少得時間成本解決相對復(fù)雜繁重的問題。最近也在研究一些架構(gòu)性的我東西,也是得益于李智慧老師的大型網(wǎng)站技術(shù)架構(gòu),很系統(tǒng)很全面。什么是架構(gòu)?有人講, 說架構(gòu)并不是一 個很 懸 乎的 東西 , 實際 上就是一個架子 , 放一些 業(yè)務(wù) 和算法,跟我們的生活中的晾衣架很像。更抽象一點,說架構(gòu)其實是對我們重復(fù)性業(yè)務(wù) 的抽象和我 們 未來 業(yè)務(wù) 拓展的前瞻,強調(diào)過去的經(jīng)驗和你對整個行業(yè)的預(yù)見。
?
一個合理的架構(gòu)設(shè)計后期是可以避免很多不必要的繁重的任務(wù)。從你的項目搭建,服務(wù)化組件,消息中間件,數(shù)據(jù)庫中間件,配置管理,甚至于項目安全,高可用,擴展性,伸縮性等等都是架構(gòu)師所考慮的范疇。當(dāng)然一個合格的架構(gòu)師關(guān)注的是人而不是產(chǎn)品,一定要堅信:一群優(yōu)秀的人做一件他們熱愛的事情,一定能取得成功。不管過程多么曲折,不管外人開來多么不可思議。一個好的產(chǎn)品,驅(qū)動應(yīng)該是人而不應(yīng)該是其它。一個優(yōu)秀的架構(gòu)師,指望優(yōu)秀的人來幫自己做事,不如做成一件事讓自己和參與的人都變得優(yōu)秀。
成長是需要過程的,更是需要用心的,所以不要在最好的年華浪費了你最充沛的精力。
前幾天一個朋友碰巧問到我并發(fā)的問題,其實這方面我也接觸的比較少,至少到目前為止公司的項目數(shù)據(jù)庫都沒有做主從、讀寫分離,又何來的高并發(fā)讓你去實踐。但這并不代表有些東西你就不能去接觸,未來和機會總是留給時刻有準(zhǔn)備的人。高并發(fā)其實虛無縹緲東西,很少有網(wǎng)站真的需要這些東西,而且其中很多技術(shù),其實你已經(jīng)在用了,只有很少的網(wǎng)站真的能達到高并發(fā), 所以很多人沒有接觸也是常態(tài)。
其實對于這個問題,我是不好意思回答的。雖然系統(tǒng)中也用到了類似的技術(shù),比如頁面靜態(tài)化,本地緩存服務(wù),Nginx反向代理,靜態(tài)文件壓縮以及動靜分離。當(dāng)然還有,消息隊列,文件服務(wù)器,數(shù)據(jù)庫主和集群,應(yīng)用負載均衡集群以及分布式服務(wù)等等。說到底,解決高并發(fā)無非是上面技術(shù)的羅列,程序員要做的就是把每個技術(shù)具體實現(xiàn)。
對于一些創(chuàng)業(yè)型公司來說,免費的永遠是最好的,linux、nginx、tomcat、mysql、java,redis......各種開源免費的工具。在保障可用的情況的,盡量使公司的利益最大化。
所以作為一名合格的程序員,你不僅僅要會寫幾行代碼,掌握以上開源的工具也很重要的。對于linux的關(guān)注,其實也是在去年開始。由于win2003的不再維護,我狠狠心把服務(wù)器系統(tǒng)換成了linux系統(tǒng)。從開始的不習(xí)慣到現(xiàn)在的得心應(yīng)手,說真的,不要畏縮不要不敢去嘗試,習(xí)慣這東西說白了就是懶惰,明知道有更好的解決方案,更好的結(jié)果和未來,你就不去做,除了懶能是什么?
再長的路一步一步也能走完,再短的路不邁開雙腳也無法到達。可能這句話用在這里不是那么恰當(dāng),只是讓大家明白一點,勇敢的走出一步,興趣永遠是最好的老師,當(dāng)然一步步收獲的喜悅也是你前進的動力。
說了這么多,有點亂,但都是平時的一些思考。這里引用博客園的一段話:
如何不停的學(xué)習(xí)和提升,這里以Java語言為例,首先, 一定要 理解 JAVA;第二步,JAVA完了以后,一定要 理 解 JVM;其次,還要 理解 操作系統(tǒng);再次還是要了解一下 Design Pattern,這將告訴你怎么把過去的經(jīng)驗抽象沉淀供將來借鑒;還要學(xué)習(xí) TCP/IP、 分布式系 統(tǒng)、數(shù)據(jù)結(jié)構(gòu)和算法。
最后就是我想說的就是今天我所說的可能一切都是錯的!大家通過不停的學(xué)習(xí)、練習(xí)和總結(jié), 形成自己的一認(rèn)知體系,謝謝大家。
?
記得在上一篇文章中說過這樣一句話:成長是需要過程的,更是需要用心的,所以不要在最好的年華浪費了你最充沛的精力。本文可能跟大家分享重點在此,所以就引用了一下,當(dāng)然也有一些亂彈。
愛好
2013年有幸接觸了阿里云,2014年購買了第一臺云服務(wù)器開啟了我另一段建站生涯,取名為科幫網(wǎng)-享受科技,熱愛生活。我希望程序員對這份職業(yè)是熱愛并且享受的,如果單純?yōu)榱松?#xff0c;那將會是一件多么痛苦的事情。網(wǎng)上曾流傳一篇很有意思的文章,調(diào)侃程序員和妓女“最大的共性是——得到快樂的同時,又得到了金錢”。時至今日,靠一個WPS打遍天下的神話已經(jīng)一去不復(fù)返了,但是無可否認(rèn),程序員們最大的樂趣,往往還就是編程序。2016年給壇友網(wǎng)友群友的一封信中有提到,一名合格的程序員要做到以下幾點:讀書、敲(看)代碼、讀(寫)博客、有空回答下別人的問題、搞一搞開源的項目,當(dāng)然也別忘記健身和約妹子。
生活與工作
如果說感情是水,那么程序員的感情,就如一潭深水,平靜而深沉。2016年注定是不平凡的一年,讓我遇到了她,感謝以后的道路會一直有她陪伴。此處省略五千字......
前幾年由于工作以及生活壓力挺大,并且項目上的事情很多,整個項目平臺的開發(fā)過程中也走了不少彎路。不斷的推倒重做,來回的需求變化調(diào)整來適應(yīng)當(dāng)時的社會環(huán)境,當(dāng)然也見多了來來去去的同事,身邊的人一茬又換了一茬。有時候也很迷茫,自己那份堅守到底來自何處?
最近一年產(chǎn)品已經(jīng)基本定型,多多少少一些新的功能以及BUG修復(fù)也有新的員工代替。突然之間自己好像輕松了很多,于是會經(jīng)常思考以后的職業(yè)生涯,回顧下這幾年的點點滴滴,有迷茫、有失落、也有成功的驚喜,但更多的是自己的碌碌無為。不禁讓我想起《鋼鐵是怎樣煉成的》中的主人公保爾·柯察金曾這樣說過:一個人的一生應(yīng)該是這樣度過的:當(dāng)他回首往事的時候,他不會因為虛度年華而悔恨,也不會因為碌碌無為而羞恥;這樣,在臨死的時候,他就能夠說:“我的整個生命和全部精力,都已經(jīng)獻給世界上最壯麗的事業(yè)——為人類的解放而斗爭。當(dāng)然可能我沒那么偉大的想為人類的解放去斗爭,我只是不想讓自己碌碌無為而羞恥罷了。
思考與成長
一旦一種新技術(shù)開始滾動碾壓道路,如果你不能成為壓路機的一部分,那么你就只能成為道路的一部分。于是乎經(jīng)常混跡于各大IT社區(qū),惡補著各種知識。但是當(dāng)自己掌握了一定知識量后,突然發(fā)現(xiàn)自己害怕了,因為不知道自己該如何走下去了。可能真的是應(yīng)了無知者無畏那句話,在我們剛畢業(yè)的時候我們什么都不怕,因為我們什么都不會,以為自己懂那點就可以了,別人也不會要求你太多。記得有位博主曾經(jīng)說過:發(fā)現(xiàn)有個挺有意思的現(xiàn)象,從程序員、高級程序員,到現(xiàn)在掛著架構(gòu)師、專家之類的頭銜,伴隨著技術(shù)和能力的提高,想不明白的事情反而越來越多了。但生活依舊得繼續(xù),工作依舊得做下去,知識面夠了,那就往深了挖吧。
隨著年齡的增長你會越來越恐懼面對(這種恐懼并不一定是真實存在的,可能在某個點就會被觸碰到),有時候甚至不愿意去面對,因為成長是需要付出代價的。可能別人在打游戲,你在敲代碼;別人在看電影,你在敲代碼;別人在約妹子,你又在敲代碼。因為你一直堅信,現(xiàn)在努力工作將來才會有收獲,你舍棄了這么多就是為了有一個比別人更舒服的將來。
大家小時候有沒有騎過自行車?上坡很累,但是下坡很快,是不是?上坡的時候需要一步一蹬,特別的累,但是這樣才能往上爬。 而下坡的時候就沒有必要像上坡那樣猛蹬腳踏板了,不僅浪費精力,也會讓你錯過欣賞沿途風(fēng)景的最好時機。但想要舒舒服服地下坡首先得辛辛苦苦地爬上去,生活中將來你要走的舒服你現(xiàn)在就應(yīng)該"犧牲"掉一些事情:打游戲、看電視、刷朋友圈。這些占據(jù)你生活中大部分時間的娛樂消遣,為了享受以后愜意的生活,你必須犧牲掉它們。盡管對于一些人這有些難,但愜意是需要付出代價的,沒有人可以輕輕松松就可以成功的。
關(guān)于青春飯
都說軟件開發(fā)是“吃青春飯”的。網(wǎng)上很多人給予否認(rèn)或者列舉了種種理由,但這些前提是你年輕時足夠努力足夠牛逼。所以我認(rèn)為這句話一直是對的,我想說的是年輕時我們不夠努力浪費了你最充沛的精力,當(dāng)我們步入中年,家庭的責(zé)任,讓我們無法像年輕時那樣拼殺,到那時我們該何去何從?有些程序員越老越吃香,是因為他在年輕就就積攢下了資本,而天上是不會掉餡餅的,有些人坐等升職加薪那也是不可能的。
所以工作中不要逃避艱難的任務(wù),主動迎上去,你要有這種迎難而上的態(tài)度和決心,你要相信你所做的不管是現(xiàn)在還是將來對你都是有好處的。非工作時間也要犧牲掉一部分自我時間,為自己工作,為自己成長。
總結(jié)
適當(dāng)?shù)臅r間找一個合適的愛好,比如網(wǎng)站。
現(xiàn)在的努力只是為了更好的將來。
不要讓未來的自己看不起現(xiàn)在的你,當(dāng)你的才華撐不起你夢想的時候,你該學(xué)習(xí)了。
"犧牲"掉那些無謂的消遣,請記住,只有不懈的努力才能取得成功,才能打敗其他人。
還有一個好的程序員即使在過單行道時也總是會環(huán)顧兩邊,你會嗎?
轉(zhuǎn)載于:https://www.cnblogs.com/LiuChunfu/p/5672085.html
總結(jié)
以上是生活随笔為你收集整理的程序员的3年之痒改变的不止薪水(转载)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu无法正常输入英文单引号符号
- 下一篇: POJ 2337 欧拉回路