為猿七年有余,癢否?痛否?

還未有感,已然歲末,猶嘆時(shí)之箭逝去如斯也,稍縱命再減一。回首望,為猿七年有余已,雖不成氣候,亦未全蹉跎。略做小結(jié),以不惘逝去之時(shí)日,亦會大益于爾后路途。若博文能助足下之一二,孤將甚悅。

職業(yè)是無數(shù)個(gè)連接起來的馬拉松

小學(xué)時(shí),我們很清楚的知道5年后就畢業(yè)了(孤當(dāng)年是五四制,現(xiàn)在貌似有的地方也是),無論多么討厭老師或者 同學(xué),或者學(xué)校,都知道最多忍5年就結(jié)束了;初中高中也一樣,三四年樣子,很快就過去了,多少歡樂悲喜都會很快的過去;大學(xué)更是如此,從入學(xué)進(jìn)校園那天起你就開始倒計(jì)時(shí),知道四年后的一天要離開,再怎么珍惜,再怎么蹉跎,時(shí)間仍然以它亙古不變的速度在向著一個(gè)方向跑著。

可職場呢?過了5年,你還在工作,還得工作;過了10年,過20年,30年甚至40年后,我們?nèi)砸ぷ?。即使離職,也還要再入職,而且新工作跟之前沒有本質(zhì)的區(qū)別。明白了職場是一個(gè)40年的大周期,所以,這是一個(gè)超長的馬拉松,沒有中考沖刺,沒有高考沖刺,更沒有考個(gè)好大學(xué),就可以隨便玩了。沒必要玩了命的沖刺,那樣也沒有好效果。更重要的是持續(xù)不斷的學(xué)習(xí),對,持續(xù)幾十年的學(xué)習(xí)。

成為高手,或者大牛的唯一途徑是不斷的學(xué)習(xí)

不要夢想著進(jìn)入大公司,進(jìn)入牛逼的團(tuán)隊(duì),坐在大牛旁邊,或者多參加線下活動就可以成為大牛。這都是圖樣圖奶衣物。大公司為什么要你?牛逼的團(tuán)隊(duì)為什么要你?首先你要是要有點(diǎn)本事才行;想要得到牛人的指點(diǎn),是靠運(yùn)氣的。可能是電視劇看多了:你掉進(jìn)山谷中,然后遇到了一個(gè)白猿,肚子里藏著九陽真經(jīng)?或者滾下山谷,看到一個(gè)大雕,學(xué)會獨(dú)孤九劍?蕓蕓眾生全國數(shù)以百萬計(jì)的程序猿,你覺得能遇到大神的機(jī)會有幾成?大神愿意與你交流的機(jī)會又有多大?夢想大神手把手教你?除非你是他炮友。

當(dāng)然,也確實(shí)有人足夠幸運(yùn)能夠得到高人指點(diǎn)一二。但我們相信絕大多數(shù)人,即使牛人在你身邊,你也沒有足夠的機(jī)會讓他指點(diǎn)。公司雇我們來,是讓我們干活的,讓我們產(chǎn)生價(jià)值,為公司賺錢的。牛人的任務(wù)更重,事情更多,憑什么還讓人指導(dǎo)你。

大公司資源和資料是多,培訓(xùn)的機(jī)會也多,但是也要你自己去看,去聽去學(xué)習(xí)啊。各種線下活動,打廣告的占大多數(shù),其他的演講也大都是提及皮毛,想要學(xué)到干貨是不可能的,幾十分鐘他能講出來多少?你又能領(lǐng)悟多少?所以線下活動是推廣,開拓視野(能聽到很多概念),拓寬人脈(確實(shí)能認(rèn)識好多人,牛人和同水平的人)的好機(jī)會,而不是學(xué)習(xí)的機(jī)會。

一句話,想要成為高手,還是要去腳踏實(shí)地的學(xué)習(xí),去啃書,去讀代碼,去擼代碼,別無他法。關(guān)于這方面,可以參考一位大牛的文章,我覺得很在理。

選擇一個(gè)行業(yè),或者一門技術(shù),然后深耕

雖然,不提倡像某些人那做什么五年計(jì)劃,因?yàn)槲覀兯幍男袠I(yè),公司,項(xiàng)目,人事等變化的太快了,這些變化都是不確定因素,會打亂所有的計(jì)劃,特別是長期計(jì)劃。但是我們還是要有目標(biāo)的,我相信對于大部分人,最終極的目標(biāo)無非就是財(cái)務(wù)自由。如何才能財(cái)務(wù)自由,運(yùn)氣確實(shí)有一定作用,但更重要的還是要硬實(shí)力。什么是硬實(shí)力?也就是你能解決別人解決不了的問題,比如老板想作某一塊的業(yè)務(wù),你對業(yè)務(wù)規(guī)則特別熟悉,能帶隊(duì)幫老板搞定;再如,技術(shù)上遇到了問題,你能搞得定。沒有實(shí)力,光有運(yùn)氣,即使你遇到了淘寶的崛起,現(xiàn)在也未必能財(cái)務(wù)自由。

