子曰:吾十有五而志于學(xué),三十而立,四十而不惑,五十而知天命,六十而耳順,七十而從心所欲,不逾矩。人生又有幾個(gè)十年?
距離三十還有7年。7年看似很長但也很短。或許有人說我過早的杞人憂天。
三十歲對于一個(gè)程序員來說,是一個(gè)警鐘。雖然不少博文或者某些國外周刊說,有七八十歲的程序員,也有四五十歲的程序員,做一輩子的程序員沒有什么不行。
但是那是國外。國內(nèi)與國外的情形是不一樣的。IT的技術(shù)更迭是很快的,你想要不斷成長和強(qiáng)大,就需要不斷的學(xué)習(xí)。作為年輕的我來說,特別是雙休的時(shí)候,每天可以抽取八個(gè)小時(shí)的時(shí)間來學(xué)習(xí)。但是呢,
當(dāng)我結(jié)婚生子后呢?我還能有那么多時(shí)間專注于學(xué)習(xí)嗎?更多是陪伴自己的家人,教育孩子。
今天我主要說的話題是作為程序員有比寫代碼更重要的事情、不能僅僅只關(guān)注于自己的領(lǐng)域、要有憂患意識、要有理想等。
一、作為程序員有比寫代碼更重要的事情
那么到底什么是比寫代碼更重要的事情?
記住,這句話不僅僅對我自己說,也是對同在IT一線奮戰(zhàn)的同志們說的:不要把自己看做碼農(nóng)。
記得我在之前的文章說過,寫代碼是思維運(yùn)動,而不是體力運(yùn)動。不要將腦力勞動變成體力勞動。
為什么這么說呢?
現(xiàn)在很多有三年甚至五年及其以上的工作經(jīng)驗(yàn)的開發(fā)人員,但是有這么一個(gè)群體,僅僅只是將兩年的工作經(jīng)驗(yàn)或者是一年的工作經(jīng)驗(yàn)重復(fù)到五年或者三年以上再或者更久。
我想這也是為什么有的企業(yè)在招聘網(wǎng)站招人有這么一條,擁有和工作年限相稱的廣度和深度。
如下圖美團(tuán)的Java高級工程師招聘:
或許有人說,這與你說的“作為程序員有比寫代碼更重要的事情”沒有關(guān)系吧。
嗯,確實(shí)沒有關(guān)系。但是我只是想強(qiáng)調(diào)一點(diǎn)。編碼是一項(xiàng)腦力與體力相結(jié)合的工作,腦力為主,體力為輔。而不是體力為主,腦力為輔。
下面說說,作為程序員有比寫代碼更重要的事情。
首先我說說我的想法:
(1)作為程序員不能僅僅只關(guān)注于功能實(shí)現(xiàn),還要深刻理解業(yè)務(wù),明確一條,技術(shù)是實(shí)現(xiàn)業(yè)務(wù)的工具,技術(shù)固然重要,業(yè)務(wù)也一樣重要,不要僅僅只關(guān)注于技術(shù),而忽略業(yè)務(wù);
(2)定期寫文檔總結(jié),回顧自己在工作中對業(yè)務(wù)的理解和解決的問題,并將其寫成文檔或者博文的形式,內(nèi)部分享或者是在不有損公司的利益情況下,分享給廣大的IT朋友們;
(3)溝通,溝通很重要,特別是技術(shù)團(tuán)隊(duì)內(nèi)部,不要埋頭苦干,各自為戰(zhàn);
(4)鍛煉身體,身體是革命的本錢,前段時(shí)間的新聞,讓我心有余悸,特別作為在一線奮戰(zhàn)的IT朋友們,一定要定期鍛煉,就算不是跑步的形式,也應(yīng)該去戶外走走,徒步也是一種鍛煉的方式,當(dāng)然了,如果能跑步,或時(shí)常上下蹲、俯臥撐、仰臥起坐等等,也是不錯(cuò)的,鍛煉身體能讓你的大腦更靈活;
(5)要有一顆恒心,回顧我的IT學(xué)習(xí)生涯,如果不是一顆堅(jiān)持的恒心,恐怕我和班上一部分同學(xué)一樣,最后只能轉(zhuǎn)行去做做搬運(yùn)工、流水線、普通工人或者餐飲的服務(wù)員等等,這里我要強(qiáng)調(diào)一點(diǎn),我這么說,并不是歧視這些人,而是要強(qiáng)調(diào)一點(diǎn),想要在一個(gè)領(lǐng)域有所成就,必須要有一顆恒心,當(dāng)然了,機(jī)遇也很重要;
(6)要有熱情,你可以理解為興趣,興趣是最好的老師,要想在一個(gè)行業(yè)長久的發(fā)展下去,興趣(熱情)是很必要的,雖然有一萬小時(shí)這樣的理論,但是你要想有興趣的長期堅(jiān)持一件事情超過或者等于一萬小時(shí),或者是被動的堅(jiān)持一件事情一萬小時(shí)是完全不一樣的,曾經(jīng)選擇IT,僅僅只是因?yàn)榭瓷瞎べY高,到后來慢慢喜歡上它,因?yàn)樗腿缟钜粯?,帶給我酸、甜、苦、辣、咸;
這里我要反省的是,上面的想法我目前而言并沒有完全做到,
談到(1),當(dāng)初開發(fā)軟件時(shí),我僅僅只是抱著功能實(shí)現(xiàn)就好,其他一切不管,最后的惡性循環(huán)是,不斷的出現(xiàn)問題,不斷的解決問題,同時(shí)呢?也不斷的加班。最終的結(jié)果,就是因?yàn)樽约旱牟回?fù)責(zé)任、不理解業(yè)務(wù)造成的。
談到(2),定期寫文檔總結(jié),的確,這個(gè)非常有必要,之前我說過,人的大腦容量是有限的,當(dāng)然了,也不能忽略一些大腦容量超常的人,不過畢竟那些是少數(shù)人,所以,作為大多數(shù)的人來說,無論是工作中還是學(xué)習(xí)中,定期總結(jié)和回顧是很有必要的,比如,我們Java團(tuán)隊(duì)在與安卓團(tuán)隊(duì)對接時(shí),有些接口相關(guān)的請求url、請求參數(shù)、響應(yīng)參數(shù),時(shí)常因?yàn)楸舜瞬挥浀梅a找半天,這一點(diǎn)雙方都有自己的責(zé)任,作為Java研發(fā)團(tuán)隊(duì)中的一員,我們的責(zé)任是沒有及時(shí)記錄,以至于找的時(shí)候花費(fèi)很多不必要的時(shí)間。雖然說,接口寫文檔是一件麻煩的事情,但是用一個(gè)叫Swagger的工具是可以完全實(shí)現(xiàn)自動化的,這個(gè)工作是我的,還是因?yàn)槲业牟回?fù)責(zé)任,沒有管它放任自如,我還是要反省自己。
談到(3),溝通很重要,我發(fā)現(xiàn)在實(shí)際開發(fā)中,bug出現(xiàn)的概率高的原因,除了我們沒有深刻的理解業(yè)務(wù)之外,還有就是溝通,我們溝通太少了,以至于時(shí)常因?yàn)檫@個(gè)那個(gè)浪費(fèi)很多不必要的時(shí)間。曾經(jīng)的我,之所以選擇了IT,是因?yàn)槲也幌矚g和人打交道,僅僅只想著,“雞犬相聞,老死不相往來”,,最好是大家各自干各的,都不管彼此。事實(shí)證明我是錯(cuò)的,每個(gè)人對每一塊的業(yè)務(wù)模塊,理解是不一樣的,有的理解深,有的理解淺,通過溝通可以彼此互補(bǔ),技術(shù)也是如此。在軟件開發(fā)整個(gè)流程,無論是曾經(jīng)的瀑布模型,現(xiàn)在的逆向瀑布模型,還是現(xiàn)在的敏捷模型,軟件的成功因素,不僅僅取決于業(yè)務(wù)的前景和好的商業(yè)模型,更取決于整個(gè)團(tuán)隊(duì)的良好協(xié)作,本質(zhì)上可以理解為溝通二字。
談到(4),還有一點(diǎn)我遺漏了,那就是少熬夜和不熬夜,現(xiàn)在我很年輕才23歲,記得在上家公司工作的時(shí)候,經(jīng)常是2點(diǎn)到3點(diǎn)才睡,那段時(shí)間也是沒有辦法的事情,因?yàn)槲宜媾R的,不僅僅是生存上的危機(jī),還有來自很多外部的壓力,包括我什么都不會,一切從頭來過和一些其他因素等。當(dāng)我解決了生存危機(jī)后,感覺身體其實(shí)也沒有什么,有段時(shí)間,我確實(shí)有點(diǎn)墮落了,享樂主義的思想逐漸占據(jù)了我的大腦,熬夜看一些沒有營養(yǎng)的電子書(什么修仙、霸道總裁等等)或者是看看娛樂電影等等。但是后來被一個(gè)人無情的打擊下,我逐漸醒悟。
前面說的,或許與少熬夜和鍛煉身體沒有關(guān)系,但是我覺得享樂主義的思想是造成熬夜及其很少或者不鍛煉身體的原因之一。
談到(5),要有一顆恒心,我同廣大的朋友們,都一樣,沒有深厚的背景關(guān)系,也沒有富裕的家庭。有人說,這個(gè)世界上充滿著不公平。在我看來,借用《深度思維》中的某句話所說的那樣,這個(gè)世界有兩個(gè)東西是公平的,一個(gè)是大腦思想和時(shí)間。雖說現(xiàn)在少年得志的人不少,比如前段時(shí)間受邀參加某個(gè)酒會,遇到不少年輕有為的CEO等。但是那只是少數(shù)人。更多的平凡人,其實(shí)也可以成功。只不過需要沉得下心,并不斷堅(jiān)持的去做一件事情,可以是興趣愛好,也可以是職業(yè)。這個(gè)時(shí)代既是物價(jià)飛漲的時(shí)代,也是充滿機(jī)遇的時(shí)代。有人通過自己的興趣愛好而獲得成功,也有的通過專注與職業(yè)而獲得機(jī)遇取得了成功。成功并不是偶然的,也有其必然的因素。
談到(6),熱情或者是興趣,熱情對我來說也可以等同于興趣。對一件事情十分有興趣,就會不斷有動力去做。作為IT界中的一員,IT的技術(shù)不斷更迭,你想不落后,不僅僅只是靠擠時(shí)間去學(xué),而且也要有興趣,有熱情去做。不然毫無興趣的去做一件事情,效率不高,也浪費(fèi)時(shí)間。很多人總說,沒有時(shí)間去學(xué)習(xí),包括我自己也說過很多次,其實(shí)那都是借口,因?yàn)樽约翰幌肴プ?,也不愿意去做,更沒有興趣去做,何談熱情去做呢?
二、不要僅僅只關(guān)注自己的領(lǐng)域
不要僅僅只關(guān)注自己的領(lǐng)域,為什么要這樣的說呢?
原因有如下幾個(gè)方面?
(1)容易陷入偏狹,一葉而障目;
(2)我們需要了解業(yè)務(wù)領(lǐng)域的知識(比如做金融相關(guān)的開發(fā),需要了解和熟悉金融的,做區(qū)塊鏈的,需要了解區(qū)塊鏈相關(guān)的知識等等),同時(shí)也不能僅僅為了業(yè)務(wù)而去學(xué),平常也要有意識的去拓展自己的知識領(lǐng)域,就我而言,我對理財(cái)、文學(xué)、產(chǎn)品、物聯(lián)網(wǎng)等感興趣,我就會去看看相關(guān)的書籍和資料;
(3)借用吳軍先生的《見識》所說的那樣,你能走多遠(yuǎn),取決于你的見識;
其實(shí)這三個(gè)原因歸納下來,可以用一句話表示,那就是眼界的深度與廣度,不僅僅決定你的職業(yè)發(fā)展,同時(shí)也決定了你的未來。
我給自己的建議,也給他人的建議如下:
(1)多多閱讀,特別是對工作時(shí)間長,休息時(shí)間短的朋友們來說,閱讀是獲取知識的最佳途徑之一,閱讀不同的書籍,你可以領(lǐng)略不同人的思想或者是不同的行業(yè),也可以是你自己的不同感受,說句慚愧的,我也有很久沒有看書了,只是最近覺得,我不能僅僅只關(guān)注代碼和學(xué)習(xí)新的框架或是深度研究現(xiàn)有的框架原理等等,還得去了解這個(gè)世界不一樣的東西或者是這個(gè)世界不一樣的地方;
(2)溝通,不能僅僅只閱讀而不溝通,溝通能提高你的表達(dá)能力,同時(shí)通過溝通,也能學(xué)習(xí)對方的看待問題的方式及其獲取對方領(lǐng)域的知識(當(dāng)然了,溝通也沒有壞處),特別是廣大的IT同胞們,如果表達(dá)能力不行的話,找女朋友不好找啊,每次朋友圈看著秀恩愛的那群家伙們,心中總是有種莫名的憤怒,哈哈,稍微幽默下;
再貼個(gè)圖:
閱讀和溝通,不僅僅使你能擴(kuò)大自己的知識領(lǐng)域的廣度,還能給你遇到問題時(shí),會有很多的解決問題的思路和方式。這里也要提到積累也很重要。
上圖中有四個(gè)紅色標(biāo)記處,前兩個(gè),你覺得你沒有想過的積累,你覺得你能夠勝任嗎?或許可以試一試。這個(gè)世界上,沒有你想做而做不到的。關(guān)鍵是前面說到過的恒心。長久的閱讀積累和溝通和技術(shù)的沉淀,總會給你帶來意向不到的驚喜和機(jī)會。
三、要有憂患意識
居安而思危。不要僅僅只滿足與安逸的環(huán)境下,有一點(diǎn)我要反省我自己,有段時(shí)間我確實(shí)有點(diǎn)放任自如了,覺得自己身處現(xiàn)在的崗位,就有些得意忘形。
人工智能的發(fā)展是非常的迅速,編碼以后也會被機(jī)器人取代的。這個(gè)可能是未來的趨勢之一。先不說這個(gè),再說近的,現(xiàn)在的培訓(xùn)機(jī)構(gòu)層出不窮。培養(yǎng)了大批的軟件開發(fā)工程師,同時(shí)現(xiàn)在的大學(xué)生,??频?、本科的、研究生或者博士越來越多,你還覺得你所處環(huán)境很好嗎?這句話是對我自己的說的?!拔覀儾灰獌H僅只滿足于現(xiàn)在,還有著眼于未來“,這句話人人都知道。但沒有幾個(gè)人做到?我想這也是貧富差距的原因之一。
下面我要說出我自己的想法,同時(shí)也是給我自己的建議,廣大的朋友可以參考:
(1)要有職業(yè)規(guī)劃;
(2)要培養(yǎng)自己的核心競爭力;
(3)既不要妄自菲薄,也不要驕傲自滿;
(4)實(shí)事求是;
談到(1),Java開發(fā)工程師的職業(yè)規(guī)范一般為如下:
初級開發(fā)工程師->中級開發(fā)工程師->高級開發(fā)工程師->架構(gòu)師/項(xiàng)目經(jīng)理->技術(shù)總監(jiān)->CTO
同時(shí)也可以變成這樣
初級開發(fā)工程師->中級開發(fā)工程師->高級開發(fā)工程師->產(chǎn)品經(jīng)理->產(chǎn)品總監(jiān)
還可以變成這樣
初級開發(fā)工程師->中級開發(fā)工程師->高級開發(fā)工程師->技術(shù)合伙人(參與創(chuàng)業(yè))
職業(yè)規(guī)劃,意味著你知道自己的下一步想做什么,有個(gè)目標(biāo)總比沒目標(biāo)強(qiáng)。很多人說自己迷茫,包括我自己也一樣。其實(shí)一點(diǎn)都比迷茫,只不過是為了逃避自己的責(zé)任罷了。
比如我,記得有段時(shí)間,經(jīng)理想讓我做TeamLeader,但是我當(dāng)時(shí)畏懼了,因?yàn)槲遗峦聜儾慌浜衔?,同時(shí)也怕自己萬一搞砸了失去這份工作怎么辦,還怕自己因?yàn)閷τ趧e人代碼不熟和業(yè)務(wù)不理解被嘲笑等擔(dān)憂。這些擔(dān)心固然有一定的道理,但是換個(gè)角度來看,同事們不一定會不配合你,只要你做事負(fù)責(zé)任,搞砸了也不可怕,最重要的是你努力去做,不熟悉和不理解,可以通過熟悉和理解(嘗試通過與同事及其領(lǐng)導(dǎo)溝通來達(dá)到理解業(yè)務(wù)的目的等等)。在這里我想強(qiáng)調(diào)一點(diǎn),缺乏勇氣去嘗試,意味著你一輩子只能默默無聞,其實(shí)歸根到底就是因?yàn)椴幌霌?dān)責(zé)任,缺乏責(zé)任感。
在工作中,我想每個(gè)人都會遇到這樣的場景或者是這樣的人,比如某某人和某某人一起工作,突然某某人被領(lǐng)導(dǎo)提拔,而那個(gè)人覺得自己工作能力不錯(cuò),為什么提拔的不是他(她),而是他(她)呢?很多人,包括我自己遇到一些問題和事情,最先想的不是如何解決,而是如何推卸責(zé)任。這一點(diǎn),我真的要很反思。再比如戀愛中的情侶們,當(dāng)在一起的一段時(shí)間里,男方總會以自己的想法為由,大男子主義,往往忽略的女方,最后分手了,總是說,為什么會這樣,不是我的錯(cuò)。往往總是從自己的角度上看,而不換位思考。無論是工作中,領(lǐng)導(dǎo)總會給員工們升職的機(jī)會,或者你在追求某某人時(shí),某某人總會給你的機(jī)會,只不過每次你都錯(cuò)過了,任何事情看似偶然,實(shí)則必然。
接下來,我希望自己不僅僅要有明確的行動去實(shí)現(xiàn)職業(yè)規(guī)劃中的目標(biāo),還希望自己在人際交往中,無論是團(tuán)隊(duì),還是追求某人或者和某人在一起,都要盡可能的換位思考。
談到(2),要有自己的核心競爭力?
記得看過一篇文章中說過,隨著IT的門檻相對而言,越來越低,開發(fā)人員越來越多,伴隨著質(zhì)量普遍不是特別高,我知道我說這句話,會有不少人噴我。但是事實(shí)就是這樣,開發(fā)人員流動性很強(qiáng),跳槽更是普遍,寫代碼不規(guī)范(除了一些大中公司有一定的代碼規(guī)范約束,其他中小公司一般沒有什么規(guī)范,全靠自覺,包括我自己代碼也寫的是亂七八糟,不過意識到這一點(diǎn)后,我嘗試著讓自己的代碼可讀性變好,改進(jìn)自己的代碼,業(yè)界中Java開發(fā)的代碼規(guī)范,我覺得阿里巴巴的Java開發(fā)守則值得參考),僅僅只是關(guān)注用技術(shù)實(shí)現(xiàn)業(yè)務(wù),很少深入理解業(yè)務(wù),覺得理不理解業(yè)務(wù)不關(guān)自己的事情。
看下圖,我列舉的幾個(gè)招聘網(wǎng)站上的例子:
圖一:
圖二:
通過圖一和圖二,我只想表明兩個(gè)觀點(diǎn):
第一、程序員的核心競爭力,不僅僅來自技術(shù)上的積累,還來自業(yè)務(wù),技術(shù)是實(shí)現(xiàn)業(yè)務(wù)的工具,業(yè)務(wù)是用來賺錢,沒有業(yè)務(wù),技術(shù)也毫無用場;
第二、隨著現(xiàn)在程序員越來越多,你要想不被淘汰,你要有意識的培養(yǎng)自己在某個(gè)領(lǐng)域的深度,可以是技術(shù),比如分布式的研究,存儲等,也可以是業(yè)務(wù),盡管你的技術(shù)不是非常牛逼,但是你對業(yè)務(wù)的深度理解,有助于進(jìn)入業(yè)務(wù)對口公司;
記得看過阿里的某位技術(shù)人的文章,提到過,你對業(yè)務(wù)架構(gòu)的價(jià)值領(lǐng)會的深度與廣度決定你身處的位置。在這里還是要強(qiáng)調(diào)一點(diǎn),程序員不能僅僅只關(guān)注技術(shù),而忽略業(yè)務(wù)。如果你還想更進(jìn)一步,業(yè)務(wù)是必須的。
總而言之,程序員的出路可以有很多,你可以選擇到30歲以后或者不到30歲去培訓(xùn)機(jī)構(gòu)當(dāng)老師,還可以自主創(chuàng)業(yè)(當(dāng)然了創(chuàng)業(yè)有風(fēng)險(xiǎn)),還可以一直專注某項(xiàng)技術(shù)成為領(lǐng)域?qū)<?,也可以進(jìn)階到管理層面。
出路有很多,關(guān)鍵是出路是否長遠(yuǎn)。這個(gè)需要自己深度思考。
談到(3),既不要妄自菲薄,也不要驕傲自滿。很多人,也包括我自己看到比自己強(qiáng)的人,會有點(diǎn)自卑,同時(shí)也伴隨著嫉妒。如果要說怎么解決?答案是有很多解決方案。你可以選擇去向比自己厲害的人學(xué)習(xí),也可以選擇給自己定一個(gè)小小目標(biāo),然后慢慢實(shí)現(xiàn)一個(gè)有一個(gè),當(dāng)然了,還可以選擇無視(不過你覺得你能無視嗎,我是不能,嫉妒也不能解決問題,解決問題的最佳方式是面對問題,這就好像人與人之間交際的過程中遇到問題時(shí),問題并不是拖著解決的,而是通過面對解決的。驕傲自滿更是要不得,不要覺得老子天下第一,世界上比你強(qiáng)的人多的是,我曾經(jīng)也因?yàn)樽约簩戇^某段程序,而別人沒有寫出來而沾沾自喜。到最后發(fā)現(xiàn)那些都是屁,沒什么好沾沾自喜的或是狂妄。我覺得還需要學(xué)習(xí)很多。未來還有很長,但是也不是那么很長,我希望自己能夠虛心而不自大,樂于助人,樂于助人在于彼此提高。
談到(4),實(shí)事求是很重要,不要給自己定一個(gè)難以實(shí)現(xiàn)的目標(biāo),那樣既不現(xiàn)實(shí),也會挫傷自信心。就像《深度思維》的作者說過,既然不能少年得志,那么大器晚成也是很不錯(cuò)的。
我還想強(qiáng)調(diào)一點(diǎn),成長比金錢更重要,特別是對于工作年限不長的朋友們,當(dāng)眼前的工資足以解決自己的溫飽時(shí)。有不少IT朋友們,是因?yàn)榘l(fā)現(xiàn)無法在這家公司獲得更多的成長時(shí)離職,也有是工資給的不到位,還有的是覺得太累的。不過我最想給自己的一句話是,在一家公司覺得自己有很大的成長空間時(shí),可以暫時(shí)忽略來自外部的巨大誘惑,好好專注自己的領(lǐng)域,提高自己。
這篇文章我一直想寫,但是每次落筆時(shí),無法進(jìn)行下去,因?yàn)殡y以靜心。其實(shí)這次寫也是難以靜心,但是寫的過程中逐漸使我的心慢慢靜下來,同時(shí)思緒也打開了很多,即給自己看,又給廣大的IT朋友們或者是即將進(jìn)入IT界的大學(xué)生們看。
來源:http://www.icode9.com/content-1-72401.html