優(yōu)秀的程序員會(huì)告訴你打根基的重要性,會(huì)勸你在厚積薄發(fā)前要隱忍。
優(yōu)秀的碼農(nóng)會(huì)告訴你學(xué)啥底層、啥啥啥一拖就好了,學(xué)了python還要啥自行車啊,數(shù)據(jù)結(jié)構(gòu)排序函數(shù)二分搜索這不都內(nèi)置了嗎?工作中永遠(yuǎn)用不到,學(xué)算法有啥用???成為高手有很多種方法匯編是個(gè)屁???
+++基礎(chǔ)的分割線+++
列舉幾個(gè)我認(rèn)為比較重要的根基并附入門書
編程語言,《程序設(shè)計(jì)語言-實(shí)踐之路》《concepts of programming languages》
計(jì)算機(jī)通用知識(shí),《csapp》
算法、數(shù)據(jù)結(jié)構(gòu),《算法導(dǎo)論》
程序設(shè)計(jì)、結(jié)構(gòu),沒有書推薦
軟件工程,這個(gè)詞大家理解不同,我以為,《人月》《代碼大全》《the pragmatic programmer》《sicp》、講測試講重構(gòu)的都是軟件工程,其實(shí)上面設(shè)計(jì)模式也是軟件工程,哈哈
這些書,初時(shí)讀來感覺全無作用,而且要讀多次才能體會(huì)其中意味,所以叫它根基也是十分合適,你根基越深才能爬得越高嘛。
+++方向的分割線+++
啥是優(yōu)秀程序員?
記者和很多網(wǎng)民說熊貓燒香作者是高手
公司里你出什么bug他都能告訴你原因用什么軟件有問題他都能回答你的你就覺得是高手
有人說徒手做產(chǎn)品的全棧才是高手
各語言的作者都是高手
有不寫代碼,扔出一個(gè)restful論文的
還有人說高德納是神,他如果是神,那他那些代碼一定是在考驗(yàn)我們,嗯
。。。。
上面這些的確都算是高手,我琢磨著前兩年被開掉的moto公司員工里肯定也有做功能機(jī)的高手和寫廉價(jià)板驅(qū)動(dòng)的高手
你想自己選自己的方向還是被人忽悠方向?
我的想法是自己都嘗試玩玩,然后做自己喜歡的方向。當(dāng)然,程序員的生態(tài)金字塔是上面做工具、基礎(chǔ)設(shè)施給下面人用來給普通人編程序,所以你選方向可以參考一下這個(gè)金字塔模型
+++爬坑的分割線+++
方向定下,然后就是做事了,一大誤區(qū)就是 【追求最好的東西】,于是非得弄清楚:
- php是最好的語言嗎?
- OpenGL比directx差嗎?
- 程序員要先學(xué)數(shù)學(xué)嗎?
- 最好的c語言書是譚浩強(qiáng)寫的嗎?
- 放屁要先脫褲子嗎?
- linux發(fā)行版那么多該選哪個(gè)?
- 某大牛說IDE不如編輯器
- 聽說黑客都是用記事本寫程序的
- C#是升調(diào)記號(hào)應(yīng)該讀csharp而java不應(yīng)念 [加wa(輕聲)]
- 。。。
如果你是一個(gè)*nix世界的玩家的話,你應(yīng)該知道有一個(gè)jargon來上面的毛病,叫yak-shaving,我以前提過幾次yak-shaving,但是很多人看不懂,它的字面意思是Any seemingly pointless activity which is actually necessary to solve a problem which solves a problem which, several levels of recursion later, solves the real problem you're working on.
但一般都引申其意使用它,我這里舉例一下:
你本來要打開軟件寫一個(gè)helloworld,軟件提示你升級(jí),你點(diǎn)了升級(jí),提示你xx庫不夠新,然后你更新xx庫,提示你要升級(jí)yy驅(qū)動(dòng),然后你升級(jí)yy驅(qū)動(dòng),系統(tǒng)告訴你要編譯這個(gè)驅(qū)動(dòng),你必須下載s.f版本的編譯器和庫,你更新編譯器,系統(tǒng)說s.f版本編譯器必須在e.n系統(tǒng)上運(yùn)行,然后你就升級(jí)系統(tǒng)了,幾個(gè)小時(shí)過去,你發(fā)現(xiàn)系統(tǒng)升級(jí)導(dǎo)致了幾個(gè)軟件損壞,然后你更新那些軟件,去找解決問題的方法,不知不覺到了半夜,你累成了狗,卻發(fā)現(xiàn)問題還有一大堆,而helloworld也沒寫成。。。。
這些問題我都遇到過,我的建議是挑一本大牛說的書就是了,看會(huì)了其他也會(huì)了。當(dāng)然,如果你不幸不認(rèn)識(shí)大牛(都上知乎了只要會(huì)搜索這種事情不可能發(fā)生),或者單純好奇——就像我當(dāng)年那樣的話,那就每種都試試,不過有的答案你自己知道就好,像是編輯器emacs比vim更好,寫程序ide比編輯器更好這種話,你是不應(yīng)該亂說出來的。
對了,像是不同范式的編程語言、不同的開發(fā)環(huán)境是應(yīng)該嘗試體驗(yàn)一下的,不過這種建議書上都寫了,我這里說顯得有些廢話了。
所以說,不能被無關(guān)的東西弄偏了目標(biāo),要專注,堅(jiān)持。
等你學(xué)深了一門語言,就算是學(xué)另一們其他范式的語言也不會(huì)太難,你學(xué)會(huì)了opengl,dx也就看看就能寫了。
你看看武俠小說里,段譽(yù)就是一個(gè)傻逼,仗著有時(shí)發(fā)出有時(shí)發(fā)不出的脈沖波和繞圈圈就能快跑直線的bug技就加上一門佛學(xué)能獨(dú)步武林最終迎娶了白富美,出任了CEO,走向了人生巔峰,喬峰永遠(yuǎn)是一招降龍十八掌,更夸張。而慕容復(fù)文武雙才,基本精通天下武學(xué),每天讀書4時(shí)辰練功4時(shí)辰,論用功誰能和他比啊。。??傻搅?0多歲還是一事無成,pk連段譽(yù)這種新手都搞不過,最后被人搶了老婆,就是因?yàn)榉较虿粚?,而且太不專注了?
所以求多不如求專,深度到了,再花20%的時(shí)間去擴(kuò)展一下廣度即可。
+++重要的分割線+++
以上東西你都做好了,要花個(gè)2年時(shí)間的樣子,對于學(xué)生來說,如果你有一個(gè)好的學(xué)校背景,人生可以就此揚(yáng)帆起步了
但這不是終點(diǎn),俗話說人靠衣裝,美靠包裝。包裝是門學(xué)問,這里的包裝不是讓你西裝領(lǐng)帶亮皮鞋黑絲套裙白襯衫整一個(gè)營銷狗hr的造型,是說專業(yè)技能上的包裝。
為什么這是最重要的部分呢?因?yàn)閯e人一般不和你說這么多,尤其是懂得包裝的人,更不會(huì)傳你這些不傳之秘啦。。。。。
包裝自己的第一步是提高實(shí)力
沒有實(shí)力的包裝那是空中樓閣,只能靠每天日常搞外包的忽悠架構(gòu)大數(shù)據(jù)云計(jì)算過活,明眼人也能看出來,所以純屬作秀,沒有意義。
在某個(gè)領(lǐng)域(編譯器、虛擬機(jī)、開發(fā)架構(gòu)、前端。。。)成為專家(專家的定義嘛,,我的理解是能在簡歷里寫精通)后,包裝的實(shí)力就算具備了。
包裝的第二步是定位
提到美國會(huì)有一大堆人跳出來說是人類的希望民主的大救星,提到google就是最純的技術(shù)公司不作惡、軟件業(yè)的翹楚開發(fā)界的標(biāo)桿、心美人美白蓮花。。。哪怕你列舉google賣假藥、惡意打壓yelp、挾持web標(biāo)準(zhǔn)等等等等這些事,他們也會(huì)說百度更差(咦這不5角錢常用的語句嗎怎么被民主進(jìn)步人士盜取了?。。。),可我根本沒提到百度好嗎。。。
這全是包裝造成的,所以包裝的巨大威力,以此可窺之。
google是搜索引擎,百度難道也說自己是搜索引擎?不,百度說自己是最懂中文的搜索引擎。。。哈哈哈,你別笑,這的確很管用,就像google說自己不作惡是好女孩一樣。
程序員的包裝定位,無非稀缺和獨(dú)特這兩點(diǎn)。物以稀為貴,稀缺就是要做到不可替代,這很好理解,比如你知道世界第一高峰是珠穆朗瑪峰,如果沒看過禪師精選集你很難知道第二高峰是喬戈里峰,但文青特別偏好乞力馬扎羅山,不爬不跟你結(jié)婚,為啥?獨(dú)特性嘛。。。我不跟你比高,我和你比文化底蘊(yùn),于是就贏了。
由于你有實(shí)力,所以你應(yīng)該盡量把自己的實(shí)力包裝成稀缺屬性,你是專家嘛。。然后你實(shí)力多,應(yīng)該把獨(dú)特的實(shí)力包裝出來,避免和他人共同曝光,以免被人壓在身下。
我說一個(gè)我朋友包裝自己的故事,他進(jìn)公司接手了一個(gè)項(xiàng)目,已經(jīng)是被隔壁組開發(fā)了3,4個(gè)月的一個(gè)軟件,其實(shí)這軟件2個(gè)月也能做好的,但是隔壁人忙而且也不上心,不熟悉這個(gè)技術(shù),加上又不是自己的老板,所以做事拖沓了那么久才做好。他接手后一刻沒閑,晚上帶回家也做,做到半夜,10天做成,然后整個(gè)公司的人都知道他的名字了,他也就立穩(wěn)腳跟了。
這個(gè)包裝的主題是,技術(shù)實(shí)力強(qiáng),開發(fā)速度快。
包裝的第三步是推廣
推廣就是讓人知道你做得好,強(qiáng)化你的個(gè)人品牌,可以用博客、知乎、mailing-list、github等,通過寫文章、參加線下聚會(huì)演講、回答問題、幫助他人等方法。這個(gè)用好了是門學(xué)問,用不好就是裝逼,不展開了。。。
記住不要匿名,匿名你基本啥也得不到
有人明明技術(shù)實(shí)力強(qiáng),但是由于沒有包裝好,或被埋沒了才能,或被貼上了各種不應(yīng)該有的標(biāo)簽,或被人偏見看待。比如 趙劼 的c#和 vczh 的微軟標(biāo)簽
有人明明實(shí)力一般,但是善于鼓動(dòng)小白,包裝得好,所以有一批忠實(shí)粉絲,這種人我都不太敢說名字了,呵呵。。
所以優(yōu)秀的程序員應(yīng)該善用包裝啊
+++結(jié)尾的分割線+++
上面說了那么多,但是堅(jiān)持做來需要不少推動(dòng)力,有人能考上清華,但是也能在大學(xué)墮落,有人能取得成績,但是也會(huì)固步自封。。
要想優(yōu)秀,得有巨大的推動(dòng)力,你為啥想成為優(yōu)秀的程序員?你的推動(dòng)力是什么?
好比,我們說,嫖娼是有巨大道德壓力、金錢壓力和風(fēng)險(xiǎn)的事情,為啥知乎上那么多嫖客樂此不疲并努力給自己洗腦合理化這件事呢?因?yàn)樵谒麄兊难壑墟捂绞亲钣腥さ氖虑?、是不吃飯不睡覺也不能不做的事情、是不做就活著沒勁的事,有了這種死也要死在床上的精神,還怕什么呢?
這就是推動(dòng)力
哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無需額外費(fèi)用,即可穩(wěn)步提升排名至首頁。歡迎體驗(yàn)最佳的哈爾濱網(wǎng)站建設(shè)。