硬實(shí)力從何而來?無非是積累。積累什么?才會越來越值錢?無非是行業(yè)或者技術(shù)。

什么是行業(yè)?汽車,是一個(gè)行業(yè),金融是一個(gè)行業(yè),服裝是一個(gè)行業(yè),旅游出行是一個(gè)行業(yè)等等;什么又是技術(shù)?安全,音頻,Webkit,圖像,深度學(xué)習(xí)等都是技術(shù)。身處一個(gè)行業(yè),可能技術(shù)并不復(fù)雜用的都是常規(guī)技術(shù),但是你能夠?qū)σ灰粋€(gè)行業(yè)深入的了解,它有哪些游戲規(guī)則,有什么坑,有什么政策法規(guī),有什么風(fēng)險(xiǎn),怎么樣做才會有最大收益,這些都是只有從事行業(yè)有一定時(shí)間后才會知曉的。技術(shù),就更好理解了,使用封裝好的技術(shù)是容易的,比如像WebView,使用起來很方便,但它的技術(shù)實(shí)現(xiàn)—WebKit卻是非常復(fù)雜的,沒個(gè)幾年時(shí)間是搞不清楚的。

當(dāng)然,能始終在同一個(gè)領(lǐng)域(無論是行業(yè)還是技術(shù))深耕是不容易的,要靠運(yùn)氣的。但是要明白,只有深耕一個(gè)行業(yè),或者一門技術(shù)才會讓自己的價(jià)值最大化。所以,當(dāng)有選擇時(shí),盡可能的向著目標(biāo)靠近。

責(zé)任重于技術(shù)

程序員的工作,無論是互聯(lián)網(wǎng),還是企業(yè)軟件,都是工程,都是對技術(shù)的應(yīng)用。大多數(shù)情況下,大多數(shù)人在工作中不會遇到技術(shù)上無法解決的問題,或者世界級的難題。換句話說,工作中遇到的問題,即使你不會,或者不知道怎么解決,通過查閱資料,書籍,網(wǎng)絡(luò)和同事的幫助,很快就可以解決。再者,把代碼寫好,做足測試,加強(qiáng)健壯,這些事情,也并不是需要太高深,太前沿的技術(shù)。只要用心就能做的很不錯(cuò)。

相反,那些工作做的糟糕的人,并不是因?yàn)榧夹g(shù)水平很差,別人對他的評價(jià)一定是不負(fù)責(zé)任,正所謂態(tài)度決定一切,態(tài)度產(chǎn)生的后果就是責(zé)任。即使技術(shù)水平一般,但是態(tài)度很認(rèn)真,工作很負(fù)責(zé),這就是優(yōu)秀的員工,也是對公司更有價(jià)值的員工;而一些即使技術(shù)很強(qiáng),但是卻態(tài)度差,不負(fù)責(zé)任,這類人就是混吃混喝等死的人,是遲早要被撥掉的毒瘤。

成為一個(gè)專業(yè)的程序猿

這里的專業(yè),更多的是指形式,做事的方法,解釋什么是專業(yè)前,先看一些例子,什么叫不專業(yè):

  • 電話面試時(shí),不問對方能不能聽清楚,就blahblahblah的開講,結(jié)果講了有十分鐘,對方嘆了一口氣說,不好意思,信號不好,沒聽清。。。
  • 比如電話面試時(shí),候選人說我先找一個(gè)方便的地方,找到后,打電話過來,說找到了,然后就開始電面了,這是候選人打過來的電話啊。。。
  • 比如開會遲到,比如開會時(shí)扯閑篇兒。。。
  • 沒弄清楚事情原委就妄下結(jié)論,特別是脾氣急的人,甚至開始罵人。。。

我相信這類事情舉不勝舉,我也非??隙ǖ南嘈?,猿媛們在日常的工作也經(jīng)常遇到這樣的事情。我們針對此類事情常常會回應(yīng)“不專業(yè)”,對,這就是不專業(yè)。反過來就是專業(yè):
電面前,先都問清楚對方是否能聽清楚,然后再blahblah;候選人告訴你,我現(xiàn)在方便了可以電面了,這是一個(gè)通知啊。你要掛掉,然后再打過去;開會有明確的主題,不要遲到;弄清原委后,再罵人。。。等等。

聞道有先后,術(shù)業(yè)有專攻,如是而已。

知識是無窮無盡的,總有你不知道的,總有你不會的,即使你當(dāng)了幾十年的程序猿,號稱啥都會,人送外號萬事通,但想把你問倒,也不是難事兒,一個(gè)學(xué)校里的孩子也有你不知道的知識。軟件行業(yè),分為眾多領(lǐng)域,都說隔行如隔山,但是不同的領(lǐng)域也有鴻溝,比如做客戶端,后端,前端,驅(qū)動,游戲引擎,圖形圖像,安全等等。所以,我們要保持一顆求知的心和一個(gè)謙虛的態(tài)度,即使你是前端大牛,但當(dāng)你遇到驅(qū)動上的問題,你就是個(gè)白癡,就要虛心的去學(xué)習(xí),去向別人請教。

