1. 程式人生 > >漫談程式設計師系列:看看你離優秀有多遠

漫談程式設計師系列:看看你離優秀有多遠

前段時間(大概是8月份吧)我終於拿到了駕照,科目一、科目二、科目三、科目四都是一次性過的,沒有給教練塞錢也沒有給教練遞煙。考科目三(路考)時,有個女生沒能通過還被陪考員諷刺,傷心地哭了,梨花帶雨讓人心疼。同行的還有兩個學員考了三次都沒過。媳婦的同事聽說我什麼致禮的事兒都沒幹居然一次性過了,對我表示了一些些敬仰之情。好吧,我承認這讓我有點兒沾沾自喜。可是我們在談程式設計師啊,和駕校有兩毛錢關係沒有?別急,兄弟姐妹們,有的,這個真的有。

軟體開發的未來世界

有一次我在上海Qt開發群和人討論軟體開發與炒菜大媽的可比性,當時我說將來的軟體開發會很簡單,成為像英語、駕駛一樣的基本社會能力,你能學會炒菜就能學會程式設計,可以根據自己的需要從半成品軟體商店裡購買元件,按自己的需求加工成成品軟體。我相信不久之後這個就會實現,使用者可以用自己的需求和智慧,藉助一個平臺,像搭積木一樣生產軟體。雖然實際上他們不懂我們現在談論的所謂程式設計、開發,但確確實實,他們可以按需開發出自己的軟體來,而且很可能他們都不需要懂計算機,只要在手機之類的移動裝置上搞兩下就好啦。

其實現在硬體已經在往這個方向發展了,什麼麵包板,什麼模組化,什麼什麼什麼呀,看看這個文章:Make!Sense 動手好伴侶,帶你輕鬆做實驗。摘要:

簡單來說,Make!Sense 可以看作是一套感測器連線系統,它自帶通用介面,可以快速便捷地將不同型別的感測器連線到電腦或智慧手機。作為一個有趣的學習互動平臺,Make!Sense 最大的亮點就是操作簡單,小盆友們可以用它感受身邊物體細微的運動、空氣中的水分、光線、溫度甚至心跳,好奇什麼,就感受什麼。

配圖:

一下子又跑偏了,下筆千言,離題萬里……

駕校教給我們什麼

要說司機就得說駕校,我還想說出租車、快的、滴滴、易到用車……因為我是個真誠的噴子,想到哪裡噴哪裡,不會掩飾,我打星際爭霸時最喜歡的是口水蟲,編上個七八隊,哇喔,噴的那個叫壯觀,瞬間平地變湖泊……現在社會上有些資源被某些謀取私利的官、商佔據了,所以產生了很多問題。就比方說駕校,為什麼那些無牌駕駛十幾年的老黑司機也要到駕校來花個錢呢?這不扯淡嗎……應該有自考的途徑啊。

我們還是迴歸正題,看看駕校能教會我們什麼。

駕校會教我們控制汽車,比如怎麼把握方向盤,怎麼使用離合、油門、剎車,怎麼半聯動,怎麼起步,怎麼半坡起步,怎麼過S彎,當然還有調整後視鏡、側方、倒庫等等,對於新手來講,這些其實也是比較傷腦筋的。但是所有這些都是相對簡單的事情,大部分學員通過練習都能掌握,不會有太大的問題。多練習一下,科二、科三不成問題,至於科一、科四,到駕校一點通做兩遍題,對於上過初中的朋友們也沒太大問題,我的堂兄弟小學文化水平也過了,去年春節回家他開車接的我。

當你花上五塊錢買了個實習的黃牌子貼到車屁股上準備上路時,真正難受的經歷才正式開始。這時才是真正學習開車的時刻!雖然控制汽車是成為好司機的非常非常重要的前提條件,但遠遠不夠,很遠很遠,比你愛一個人那個人卻在搞基還要遠。只有你看淡了風雲,能夠預料和避免大多數意外的情況時才能成為一個好司機。不幸的是,駕校不可能教給你這些技巧,你會漂移的朋友也不可能教會你,神仙姐姐來了也教不會你反倒會讓你分心YY。

總之一句話:拿到了駕照,實際你會不會開車,只能聽天由命了。哦不,我要傳遞正能量,靠人不如靠己,此時此刻,只有你能對自己的生命負責,所以你必須Fighting,學會應對所有的緊急狀況,你必須親自經歷過很多駕駛危險並且要倖存下來才能擁有教練們企圖通過說教、演示來教給你的那些應急反應能力。這是少林寺的十八銅人巷,要下山必須得通過。什麼,你想啟用飛航模式?抱歉,待你長髮及腰,肋生雙翅再說吧。

