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