人人都能成為程序員?不,我要告訴你:“ 你不適合做程序員”

我的一位同事,他帶他讀小學的孩子去學鋼琴,通過關系找了一位有點名氣的退休的老教師,學費不菲。他說其實他并不知道為什么要學,但是看到那么多孩子都在學鋼琴,他想,他的孩子不能落后。一個月之后,他去問鋼琴老師,對孩子的學習有什么建議沒有。鋼琴老師用盡了委婉的表達,最后說:

“對于你的孩子在學音樂方面,我最大的建議,就是你的孩子最好別學音樂 ”。

什么?!

這位同事聽了當然惱怒,但是轉念一想,老師未嘗不是負責任的。通常這樣的老師,賺錢之心,都會忽悠家長,或者好話歹說,很少有說“ 不” 的。 但是真話就是這么犀利。

他說:“ 我們平時并不容易聽到真話,真話來臨的時候,心里還真是‘ 咯噔’ 一下 ”。

世界就是這么殘酷,老天給了不同的人不同的能力和智慧,世界上許許多多不同的事都需要不同的才學和特質,試著去尋找適合自己的方向,這無關乎你有多努力。這是一個簡單的道理,語言可以說得冠冕堂皇,可是事實就是這一個:

“如果你沒有這方面的天賦,你最好別干這事 ”。

放到程序員身上,亦然。

哪些人不適合做程序員?

“ 我不懂網絡、不會操作系統、沒聽說過 JavaScript,java,python……”,沒關系,這些具體的技術都可以學。

“ 我記憶力差,數據庫認證考試不及格……”,沒關系,記憶力差的人只能記住深刻的、精華的東西,而且自己的想法會更多;至于認證考試…… 其實我們都知道那種考試有多么浪費生命。

“ 我 30 歲才開始寫代碼,同事說的我都沒聽說過……”,還是沒關系,你知道的太少而已,少工作,多上網,了解更多的行業信息;積累你的經歷,總結你的故事,你就能知道得更多。

“ 我沒聽過什么是軟件……”,好吧,我承認,這是唯一一個例外的,你是從別的世紀穿越過來的人嗎?

不是這些,那么,到底哪些人不適合做程序員?

下面這些話,是我眼中程序員必備的衡量標準,遺憾的是,這些都很難通過勤奮來彌補。現在,聰明的你,不妨參考一下自己,也許現在想明白什么才是適合自己的事情,比到三十年以后再后悔起來,要有意義得多。 尤其當你發現其中某一條,觸及你心中的痛處了,那么,你真的要好好想想了 。

如果你的思維缺乏條理性、邏輯性,那么,你絕對不要嘗試去做程序員。

我不知道還有什么比這條特質更能體現對程序員的要求了。有的人理性思維不強大,但是感情細胞異常豐富,也許你能成為藝術家、詩人,但是程序員,一個缺乏邏輯的程序員,你能期望他干什么?

這一條是我唯一不想做任何解釋的。 :)

如果你對事物沒有思考的習慣和耐心,那么,你別去做程序員。

思考一個我從中隨便摘出來的一個問題:

許多年前,當我看到珊瑚蟲 QQ 把 IP 轉成地實際地址的時候,我就在思考,如果我有一個 IP 網段的數據(全球 IP 地址數據),我怎么來完成這個功能呢?比如:某地點的 IP 網段是:10.10.1.* – 10.10.5.*。我要有一個 IP 地址是:10.10.3.20,我怎么匹配這個網段?用 Hash 表嗎?好像有問題。把 IP 字串轉成整型?排序+二分法,好像更容易解決一些,但是如果有一些修改的話好像有點不方便。用樹型結構(森林)會不會更好一些呢?如果我要通過地點反查 IP 段呢?

我本來想給出另一個例子的,但是上面這個例子在這里更合適,我就保留了下來。

好,現在從你的思考回到本文中來。

還有一個活生生的例子,以前有位同事和我抱怨,每天都要做一件事情,就是把報表數據錄入 excel 中去,然后每周會給領導提供一次數據報告。但是每天錄入數據的工作很枯燥,就是從網頁上把一項項數據拷貝出來,粘貼到 excel 中,每天都要花十分鐘的時間,每次雖然時間不長,但是日日如此,很枯燥。就這樣,他在抱怨中做這個工作做了有半年之久。

看到這里,你想到了什么?

是的,為什么不做一個“ 懶惰” 的程序員,為什么不寫一個腳本之類的小程序去做這件事呢?

本質上,這依然是那個不愿意思考的問題,我沒法評論其他行業對于思考的要求,但是程序員所解決的問題,都是不一樣的,有的可以借鑒,有的可以模仿,但是你不能完完整整地抄襲整個問題解決的辦法,總有很多問題需要用你的腦子去解決。

如果你對新技術不感興趣,那么,你還是不要去做程序員。