另外,就是面試時(shí),身為掌握生殺大權(quán)的面試官,更是要拿出對候選人的尊重,不能因?yàn)閯e人的出身(非科班或大專),經(jīng)歷(小公司,外包公司),經(jīng)驗(yàn)(經(jīng)驗(yàn)少,項(xiàng)目無亮點(diǎn)),不是很對口(你需要客戶端,他大部分經(jīng)驗(yàn)是前端)等非技術(shù)原因,而在面試時(shí)故意刁難,或者“明擺著不想要你,但是為了應(yīng)付領(lǐng)導(dǎo)不得不面試”,或者因?yàn)槠渌騺肀梢暫蜻x人(曾遇到過,一個(gè)外企的人,鄙視國內(nèi)公司的人,說國內(nèi)都是抄外企的)。正所謂疑人不用,用人不疑,身為面試官,你可以pass掉這個(gè)人,這是你的權(quán)利,但是你必須尊重別人,即使這個(gè)人能力確實(shí)不咋地。誰都有低頭的時(shí)候,外企就牛么?國內(nèi)的外企不也是總部的外包,竟干點(diǎn)雜活兒,Motorola當(dāng)年多么牛逼,待遇也好,招人也挑得不行,現(xiàn)在不也都樹倒猢孫散!老話講不要裝逼,遲早遭雷劈!

如何停止迷茫的眼和沉降浮躁的心

每當(dāng)迷茫的時(shí)候,都是對未來想太多,當(dāng)下做的太少導(dǎo)致的;每當(dāng)浮躁的時(shí)候,都是期望的太多,做到的又太少時(shí)導(dǎo)致的。無論將來,你怎么樣,將去向哪里,最關(guān)鍵的,是要從當(dāng)前開始,你無法夢想著直接飛到那里,沒有直升機(jī),也沒有熱氣球可以撥地而起,只能從當(dāng)前開始,腳踏實(shí)地的,一步一個(gè)腳印的往前走。
這還是有點(diǎn)空,有點(diǎn)雞湯,下面來說說具體如何做:

  • 首先,搞清楚你自己的做什么的?

    對,死寫代碼的。寫哪一層代碼的?安卓?水果?應(yīng)用?Frameworks?驅(qū)動?哪一領(lǐng)域的?圖形圖像?Webkit?網(wǎng)絡(luò)?BlueTooth?金融?安全?什么,不寫代碼,只是維護(hù)解bug(有相當(dāng)部分的人,比如安卓整機(jī)方案的人都是只維護(hù)解解bug),也一樣,哪一層的?哪一領(lǐng)域的,搞清楚;

  • 然后,弄清楚自己是干啥的了,這就好辦了,把你該做的事情,做好,做熟悉,做到你只用半天時(shí)間就能完成一天該做的事情。

寫代碼,要學(xué)習(xí)如何把代碼寫的又好又快,也就 是能快速的完成指定需求,bug又少,升華一下,又包括把代碼寫得清爽,易懂,結(jié)構(gòu)合理,命名易懂等等,這個(gè)是基本功的修煉,且一直被人忽視,因?yàn)閹缀跛泄镜腒PI里不會涉及到代碼的好與壞,頂多是bug的多與少,crash率,性能和穩(wěn)定性,這些是軟件的指標(biāo),而非代碼,衡量代碼好與壞,最好的辦法是看接手你代碼的人的反應(yīng),看他罵你的次數(shù)。代碼的修煉可以看《代碼大全》《整潔代碼之道》這些書,更重要的是看優(yōu)秀的開源代碼。

  • 另一個(gè),就是熟悉現(xiàn)有的代碼,爭取做到,每當(dāng)一個(gè)新需求過來時(shí),你知道要改動哪些類,要在哪里添加新代碼;改bug時(shí),你想一想,就知道bug大概出現(xiàn)在什么位置,是哪個(gè)類,哪個(gè)方法導(dǎo)致 的了問題。

  • 還有就是熟悉業(yè)務(wù)邏輯,任何軟件都是為了實(shí)現(xiàn)業(yè)務(wù)而做的,熟悉業(yè)務(wù)邏輯,先是你負(fù)責(zé)的小模塊的邏輯,然后是整個(gè)軟件的業(yè)務(wù)邏輯,這對新評估需求,解bug,都非常有好處,你會站在一個(gè)整體的角度去思考。有一些具體的指標(biāo),比如你可以整理了需求文檔,以及由此可以產(chǎn)生各種測試用例和場景,這對你驗(yàn)證代碼的正確性很有幫助。

  • 之后,就是準(zhǔn)備好,并備份常用的測試環(huán)境,測試數(shù)據(jù)和測試用例,有新的需求,和解bug后,也都要整理并添加到測試庫中,方便自測和回歸。雖然有QA來保證軟件質(zhì)量,但是我們的軟件,拿到給QA前起碼要是能work的,需求要能滿足的??偠灾瑢I(yè)的程序員自己是要做足夠的測試的。而測試,有時(shí)候不是那么的方便,比如,對于客戶端而言,常發(fā)生的事情是,后端數(shù)據(jù)還沒好,你需要mock數(shù)據(jù);有些數(shù)據(jù)是少數(shù)場景才出現(xiàn)的,也需要mock著來測試;上線前要在測試環(huán)境里,用測試服務(wù)器來測試;等等。這里的意思是,如果你經(jīng)常需要這些東西,比如mock數(shù)據(jù)啊,代理啊,等等,就要去花點(diǎn)心思,整理并備份,甚至想辦法,寫代碼也好,用開源庫也好,搭建好方便使用的測試環(huán)境,這對開發(fā)來說是很有幫助的??赡苣銜杏∠?,一個(gè)bug,改起來很容易,但是驗(yàn)證它卻很困難,要掛代理,mock數(shù)據(jù),模擬特殊場景,調(diào)整網(wǎng)絡(luò)環(huán)境等等。

  • 還要備份常用的環(huán)境配置,比如你的代碼會針對不同的場景有不同的定制,這時(shí),最好的方式是各拷貝一份,每一份都配置好,而不是用不同的分支,即使這也能做到。原因有二:

    • 代碼分支雖然可以區(qū)分不同的代碼,但是環(huán)境依賴配置往往不會在repo里,意味著你切了分支后,還是要去搞一下環(huán)境配置,弄一弄依賴;
    • 另外一個(gè)原因是并行的問題,假設(shè)你在A版本的分支上正在開發(fā)新功能,這時(shí)B版本(假設(shè)A與B是給不同客戶的,二個(gè)分支有差別)要修Bug,你說你是切分支方便,還是說到另外一個(gè)目錄去搞方便,我覺得還是這種物理隔離的要好。