舒馬赫,阿隆索,漢密爾頓,阿蘭瓊斯,普羅斯特……這些名字你可能知道。好吧,也許,韓寒這個全民岳父你更熟悉……這些知名的賽車手,還有在《頭文字D》中送豆腐卻能在山道神漂移的周董,與剛走出駕校拿到駕照的學員們,到底有多大差別?到底哪些新手司機可以成為未來的神司機?

這是一個問題,很大的問題。

優秀是有門檻的

在《漫談程式設計師系列:程式設計師零門檻?》中我說軟體開發門檻為零,在本文開始也45度角仰望星空暢想了404也能開發軟體的悲慘未來。親們,不要怕,這裡我要做一點點修正,所謂失之毫厘謬以千里,我這點微不足道的修正,會大大改變本系列文章關於軟體開發門檻這一話題的未來走向。

所謂的沒有門檻,是指:成為新手程式設計師沒有門檻。也許之前你已經笑話過我圖樣圖森破,我這麼一改,哈哈,Bug沒了吧。

現在要goto到駕校了。

如果你想成為程式設計師,或者被逼迫必須成為程式設計師,那可以去達內、北大青鳥、黑馬、野馬等等培訓機構學幾個月,也可以自己到軟體開發4S店當幾天學徒,基本上就可以掌握一門程式語言,能夠控制某個IDE,讓它Run出一個Hello World或者別的什麼。此時此刻,你滿懷激情地成了4B青年,可是“金樽清酒鬥十千,玉盤珍羞直萬錢”,買個房子貸難還,娶個媳婦岳母嫌,壓力不是一般的大啊,於是你停杯投箸不能食,拔劍四顧心茫然,最後只能輾轉反側寤寐思服……那麼,你想什麼呢?

終於可以連連看了,此時你就相當於剛從駕校出來的新手司機,站在鋼筋水泥的叢林裡,面對著人潮擁擠又車來車往的十字路口,眺望堵到霾雲深處的車流,開始了事關將來的深度思考:什麼時候我才能成為一個神乎其技的好司機,穿越這神鬼難破的堵局?

其實作為程式設計師,你也要想這個問題:我來了,面對那麼多的大拿、怪咖、呆萌,我的路在何方?怎樣找到那條通往優秀程式設計師的羊腸小道?

入門不難,優秀很難!上有六龍回日之高標,下有衝波逆折之回川。黃鶴之飛尚不得過,猿猱欲度愁攀援。腫麼辦?腫麼辦?

不是每個人都能成為舒馬赫,也不是每個程式設計師都要成為王江民。

擺在你面前的有很多選擇:蹩腳的程式設計師、合格的程式設計師、優秀的程式設計師、卓越的程式設計師,還有在職退休的好漢……

你要做哪一個?你能做哪一個?怎樣成為你想做的那個?

Big Problem ! 你需要看《自我發現,找到適合自己的職位》,step into ,或者F11,進去看看吧。不過這篇文章目標太大,說的都是一般之理,沒有針對“程式設計師”這個與“農民工”、“保潔員”一樣響噹噹的稱謂所代表的社會群體投去特別的溫暖與關注。因此,我會在漫談程式設計師系列文章中來講這個問題,稍微詳細一些的來嘮一嘮它,不過不是現在……

優秀與普通的差別

現在我們要看看優秀程式設計師與普通程式設計師之間的差別。

有個哥們兒(叫他GG吧)考科三,起步、百米加減檔、超車都O了,快結束時,陪考員說,減速停車,這哥們一聽暗暗吐了一口長氣,心想終於通過了,然後右腳猛踩油門,陪考員反應挺快猛踩副駕的剎車,結果呢這哥們掛了……

你說GG能否成為舒馬赫?

其實我的神經好錯亂的是吧……

還是看看優秀程式設計師的表現:

普通程式設計師的迴圈:

當然普通程式設計師和優秀程式設計師可能不像兩幅圖裡的區別那麼明顯,但他們之間確實有一條鴻溝……

有哥們兒已經紅眼了,憤怒了:博主,丫到底敢不敢說明白!到底差別在哪裡?