有的人會對新技術有一種排斥感,覺得“ 我學好 C 語言、操作系統和網絡這些基礎科目,把基礎打扎實就夠了,不需要接觸那么多新技術”,并且往往認定新事物未必有什么新花樣,萬變不離其宗,沒有什么的學習價值。

我認識的人中,抱著這樣看法的人其實有很多,有些人甚至已經寫了十幾年代碼。但是軟件行業是更新換代速度極其頻繁的行業,“ 萬變不離其宗” 是有其中道理的,但是“ 沒有學習價值” 只是逃避新事物的托辭罷了。

這樣的情形有這么一種典型現象,覺得沒有必要學習多種編程語言,因為“ 深入地掌握一兩種語言就夠了,語言都是相通的”。

很明顯,這樣說的人沒有看到那些“ 不通” 的地方,那些足以改變你視角和思維方式的地方。

再了解了解你心目中成功的程序員,我想這些人中,尚在做技術的程序員,無論到了哪一個層次,幾乎都關注著互聯網和開源社區。

如果你耐不住寂寞,那么,你可能不應該去做程序員。

你不需要非得在半夜里編碼,你不需要非得穿奇異的衣服、做 Geek 的事情,你甚至不需要很辛苦地工作,但是,如果你“ 只想和大家一起討論、一起研究”,而不愿意自己學習、自己寫代碼的話,你還是別做程序員了。

程序員不是一個孤獨的工作,溝通能力是幾乎每一個行業必備的技能, 但是,你會有很多很多的時間自己學習、思考問題,上網搜索,寫代碼、測試、部署…… 甚至包括等待程序響應,分析程序崩潰的原因 。

程序員需要獨立解決問題,程序員解決問題不是民主選舉。世界上絕大部分優秀的系統的絕大部分,總是由很少的人設計出來的。

總想把困難的問題留給和大家一起解決的人,往往存在一種依賴感,以及一定程度的不自信,你說是不是?

如果你只想把問題解決,特別不愿意尋根究底、精益求精,你大概不適合做程序員。

有的人不愿意做測試,問他為什么,他說,“ 我喜歡創造一個東西,但是我討厭去驗證一個東西的正確性”。這樣的人寫不優秀的代碼,因為他不會不斷去追求高質量和更理想、更美的代碼,更優秀的產品, 他只適合做一個短期的項目,這樣的項目很可能在不久后就變成一個爛攤子,當然,他可不愿意收拾爛攤子 。

測試,無論是測試設計還是測試執行,很大程度上都是程序員工作的一部分。優秀的程序員總是能把程序寫的容易測試,總是可以設計出好的測試方案。如果你討厭測試,我希望你只是因為討厭那些重復勞動—— 同時,停止抱怨,不如想個辦法解決它吧。

許多 Geek 的心理有那么一點異于常人,如果你對于界面上幾個像素的偏差都感到難以接受,如果你對維護自己的代碼細致到格式、命名等方方面面的細節,說不定你就是那個能成為“ 極致” 的程序員。

如果你接受了我的觀點,發現自己就是個程序員的料,那么恭喜你,祝你成為令人尊敬的同行;如果你發現自己實在不適合做程序員,那么還是恭喜你,盡管抱怨和咒罵程序員的工作吧, 事實上,那的確真不是什么好差事,而且,真相越早看到,就越不那么殘酷,不是嗎? :)

如果對于學習編程有很多疑惑,沒有思路,不知道如何有效率的學習,可以添加我的前端交流學習群 965747894,需要最新系統的學習教程也可以管我要。做了很多年開發,對于學習方式,如何提高自己的技術有一定的經驗,術業有專攻,多跟有經驗的人交流學習,對這個行業信息了解的多,職業發展的空間就越大

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 這幾天真熱,熱死了。 周末過去了,然而,就七八節有課,所以跟沒課差不多。大物作業要交了,所以,今天寫了半個...
    永恒yxh閱讀 92評論 0 0
  • 之前電影院特別火的時候沒開,冷下來再看會客觀一點,不容易受別人的影響。 一個女孩子在拜金的時候遇到一個真心對她的男...
    親愛的毛毛同學閱讀 236評論 0 0
  • 三月的漁人獨坐無眠 黝綠的湖水吹起了幾點白浪 縱然是那星花也走到了盡頭 最后冰糖雪梨去皮洗凈備用
    鎧甲勇士喜歡鐵甲小寶閱讀 524評論 5 30
  • 白襯衫后背的黑筆點 是你的杰作吧 腳底掉下的一角錢 有你調皮的瞬間 窗戶外面的柳絮飛揚 讓你打了幾個機靈 我做過多...
    椿霞湫懂閱讀 355評論 3 11
  • 史鐵生在《我與地壇》里寫過這樣一段話:味道是最說不清楚的,味道不能寫只能聞,要你身臨其境去聞才能明了。味道甚至是難...
    古樹螞蟻閱讀 1,910評論 9 10