混了幾年的后,我們深知,環(huán)境配置也是開發(fā)的一部分,而這通常都很麻煩,會讓一個(gè)看起來十分鐘搞定的事情,最終變成搞了二天,可能還沒有搞定?,F(xiàn)在的代碼都很復(fù)雜,復(fù)雜之處在于,它本身不復(fù)雜,但是依賴特別復(fù)雜。大家常折騰開源軟件,應(yīng)該知道,一個(gè)庫本身本身可能不復(fù)雜,但想要用它,要安裝配置一坨一坨的依賴,試想一下,如果不用包管理器(apt-get,brew,pip之類)的,你自己手動去裝一個(gè)opencv試試,或者直接編譯它的源碼試試。

  • 上面這些做到了后,我相信份內(nèi)的事情對于你來說,都不是事兒了。這時(shí),就要去深入學(xué)習(xí)了,把你所依賴的東西搞清楚。比如你用到了網(wǎng)絡(luò)庫,像OkHttp,像Retrofit,它們?yōu)槭裁幢仍囊糜??它主要的原理是什么?它的封裝思想?再如圖片加載庫UIL,Picasso等,它的原理是什么?所依賴的底層庫,封裝的都特別好,用起來很方便,越是這樣的庫,如果你只知道怎么用,那就完了。因?yàn)榧词箾]用過的人,花幾分鐘看下教程也都知道怎么用。只有深入了解實(shí)現(xiàn)細(xì)節(jié),并學(xué)習(xí)使用高級用法,才能不惘你用過一回這些優(yōu)秀的庫。

  • 此外,無論是哪個(gè)領(lǐng)域,哪一層,性能調(diào)優(yōu)都是一個(gè)高手的象征,項(xiàng)目的性能調(diào)優(yōu)工作一般都是由高手來負(fù)責(zé)的。所以,如果你學(xué)習(xí),并實(shí)踐過性能調(diào)優(yōu),對技能的提升絕對是一個(gè)大推力,面試時(shí)也會是一個(gè)大大的加分項(xiàng)。

  • 最后,就是用心,認(rèn)真的對待工作,認(rèn)真對待每一行代碼,每一個(gè)bug。即使你不喜歡現(xiàn)在的工作,即使你覺得你現(xiàn)在就是在浪費(fèi)時(shí)間,浪費(fèi)生命,每天都改改bug,毫無樂趣,但你也要認(rèn)真對待,把工作做好。所謂拿人錢財(cái)替人消災(zāi),你拿了公司的薪水,就要把工作做好,他日你能高就,那是另外一回事,是他日的事情,今天你在這兒,就要把該做的事情做好。如果特別浮躁,眼高手低,總是糊弄,你覺得你能高就么?老板會把更重要的事情交給你?雖然,這個(gè)世界千奇百怪,確實(shí)有人不是因?yàn)榧寄艿玫搅烁叩墓べY,更好的工作,但我相信大部分情況下,還是成正比的,待遇比你好的人還是有正面的理由的。如果你不服,那么就更要用心的去努力,他日高就時(shí),證明給別人看:老子比你們都強(qiáng)!

如果你能做上面建議的幾點(diǎn),略加堅(jiān)持,不出半年,肯定會有質(zhì)的變化。