咦,你真關心這個呀……其實我不是馬路邊的賈半仙,很難一言半語說明白,但是,姑且從以下三方面噴噴吧。

  • 才幹
  • 行為
  • 結果

才幹上的差別

請先閱讀《漫談選人與培訓》瞭解知識、技能、才幹的差別。這裡咱搞個摘要:

才幹就是你那些貫穿始終的思維、感覺和行為方式,它基本上是與生俱來的。任何可以產生效益的貫穿始終的行為模式都是才幹。多數時候我們並沒有意識到它們的存在,只要你有意識的識別出它們併發揚光大,就可以有所成就。因為,取得出色成績的關鍵在於使你的才幹與工作相匹配。

舉例來講,精確、好學、好強、嚴謹、秩序、樂觀、開朗、專心等等都是才幹。

理解了才幹這個說法,我是再也不迷信“勤能補拙”、“揚長補短”這些個看似勵志的說法啦。假如你要幹好一件事情,必須要改變你的才幹和個性,只有當你非你時才可以幹好它,那這件事情壓根兒就不適合你。換句話說,它不是你的菜。

上小學時老師總是批評有的小朋友馬虎,是馬虎蟲……馬虎可以改變嗎?對於有些人可以,對於有些人不可以,因為馬虎是他的天性。有的人小學馬虎,中學照樣,成家立業了還是粗心大意丟三落四馬馬虎虎……你讓他改什麼?馬虎就是他的天性啊。請表逆天,親。

還有些專案經理對團隊裡的程式設計師不滿意,說P1要是多想想,用心一些,就不會寫出臭蟲亂爬的程式;說P2要是責任心強一些,就不會天天上班打遊戲……其實,哥呀,有的人就是不認真,不用心,天生就那樣;而有的人就是不負責任;這些都是教不會的,改變不了的……你寄望於改變那些無法改變的東西來提高某人的工作效率和產出,那可真是痴人說夢話緣木求魚……

那造就優秀程式設計師的,是哪些才幹呢?

  • 學習能力
  • 學習慾望
  • 好奇心
  • 成就慾望
  • 執著
  • 追求完美
  • 抽象思維

這些都是……必然還有別的,請腦補下。

行為上的差別

因為才幹不太能直接看得出來,但它會決定你有什麼樣的行為。所以,從行為上,其實也可以看出普通和優秀的差別來。

優秀程式設計師的一些行為:

  • 拿到任務,就開始仰望星空或天花板上那盞高懸的電燈棒,狀如老僧入定
  • 忽而皺眉,忽而展顏一笑,忽而手舞足蹈,忽而在紙上指指戳戳,忽而口中唸唸有詞,忽而長吁……感覺有點神經病啊
  • 桌子上擺的是程式碼大全、設計模式、敏捷實踐之類的書籍,並且沒有灰塵
  • chrome或firefox的書籤欄裡分門別類,類別多於10個,8個以上是技術相關的
  • 容不得破窗戶,看見別人的爛程式碼就想改過來
  • 隨手就能在白板上畫出軟體的流程圖或者時序圖……
  • 專案做完了,別人在打遊戲、看視訊、忙著回覆QQ、向剁手族前進,他在想:這樣重構好呢,還是那樣……
  • 你發現他總能說出些你不知道的技術來……
  • 看這廝的程式碼比看你自己的還好懂……
  • 老得你叫他吃飯……

普通程式設計師的行為:

  • 拿到任務就開始噼裡啪啦敲鍵盤,一天寫了好幾千行程式碼
  • 沒事兒就被測試MM叫過去溝通……
  • 都早上10點多了還想著昨晚的球賽,10點半就琢磨中午要吃拉麵、扯麵、刀削麵、牛肉麵、旗花面、臊子面、窩窩面還是炒細面……
  • 過了一陣子,看到自己的程式碼,感到很驚奇,認為是別人寫的……
  • 回家就看電視、打遊戲、看球賽
  • 週一上班不知道要幹啥,遲遲進入不了角色
  • 哇,能Run啦,搞定啦
  • 這誰寫的程式碼,這麼爛……算了,管它
  • 問別人問題的時候多,別人請教你的時候少
  • 世界上最遙遠的距離不是生與死,而是你親手製造的 BUG 就在你眼前,你卻怎麼都找不到她……

當然還有其它的……這個列表可以很長很長

結果上的差別

最重要的差別在這裡:

因為普通程式設計師老是和測試MM溝通,告別單身的機率比優秀程式設計師大100倍。