去他媽的職業(yè)規(guī)劃和長期計(jì)劃

職業(yè)規(guī)劃是一個(gè)方法論的東西,比他媽的設(shè)計(jì)模式還不靠譜。長期計(jì)劃更是害人的東西,超過一年的計(jì)劃,甚至 超過6個(gè)月都是扯蛋。你去問那些大牛,沒幾個(gè)有他媽的明確的職業(yè)規(guī)劃和長期計(jì)劃的。他們的共同特點(diǎn) 是:擅長深挖,能啃書,能讀代碼,思維活躍,思路清晰,解決問題時(shí),人家的思路就比你的更優(yōu)雅。
為什么說這玩意沒卵用,是因?yàn)楝F(xiàn)實(shí)生活中變化真的太快了。項(xiàng)目,做幾個(gè)月之后 可能就不做了;人員,今天張三離職了,明天李四轉(zhuǎn)崗了;沒等你做完呢?需求改了,或者這個(gè)運(yùn)營活動不做了,因?yàn)槔习褰?jīng)費(fèi)不給批。。。。

說個(gè)具體的身邊的例子吧:去年團(tuán)隊(duì)來了個(gè)實(shí)習(xí)生,是按安卓客戶端招的,來了后,頭一個(gè)星期也是安排的安卓的活兒,第二個(gè)星期,來了一個(gè)新的大需求,需要H5(Mobile HTML5),結(jié)果這孩子就要去做H5(要現(xiàn)從頭學(xué)JavaScript),過了大概三個(gè)月,公司政策變化,用不了那么多實(shí)習(xí)生,結(jié)果這孩子 就得回學(xué)校了。如果你是這孩子,你連一個(gè)月的學(xué)習(xí)計(jì)劃都沒法實(shí)現(xiàn),因?yàn)槟愣疾恢老轮?,甚至明天會發(fā)生啥事情。

想要獲得一個(gè)更好的成長學(xué)習(xí)環(huán)境就是要去大公司

去大公司還是小公司,這個(gè)可以列為與C和C++之爭,GNOME和KDE之爭以及Vim和Emacs之爭同等的一個(gè)不朽的話題。孤認(rèn)為,當(dāng)你處在職場初期,比如剛畢業(yè),或者畢業(yè)二三年之內(nèi),大廠無疑是一個(gè)非常好的選擇,這里的大廠包括國內(nèi)一流的公司比如BAT,網(wǎng)易等國內(nèi)知名大廠,以及大的外企,如Intel,Microsoft,非死不可,谷哥等等。

接下來說原因:公司雇我們來是干活的,是為公司創(chuàng)造價(jià)值,是幫公司賺錢的,不是讓你來學(xué)習(xí),讓你來開拓視野,讓你來接近牛人,讓你來討論問題的。大廠,因?yàn)樗艽?,有穩(wěn)定的收入來源和贏利能力,所以,它的節(jié)奏是有規(guī)律的,是相對寬松的,它的項(xiàng)目要么是成熟穩(wěn)定的,要么不是為了短期贏利而開展的。所以,它在人才的培養(yǎng)方面,是有計(jì)劃的,換句話說,能夠容忍你去學(xué)習(xí),甚至是稍微放慢一下工作任務(wù)(我說的是稍微放慢),因?yàn)楣疽财谕闳W(xué)習(xí),提升自己的技術(shù)和能力,公司也有會有這樣的空間來接納更好的你,說白了,有足夠的空間讓你提高和上升,更會有時(shí)間和耐心來讓你完成這一過程。小廠能有這樣的空間嗎?能允許你說,我先學(xué)幾個(gè)月?沒準(zhǔn)幾個(gè)月后,你學(xué)成歸來時(shí),公司可能都倒了。

另外,大廠里人多,好人多,牛人多,壞人也有,水貨也不少,你可以認(rèn)識更多的人,你可以了解大廠是如何運(yùn)作的,大廠是靠什么發(fā)展成為這么大,以及大廠如何保持運(yùn)轉(zhuǎn)而不衰落,大廠里,你可以有時(shí)間和空間去學(xué)習(xí),能開闊視野,能拓展人脈,這都是小廠無法做到的。

一句話,當(dāng)你處在職業(yè)的快速學(xué)習(xí)期時(shí),大廠是最佳選擇;而當(dāng)你感覺學(xué)有所成,或者遇到了新的瓶頸時(shí),這時(shí)小廠就是你大展拳腳的好去處。所以,你看,從BAT出來的人,無論是創(chuàng)業(yè)還是加盟創(chuàng)業(yè),都是一個(gè)非常好的歸宿,這是雙贏,對于我們,小廠里空間更大,人少事多,是你施展大好舞臺;而小廠也恰恰需要這種以一當(dāng)十,即是CTO又是程序猿,即是開發(fā)又是運(yùn)維的復(fù)合型人才。

溝通以及代碼可維護(hù)性取決于作者是否能為他人著想

如果一個(gè)人肯為他人著想,會換位思考,我相信,他的溝通能力一定不會差;他寫代碼的可讀性也不會太差。如果你不顧別人,只管自己說,說完拉倒,這怎么溝也不會通;如果你想不到別人會維護(hù)你的代碼,甚至想不到日后自己也得看現(xiàn)在寫的代碼(看,都不為自己著想),這代碼要是可維護(hù),算孤白活。

攘外必先安內(nèi)

委座這句話還是相當(dāng)有水平和內(nèi)涵的,也具有指導(dǎo)意義。我對這句話的理解是,小到個(gè)人,團(tuán)隊(duì),部門,大到公司和國家不能同時(shí)進(jìn)行二個(gè)或多個(gè)大事情,只有把一個(gè)搞定了,才能去搞其他的,有點(diǎn)不好理解,待孤慢慢講。

所謂溫飽思淫欲,當(dāng)你下個(gè)飯轍都沒有時(shí),你還考慮什么泡妞?當(dāng)你一門技術(shù),一個(gè)編程語言,一個(gè)平臺都沒學(xué)明白的時(shí)候,想什么跨端,想什么技術(shù)的廣度?都是扯蛋。到外挖井,挖的也不深,最終一輩子也挖不到水,正所謂10個(gè)10%不等于一個(gè)100%;

再比如團(tuán)隊(duì),每次發(fā)版本都搞得雞飛狗跳的,還談什么XP,搞什么技術(shù)創(chuàng)新?好好的把業(yè)務(wù)需要的技術(shù)搞熟悉,搞透徹,先把份內(nèi)的事情做好,輕松的做好,當(dāng)你每次發(fā)版本都能輕松應(yīng)對時(shí),甚至原本10個(gè)人的活5個(gè)人就能搞定時(shí),這時(shí)才是你去搞技術(shù)創(chuàng)新,搞什么UT啊,什么XP,什么技術(shù)驅(qū)動,什么工程師文化?。?/p>

大到公司,當(dāng)前的領(lǐng)域內(nèi),都沒有占有穩(wěn)定的市場份額時(shí),就學(xué)人家搞什么布局,人家搞金融,你也搞,人家搞汽車,你也搞,人家搞影業(yè),你也搞,這早晚會把自己玩兒死,就比如當(dāng)下的賈布斯,樂視的電視,手機(jī),體育,哪個(gè)占有穩(wěn)定的市場份額了?哪個(gè)能擔(dān)起養(yǎng)家的重任?這個(gè)時(shí)候你去玩布局?搞什么汽車?這就叫No zuo,No die。馬老師是擅長布局,但是都是在一個(gè)領(lǐng)域壟斷了時(shí):當(dāng)年搞淘寶,是因?yàn)锽2B站穩(wěn)了腳跟,能養(yǎng)家了,換句話說B2B已經(jīng)做的差不多了,且占了大部分的市場份額,能賺錢,即使淘寶失敗了,賠了錢,都不是事兒。后來搞阿里云,現(xiàn)在的什么影業(yè),菜鳥,雙H,這都是要持續(xù)砸錢的,為啥,因?yàn)樘詫毢吞熵埬莛B(yǎng)得起整個(gè)阿里,即使這些都賠了,也賠得起。

大到國家也是如此,當(dāng)人民還吃不飽穿不暖時(shí),談什么精神文明建設(shè),談什么科技創(chuàng)新?比如七八十年代的中國,十幾年前的東南亞(那幾個(gè)比較弱的國家,不是四小龍),搞什么環(huán)境保護(hù),對于人類來說,當(dāng)面臨人類的自身的生存和環(huán)境保護(hù)的選擇時(shí),只能選擇前者。所以,在一個(gè)不發(fā)達(dá)國家向中等發(fā)達(dá)國家邁進(jìn)的時(shí)候,經(jīng)濟(jì)發(fā)展始終是第一位的,人類發(fā)展過程都一樣,都是先污染,求發(fā)展,再治理。

說到這里,我相信你已經(jīng)明白孤的意思了。

提高競爭力,以增值

什么是競爭力,我覺得就是要多多培養(yǎng)那些不是Google一下就能解決的問題的能力。說白了,就是知識體系。Google一下能解決的問題,一定是一個(gè)點(diǎn)。StackOverFlow也好,博客也好,說的都是一個(gè)點(diǎn)的問題,不可能太大,因?yàn)榇罅说脑捯黄恼略趺茨苤v的清楚。多個(gè)點(diǎn),且經(jīng)過連接就成體系,這是需要長時(shí)間多次Google,外加思考總結(jié)而形成的,這就是競爭力。也是老鳥的價(jià)值所在。