相關推薦

漫談程式設計師系列看看優秀

前段時間(大概是8月份吧)我終於拿到了駕照,科目一、科目二、科目三、科目四都是一次性過的,沒有給教練塞錢也沒有給教練遞煙。考科目三(路考)時,有個女生沒能通過還被陪考員諷刺,傷心地哭了,梨花帶雨讓人心疼。同行的還有兩個學員考了三次都沒過。媳婦的同事聽說我什麼致禮的事

面試官中意的7個表現,來看看offer

          當你和麵試官面對面坐著,你的全部神經都繃得死緊,想著“他 / 她會怎麼考我?他/她喜歡我嗎?我能得到這份工作嗎?”之類的問題,一腦子問號。實際上,這些疑問並非高深莫測,有一些實用的小貼士可以幫助你評估面試官對你的印象究竟如何。眼神   在與自己喜歡的人交流

漫談程式設計師系列那些害死程式設計師的細節

    這次,我們不談權術,不談潛規則,不談技術,不談理想,咱們就來說說那些害死人不償命的工作細節。姍姍來遲    遲到是件小事兒,是吧。    很多人都這麼想,我上學時也渾不在意這個問題,80%的課連去都不去。    可這真是大事兒,天大的事兒。    遲到,首先反應的是你

漫談程式設計師系列請區別對待女程式設計師

寫下這個標題,真有點擔心被罵“作死”,戰戰兢兢如履薄冰……不過,如果你打算拍死我,請:冷靜三秒先!根據統計,在程式設計師這個群體中,大概有 20% 左右的女性。很不少了吧,也許有些阿猿說沒見身邊有幾個女人幹開發啊,哦,我要說,那一定有些阿猿身邊奼紫嫣紅。不扯了,咱們討論正題兒

漫談程式設計師系列無BUG不生活

    我決定談一談世界上最著名的蟲子:BUG !    BUG 困擾了一代又代的程式設計師,不論是傑出的電腦科學家,還是像 Linus Torvalds(Linux核心創始人) 、Bill Joy(傳說三天寫出BSD的前身,vi和csh的作者)等神一樣的傳說,抑或你我芸芸程

漫談程式設計師系列3D列印能打印出程式猿嗎

首先宣告,本文是一本正經的胡扯,絕不是隨隨便便的胡扯,請您不要隨便攻擊我胡說八道,我要重複星爺在《喜劇之王》裡的臺詞:其實,我是一本正經的噴子。 3D列印的定義 關於3D列印,下面是來自百度百科的解釋:     “ 3D列印,即快速成型技術的一種,它是一種以數字模型

漫談程式設計師系列群星閃耀的黃金時代

X電總局在2014年年中突然發飆了,把七家牌照商痛打了一頓,後來又把視訊網站往死裡玩兒了一把,大大過了幾把官僚癮。這時候我忽然想到豪傑超級解霸,那可是98年上大學時的最愛,當時學校還沒有網際網路,東洋和香港的誘惑很大,一群光棍的看碟需求很強烈,超級解霸啊,視訊播放江

漫談程式設計師系列程式設計師零門檻?

六個小故事,一一來看。 博主從技術支援轉做開發 2005年3月份我決定辭去技術支援工作,轉行做軟體開發。大學時我曾經學習過PASCAL這種程式語言,但和程控交換機打了幾年交道之後,PASCAL早已灰飛煙滅,渣都找不到了,而且我孤陋寡聞,也沒聽說哪個軟體公司用PASC

漫談程式設計師系列怎樣成為技術達人

作為程式設計師,身邊總是有牛逼的前輩、後輩或者同輩。牛逼的人總是讓人羨慕。比如自己苦搞一天的 BUG ,頭髮快抓掉完了,人家掃上兩眼,改一行程式碼,問題就解決了;比如自己幹了十年開發,薪水還不到 10K ,人家才畢業就簽了 16K 的合同;比如我要天天辛苦加班工作還

漫談程式設計師系列一個老程式設計師的2014年終總結

人生天地之間,若白駒過隙,忽然而已。驀然回首,頭上似霜雪,臉上似山川。我的 2014 啊,你就這麼毫無眷戀地離我而去了。既然往事已不可追,未來尚未到來,在這年末歲首的間隙,就讓我來回憶一下餘煙尚存的 2014 吧。 2014 年,對我而言,發生了很多事,不管怎樣,我

漫談程式設計師系列誰是為加班而生的