很多人都在爭論,30歲以后要不要寫代碼???40歲以后怎么辦???確實(shí),隨著年齡的增長,人的身體,精力都會走下坡,不能再像年輕時(shí)那樣熬夜,所以30多歲的一線人員的處境非常的不容易。剛畢業(yè)的前幾年,是快速成長期,只要你肯努力學(xué)習(xí),技能水平,收入都是直線上升的,但是接近30歲的一線碼農(nóng),再想技能水平收入直升,就相當(dāng)?shù)睦щy。家庭,生活和身體原因讓你沒有那么 多時(shí)間去學(xué)習(xí)了。這時(shí),你能做的事情,剛畢業(yè)二三年的人也能做,他們精力更旺,身體更好,所以很多人要么轉(zhuǎn)管理,要么轉(zhuǎn)行,剩下的也總是在琢磨啥時(shí)候轉(zhuǎn)。

我覺得,造成這種尷尬的境遇最重要的原因還是未能持續(xù)學(xué)習(xí),未形成足夠多的競爭力。即使你沒成為管理者,沒成為大拿級別的人物(現(xiàn)實(shí)生活中不可能每個(gè)30歲后都成為管理者,都成為大拿),如果你持續(xù)學(xué)習(xí),不斷提升競爭力,你總是會增值的,即使每年公司僅給你普漲工資。

工資,我們要以單位時(shí)間來算,假設(shè)月薪2150塊,這其實(shí)是21.5x100得來的,你請一天假,是要扣掉100塊的,再換算,8x12.5=100,也就是說你的時(shí)薪是12.5大洋。二個(gè)人的月薪假設(shè)都是2150,但是一個(gè)人水平高,一天的活,2小時(shí)搞定,一個(gè)月的活一個(gè)星期搞定;跟另外一個(gè)天天還得加班才搞的完。哪個(gè)薪水高?當(dāng)然,這里是做了很多簡化,現(xiàn)實(shí)生活要比這個(gè)復(fù)雜。雖然,都有快速成長期,公司也有快速膨脹期,但最終,都會達(dá)到穩(wěn)定,所謂穩(wěn)定,就是你遇到瓶頸。比如像BAT等大廠里的大部分人,拿阿里來舉例,絕大部分人,升到P7后,肯定就止步于此,不當(dāng)主管升P8是很困難,而且只會越來越困難。那么這些人,每年只能被普漲工資,要想提高工資水平,只能靠提升自身工作效率來增值。

有人也許會說,這不太現(xiàn)實(shí)啊,活兒不一定會平均 分配的,老油條可能會被分配更多的任務(wù)。其實(shí),這個(gè)決定權(quán)在于自己,都已經(jīng)是老油條了,看不到上升的希望了,為什么還要多干?這是一個(gè)屁股決定腦袋的時(shí)代,也可以理解為工資決定責(zé)任的時(shí)代,員工付出多少努力取決于給多少工資。說不好聽的,給一個(gè)應(yīng)屆生的薪水,還指望著,干著架構(gòu)師的活兒,擔(dān)著CTO的責(zé)任,只有處在職業(yè)初期,快速學(xué)習(xí)成長的時(shí)候才會干,并且一旦感覺學(xué)有所成,立馬高就。

總之,不斷的學(xué)習(xí)和總結(jié),多多培養(yǎng)競爭力,才能做到越老越值錢。

要事不一定非優(yōu)先

當(dāng)有多件大事情要做時(shí),比如一個(gè)新功能,一個(gè)是已上線版本的幾個(gè)bug,還有設(shè)計(jì)下個(gè)月的一個(gè)運(yùn)營活動的技術(shù)方案,當(dāng)這三個(gè)事情擺在面前時(shí),只能先選擇最重要的事情來做。這個(gè)確實(shí)是要應(yīng)用要事為先的原則。

但假如,還有一些其他小事情要做:比如,充個(gè)話費(fèi);到網(wǎng)上買個(gè)東西;升級一個(gè)軟件等,這些10分鐘內(nèi)可以搞定的小事情,最好還是先做了。這樣你的頭腦就清靜了,不會老想著“要記得充話費(fèi)啊”,這些小事情本來就容易被忘記了,所以大腦會潛意識的提醒我們。這會打擾正常的工作思維,影響思維的集中度,從而影響重要事情的效率。而且,按要事優(yōu)先也會造成到晚上了這些小事情還沒有做完,而推到第二天。

區(qū)分的原則就在于:如果一件小事情可以10分鐘內(nèi)搞定,那么就迅速搞定它。要明白,你的ToDo列表越短越好。那些需要半天或者一天才能搞定的事情,當(dāng)然還是要按照要事優(yōu)先的原則來辦。

不要努力加班做業(yè)務(wù),而是要加班學(xué)習(xí)

軟件行業(yè),加班是難免的,特別是互聯(lián)網(wǎng)行業(yè),現(xiàn)在的移動互聯(lián)時(shí)代996更是一個(gè)普遍現(xiàn)象。也許會感覺到充實(shí),也許會感覺到成就,也許會感覺到累?但是黃牛式的,天天加班做業(yè)務(wù),起碼對于個(gè)人的成長來說是最致命的?,F(xiàn)在年底了,你回頭想一下,這一年都做了什么?有哪些成長?你會發(fā)現(xiàn),你做了很多事情,但是成長很少。遇到不會的東西,網(wǎng)上搜一搜,copy一下,就完了。業(yè)務(wù)做了那么多?你會有成就感 么?程序員的成就感更多是源于自己的成長,能夠做到以前做不到的事情,而非天天搬磚。