有一個問題經常在面試的時候被問到:對於加班,你怎麼看? 大家都知道 IT 行業加班很多,不加班的公司風毛麟角。很多公司都是加班出了名的,比如X為,X米……還有很多公司的老闆認為自己的公司之所以業績不行,就是自己的員工不能像別的公司那樣加班……切,這都什麼邏輯! 你

漫談程式設計師系列找工作的辟邪劍譜

我原來面試過一個哥們兒,半年內換了七家公司,我表示膜拜。 還有一些哥們兒,七年不換工作。這得是多穩定的工作啊,七年之癢都扛過去了,真心不錯。 這都是極端,一般的程式設計師,可能會一年半載或者三兩年換一次工作。在一個公司幹上老多年老多年的程式設計師,不是成了大牛公司

漫談程式設計師系列軟體開發的十八般樂趣

有人說我在傳遞負能量,看了我的“漫談程式設計師系列”感到了前所未有的彷徨與迷惘,哇哦,這不是我的初衷,我只是給你看真實的世界,真的勇士,敢於直面慘淡的人生與淋漓的鮮血。 有人說我在黑程式設計師,好吧,我是不憚以最壞的惡意來揣測別人的,是嗎?當然不是,我胸懷一顆善良慈

漫談程式設計師系列千奇百怪的程式設計師

幹開發時間長了,遇見好多好玩兒的程式設計師。 看看你躺槍了沒。 留一手 有個哥們兒,在一合資公司做程式設計師,能力挺強,寫程式碼很神的。 他的程式碼我看過,深得 MFC 的精髓:大量的巨集,很多函式就兩三個巨集,一個BEGIN_XXX,一個END_XXX,中間再夾

漫談程式設計師系列程式設計師到底是什麼角色

先講個生活小插曲兒…… 瓦工 房客打電話給我,說衛生間漏水,把樓下的客廳都洇溼了,老先生找上門來了。這還了得,趕緊處理吧。我找了人拆掉了浴缸,砸掉了地板,買了東方雨虹的防水塗料,自己做了防水,閉水試驗,剩下就是貼瓷磚了。貼磚是個技術活兒,很專業,我是程式設計師,雖

漫談程式設計師系列別說“我已經很努力了”

我們程式設計師的努力與掙扎有時非常尷尬,如果沒有結果,都是徒然,都是說不得說不得…… 我自己做專案經理時,乾的專案也經常延期……非常慚愧。而延期其實對研發團隊成員、產品線、市場、銷售、公司領導、客戶、使用者都是一種折磨。對其它人的折磨這裡就不說了,誰被虐誰知道,至

漫談程式設計師系列程式設計師該不該考慮初創公司

    IT 這個行業,最不缺的就是機會,追逐機會的,有各種各樣的小公司,也有各種種樣的程式設計師。 創業公司 每一個出來創業的人,心中都充滿了希望和夢想,而且認為自己眼光獨到,手段高超,一定能夠逐浪潮頭。 可是,創業成功的概率到底有多大?十分之一,還是百分之一? 熙熙攘攘的創業大軍,在網際網路的江湖裡

漫談程式設計師系列程式設計師的生活就這樣嗎

我當了快十年程式設計師了,終於老得可以來談談程式設計師的生活是什麼樣子了。 或許陳奕迅的《十年》中的一段歌詞,可以表示很多程式設計師和軟體開發之間的感情糾葛: “ 十年之前 我不認識你 你不屬於我 我們還是一樣 陪在一個陌生人左右 走過漸漸熟悉的街頭 十年之後 我們

漫談程式設計師系列受刺激啦,開篇啦

今天我媳婦給我說,樓上鄰居投了家every day便利,快回本了,買了個商鋪,租給賣床上用品的啦,人家夫婦倆也是做軟體開發的,這頭腦這眼光!我媳婦做測試,我做開發,我媳婦說她受刺激了,我按捺住蹦蹦跳的小心臟,QQ上對她說,要淡定,擺正心態。 女兒在幼兒園的小夥伴的爸

漫談程式設計師系列也在混日子啊

                    戳你一下,疼嗎?混日子的定義    來自百度百科的定義:“生活等方面過得不怎麼好,無目標,混混沌沌。”    混日子:“即沒有理想,沒有抱負,糊里糊塗地生活。也指工作沒有責任心,得過且過。”    OK ,百科的定義就醬紫。    那麼,如何界定某一段日子是混過去的呢?