舉個(gè)例子,你會蓋房子,但這一年,都是在蓋同樣差不多規(guī)格的房子,能有多大長進(jìn)?什么時(shí)候來一個(gè)蓋漂亮城堡的活,你能接得住么?公司給我們錢,是讓我們產(chǎn)生價(jià)值的,對于公司來說房子就價(jià)值,只要我們能多產(chǎn)出房子就值了付給我們的薪水了,等哪天你老了,病了,不能蓋房子了,他們立馬會找一個(gè)更年輕力壯的人來替你。而你如何升級為蓋城堡的人,公司根本不管。

所以,如果你感覺天天在搬磚,幾個(gè)月了,甚至半年了,毫無進(jìn)步,沒學(xué)習(xí)新東西了,也沒有搞清楚遇到的問題,這時(shí)就要注意了,要減慢搬磚的速度,哪怕不要KPI了,要停下來學(xué)習(xí)學(xué)習(xí),總結(jié)思考一下,如何做得更好。比如,有些重復(fù)的工作,是不是可以用腳本,像打包,發(fā)布之類;比如對于產(chǎn)品和運(yùn)營過來的需求,要合理的拒絕;比如對于重復(fù)性的運(yùn)營活動,是不是可以搞些配置模板等等。

天天加班做業(yè)務(wù),是不會有進(jìn)步的。要想進(jìn)步,只能學(xué)習(xí)。

學(xué)會聰明的做事

考試時(shí),最好的方法是什么?不是瞎猜,不是自己做,而是抄正確的答案。一個(gè)活分配下來了,最好的方式是什么?不是自己干,即使你早已駕輕就熟,而是讓別人替你完成。最省力,最輕松的做事方法是,讓別人來做。完成一件事情的方法有很多,我們要選擇成本最低的方式。

這里,不是說讓大家投機(jī)取巧,把本該自己做的事情推給別人,當(dāng)然如果你有那個(gè)本事推給別人,別人又愿意接也可以。而是說要聰明的做事,不要把精力耗在本該別人負(fù)責(zé)的事情上。比如,現(xiàn)在的軟件依賴都比較復(fù)雜,問題通常都會通過上層來表現(xiàn)出來,如果你發(fā)現(xiàn),這個(gè)是底層引起了,那就不要去查了(如果時(shí)間充實(shí),為了學(xué)習(xí)和研究的情況除外),讓相應(yīng)的負(fù)責(zé)人來查就好了,他對此更加的熟悉,可能 你花一天功夫也沒弄明白的,人家一眼就搞定了。

再有就是,一些煩人的手工操作,重復(fù)性操作,要寫腳本來完成。計(jì)算機(jī)最大的優(yōu)勢是能夠重復(fù)且不犯錯(cuò)的完成任務(wù),它的最大優(yōu)勢 在于重復(fù),人的重復(fù)性沒有計(jì)算機(jī)好,而且會犯錯(cuò),像拼寫錯(cuò)誤等。像打包,發(fā)布,等等很多事情都可以用腳本來完成。

學(xué)會利用程序員的優(yōu)勢

軟件再也不是大學(xué)實(shí)驗(yàn)里,讓人們琢磨不透,看起來很神秘的東西了,它已經(jīng)融入了人們的生活,廣場舞的大爺大媽們都也用上了智能手機(jī),用上了微信,淘寶。我相信,問軟件人員會修電腦的人會越來越少。這意味著我們每天都要跟軟件打交道,離不開軟件 了。身為會寫軟件 的人,就要利用好自身的優(yōu)勢,下面來舉例來說一說:

  • 要能識別出各種釣魚短信,欺詐短信電話;如果身為一個(gè)程序員還被電信詐騙騙了的話,只能說這個(gè)猿太失敗了。

  • 對于各種軟件,也要能夠識別出,哪個(gè)是真的,哪個(gè)山寨的,假的,哪個(gè)可能有病毒,哪個(gè)可能有木馬。更要有安全意識,現(xiàn)在手機(jī)應(yīng)用和網(wǎng)站的個(gè)人信息泄露非常嚴(yán)重,所以,更要注意管控手機(jī)應(yīng)用的權(quán)限,能少注冊網(wǎng)站就少注冊等。除了自身要注意信息安全,更要提醒身邊的人。

  • 再比如,普通人獲取信息的方式是上網(wǎng)站,用搜索引擎,但是猿媛是不是可以用爬蟲呢?

  • 再比如像搶紅包,搶票,秒殺(不要去秒月餅哈)刷投票,刷評論等,普通人靠人肉,靠手工,靠發(fā)朋友圈,我們身為猿媛是一定要靠 技術(shù)的,寫個(gè)腳本,寫段代碼來幫我們完成這些事情,這也是我們從事的職業(yè)所帶來的一個(gè)優(yōu)勢。

最初發(fā)表在: toughcoder.net

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容