30 歲才開始學習編程靠譜嗎?

我是做量化交易的~實際交易當中需要交易員的經驗、金融、數學跟編程知識~但是我的編程僅限於在第三方軟體上寫寫而已~但是頂級的量化交易必須是自己開發軟體的~

我把我的問題分為兩塊~

1 都說搞IT的程序員30歲是一個坎~如果不能轉型會沒後勁~你們說腦力勞動者是不是也跟NBA球星一樣~到了30多就過了巔峰期開始走下坡路了?

2 我學編程僅限於給自己編交易軟體~自己用~也不是要寫個什麼war3出來~只專註於編寫一類軟體~這樣的話應該不會出現那種程序員因為學習能力下降無法更新知識而出現的瓶頸吧?

3 自學C# C++之類用現成的API做出自己的交易軟體大概需要多久?

相關問題:26 歲開始學編程晚了嗎?


種一棵樹最好的時間是十年前,其次是現在。


(各位朋友,如果喜歡,就記下這句話,但希望不用再點同意了哈哈哈哈,灬?ω?灬)


忍不住回來插一句:

忘記我下面推薦的某度傳課吧,慕課網才是線上學習編程的好地方!

已然躋身腦殘粉

----------------------------------------------------------------------

不請自來,現身說法。

女,今年30,現役建築師第五年,沒有任何計算機語言基礎,純自學ios編程,學加編兩個月後,用純代碼方式製作完成並上傳第一個app,前幾天已經在app store上架。

有興趣細聽的就接著往下看嘞。
-------------------------------------------------------------------------------------------------------------------------------------
對於編程這一行,我的底子是這樣的:

本科和研究生均是建築專業,每天就是畫圖。
上學的時候計算機語言不要求必修,就都沒上過。
我係數學是跟日語系一起學的,難度呵呵。經過多年建築實踐,算加減乘除都費勁。
對計算機從來沒感過興趣。
電腦對我來說的作用,就是上班時畫cad,下班後看電視劇。
不玩電腦遊戲。(提這麼一句是因為總覺得遊戲玩得好的人都是電腦大拿+_+)

就這種底子,你以為最開始我心裡有底么?

不過,好歹高中畢業之後我還是會一點英語的嘛。
而且,好歹高中的時候我理科也學得還可以嘛。
所以你猜怎麼著,

我就是覺得我能行。
-------------------------------------------------------------------------------------------------------------------------------------
我說的「兩個月」學加編,具體來說是這樣的:

準備工作:西單買個mac mini(因為蘋果主機里就這個便宜囧rz),京東買參考書,上網找視頻;

第一個月:(其實不到,三周多點吧)看書,看教學視頻。
這個時候我還在準備一個考試,算是邊角料時間看的。每天吃飯的時候拿著pad,睡覺前拿著pad,差不多一個月,C語言和objectiveC語言的東西大概看過一遍了。看教學視頻更好,後面會細說。

第二個月:(五周多)一邊寫代碼,一邊查,一邊學。
之前準備的考試結束了!我就把時間都扔進代碼裡面了。
不過沒有早起貪黑(30歲的身體容易累=_=),周末也照玩。到最後年根前面,想趁過年回家之前把這個了解掉,有一周干到比較晚。

其實我這個app是建築規範查詢類型的,就是把常用的規範那幾條都摘出來,比較費時,準備文本資料單獨費了一個月的時間。不過和編程的過程沒關係,就沒算在那兩個月里。

恩,就這些時間。
-------------------------------------------------------------------------------------------------------------------------------------
對於同樣想完全自學編程的同志們,我的血淚經驗是這樣的:

1、看教學視頻比看書快。
我最開始是看書自學的。可是書的內容難度一加深起來,催眠效果也倍增╮(╯﹏╰)╭
於是開始找網上視頻看。深感看視頻效果好。
一是有人講,沒那麼容易走神發困;
二是看著方便,吃飯的時候也不怕臟不愁翻頁;
三是容易控制進度,方便定學習計劃;
四是容易理解。書上沒法翻來覆去說一件事好幾次,視頻就可以。說一次,就這老腦子,哪記得住啊。

ios兩條路,OC或者swift,我選的是OC。因為聽說用的人多些,那遇到問題網上搜到的答案也會多些吧╮(╯▽╰)╭
網上查說,要用OC編程,就得先學C語言,再學Objective C,最後學UI開發實踐,三步。

C語言我看的視頻是這個:
http://www.iqiyi.com/a_19rrhb8jgl.html
推薦!
我贏職場的這位老師是姓周嗎?沒聽他自我介紹過。
這位操著一口東北鄉音的老師,真的講得清楚明白,零基礎也能懂。

不過到了OC,發現愛奇藝上視頻不全T^T
別的網也沒搜到,就改別的教程了。
我選的是百度傳課上的這個:
扣丁學堂 _老郭_iOS開發培訓課程
說實話,並沒有那位東北老師那麼清楚明白……
不過夠全,且免費,也差不多能聽懂,要啥自行車啊。

好處是這位郭老師的第三階段UI開發實踐課很好:
扣丁學堂 _老郭_iOS開發培訓課程
特全,且都是用故事板和代碼兩種形式來演示,後期我都是把這套視頻當工具書使的。好用。
真心感謝各位提供網上教學視頻的老師!你們是最可愛的人!

2、然而書,還是必須買的。
為什麼?查著方便,有什麼忘了複習也方便。
雖然編程的書都好貴/(ㄒoㄒ)/~~

C語言我買的是這本:C語言從入門到精通 (豆瓣)

挺好的。稱職的掃盲教程和工具書。

不過ObjectiveC我買的就很坑爹了……
以前買啥都是京東搜銷量最高沒出過啥錯啊……
可是這本ObjectiveC基礎教程(第2版)

我真的很很很很不稀飯啊。
看銷量常年第一……評論里好評如潮……我猜大概是我底子太差的問題吧……
也許有別的編程語言基礎的人確實會覺得這書不錯?
可我全程都不曉得作者在搞毛……
只感覺他在說:看爺牛逼吧!看爺的例子牛逼吧!看爺的代碼牛逼吧!
理解難度大概相當於,當年日語剛考過二級的我,興沖衝下了半澤直樹的生肉來看……
呵呵……
而且就連當工具書隨便查個東西都做不到啊!編目錄的時候能別那麼裝嗎我摔!
還挺貴!還我50塊!
總之我現在仍未找到合適的OC工具書╮(╯_╰)╭

UI開發我買的是關東升老師的這本:

對於獨立開發者如我,推薦。
雖然裡面代碼的例子偶爾用了些過於高深的做法(比如admob能不用什麼橋文件么關老師T^T)
但是整個開發流程的演示,極好。
比方說,代碼寫差不多了,接下來還有好些工序呢。測評,插廣告,打包封裝,上傳,申請,這書里交代的很詳細,比網上找各種教程拼湊到一起再瞎蒙靠譜太多了。就憑這,這書買得值。

最後要注意的是,對於ios編程,買書就盡量買最新的。
我還去圖書館查過某本書,抄了某個語句寫法,回來一試不靈。原來這程序沒事就升個級,一升級原來的不少語句就不好使了o(╯□╰)o

3、還要記住,對於ios開發的完全生手如我者:
不要用故事板!
不要用故事板!
不要用故事板!

說起來,故事板確實看起來很親切。
當時費勁千辛萬苦終於把xcode下載了,打開一看,到處都是洋文,心裡那個虛。
直到打開故事板,眼前一亮,這特么不就是photoshop嗎!
天天畫圖ps我熟啊!
旁邊的button不就是按鈕嗎!直接拖動到屏幕上,雙擊就能改標題,這不就是高級版的ps嗎!
就這麼,故事板曾經給了我莫大的自信↖(^ω^)↗

然而到真開始寫代碼練手,用故事板就越來越發現吃力了。
原因在於,故事板不能單獨生效,還是得配著代碼。
這就是兩個糾纏的系統一起使力。
然而故事板,是一個黑箱。
完全初學者如我,是應付不了這麼複雜的局面的。
故事板就像一個很有能力卻沉默的助手,你吩咐他事情,他就去做,但是你不曉得他怎麼做的。更麻煩的是,萬一你想稍微改改做法,不曉得怎麼告訴他;萬一你忘記了告訴他一個步驟,整個事就辦不成,卻無從查起。
寫了幾天,故事板給我帶來的麻煩和困惑險些讓我徹底放棄。
直到我決定用純代碼,學習進度才開始突飛猛進。
對於完全生手,純代碼反而是簡單的。
起碼得知道自己每個動作是在幹嘛啊。

當然也是因為,我的app有240個頁面呵呵呵……
沒辦法,我想把常用規範收全一點嘛……
想想我居然曾經決定在故事板里放上240個頁面,也是醉了……
作為初生牛犢……相當虎啊。
-------------------------------------------------------------------------------------------------------------------------------------
至於我為什麼要花這麼長的時間學編程做軟體?
很簡單,因為我記性不好。

我們建築師,想把方案實現,是要受各種建築規範限制的。
房間該開幾個門向哪裡開,樓梯數量夠不夠距離會不會太遠,電梯廳得多大,面積怎麼算……每一步都有規範卡著。
可我記不住。

當然,我手上也是有各種規範的。紙版規範單位都有幾套,電子版也有偉大的眾智給總結收集好了。
當然,我也不是不看這些規範,我知道怎麼查,也查過N多次。好歹畫過幾套施工圖了,註冊知識題也都過了。
可我就是記不住。
隨看隨忘,下次重新查。

問題就在於,建築規範這東西,每次查起來,都非常麻煩。
規範並不是只有一本,而是幾十本。
即使在一本規範里,關於一個問題,也未必只寫了一條,可能是兩三條。
更缺德的是,這兩三條,可能還分布在隔很遠的章節。
於是,每次查一個小東西,都得看著幾十個規範名稱猜,哪幾本才有這個內容?
拿出那幾本之後再翻目錄,再猜這個內容可能會在哪裡?
然後分別翻遍這幾章,才終於算是找完了。
祈禱這內容沒在沒查到的地方藏匿著。

就是因為查規範太複雜,建築師們通常都有很好的記性。
記住了,就省得再查。
可是對於一個記性很差的人如我,臣妾就是做不到啊!
勉強記住也不敢信啊!真的沒記錯?

作為一名已經畫圖5年的建築師,什麼都記不住好丟人的。
新人小朋友隨口一問規範,我啥都答不出。
好丟人。
更丟人的是,身邊其他同事們都記得挺清楚。
規範記得熟的同事會眉飛色舞給小朋友講解:防火分區面積很簡單,有什麼記不住的?就這五六七八種情況嘛……
然後小朋友們一定都在心裡默默翻我白眼吧……

丟人歸丟人,可我心底其實一直有個想法:
我為什麼非得記住?
計算器都發明了,還有必要學速算嗎?
這都什麼年代了,還非得用人腦來記東西嗎?

所以我偷偷弄了個筆記,想把常用的規範條文都摘出來,什麼疏散距離,防火間距之類的,省得下次重新查。
摘出來之後發現,規範的文字還是讀起來太冗長太費勁了。
如果查找一個結果的時候,前面的判定條件能搞成選項的話,跟著選項一步一步走,無關的內容我就都不用讀了,那多輕鬆。
於是我開始打excel的主意。我用excel做過下拉菜單,也會弄點簡單函數,前面選項一變,後面結果就跟著變了。
可是我用防火分區面積試驗的時候,發現excel函數的嵌套是有次數限制的。連防火分區面積都罩不住,疏散距離啥的更白扯了。
excel的函數不靠譜,還有什麼軟體可以用?

就這麼,我想到了一個點子:
我幹嘛不幹脆自己寫個軟體?
然後,我就寫出來了。
-------------------------------------------------------------------------------------------------------------------------------------
為什麼不請別人寫?
因為窮啊!
為什麼不請別人教?
因為窮啊!

程序猿工資可比我們建築狗高多了。
而且作為準留學狗一名,馬上進入漫長的零收入高消費期,一分錢都恨不得摔八瓣花,哪裡有這個膽。
再說,我也並不期待這個程序能賺幾個錢,一開始就打算搞免費的。不賺錢也別一上來就先賠一大筆吧。

雖然常常覺得,身邊沒有一個師傅的感覺,還是太無助了……
遇到問題就找書,找教學視頻,找網上。基本上很少一次查詢搞定,都得查十來次,根據大家的意見,摸著石頭過河……
最久被一個問題卡過三整天,一個特別小特別初級的問題。某天起床一睜眼突然就想到辦法,改了幾個詞,就解決了。
回頭一看,全都很簡單。可當時就是繞不出來。
好想認識個師傅啊……

在這裡我要衷心感謝在博客和論壇等地方踴躍分享自己經驗的前輩們。
我太愛你們了!太愛太愛了!
沒有這麼多網上的經驗,我根本不可能把代碼寫出來!
-------------------------------------------------------------------------------------------------------------------------------------
必須說一句,能把代碼倆月寫出來,首要原因,還是因為我的軟體訴求很簡單。
非常簡單。
我不就是要一個升級版的excel嗎,又不是想做一個紀念碑谷。
所以倆月也就夠了。要是做個再複雜點的東西,八成搞不定吧。

最開始我曾經想著就用label和button兩個功能搞定所有。誰叫這倆功能最簡單……
不過到了最後,textview、table、picker、segment、protocol之類教學視頻里教的功能,也差不多使全了……
誰叫我也是一枚對知識慾壑難填的鋁紙吼吼。
雖然都是每種功能的最簡單用法╮(╯▽╰)╭
-------------------------------------------------------------------------------------------------------------------------------------
回到問題,30歲開始學習編程,有什麼不靠譜的?
就算40歲,50歲,60歲,在什麼年紀開始,都沒什麼不靠譜的。
我的記憶力可能是比十來歲的時候衰退了不少……
不過我並沒感到我的學習能力比起十來歲有什麼衰退。倒覺得見識多了,理解力還更強了。
所以我不覺得任何年齡應該被設定成學習的死線。

不過要是學習編程準備轉行,就是另一個問題了。
我算是自己寫了一個軟體出來了。可是我很清楚,我的那些操作,充其量是照貓畫虎。
我並不清楚這些語言後面的運行邏輯。我也只熟這一種語言。
放在招聘市場上,我目前的勞動能力,大概相當於初中肄業去技校學編程仨月出師的那種吧……
話說回來,要是哪天建築圈真的沒有我的地方了,去像技校速成剛畢業的孩子一樣實習程序員,我也還是有自信的。和科班出身的孩子比必然還落著一截,上班狂加班下班狂補習兩三年的話,工作上面對一些小活,大概也能大差不差?
但對於究竟要不要快40了還跟嘴上沒毛的新畢業生們一起打雜?
快退休了可能還只是一個麻麻的水準?
這就不再是一個學習本身的問題,而是一個時間投資和自尊的問題了。

題主說的量化交易是啥,我 不 懂╮(╯▽╰)╭
我想說的是,如果不是特別緊迫,何妨自己先學學試試?
想做很厲害的話當然還是要人教了。
但是如果只是想做個東西出來,解決自己的問題,也許這事沒那麼難。
學習可不是非得痛下血本才有效果的事情。
找點業餘時間,定個小計劃,先買點入門書,看看教學視頻,再上手練練,找人請教請教,也許就ok了呢?
反正作為一名天資平平的普通女性,我的問題就這麼解決了。

何況,學東西這件事本身是很讓人開心的。
再說,不學東西,那些時間不也刷手機刷掉了,看電視劇看掉了?
生而為人,每次浪費時間的時候總能感到,就算我過著豬一樣的生活,也沒法像豬一樣快樂……
空虛無法使人真正快樂是人的原罪啊。
現在,我很高興我花了這兩個月,認識了一門新語言。他很有趣,也很強大。
我感到認識他讓我的人生多了好多可能。就算將來我未必要做程序員,我還是非常期待了解他更多。我們未來還有很多很多兩個月,想想就有點小激動呢~
這種經歷,真的不想試試嗎?
-------------------------------------------------------------------------------------------------------------------------------------
最後當然是放我自己的這個軟體出來給大夥看看了。

網址:https://appsto.re/cn/q8MAab.i
或掃碼:

https://itunes.apple.com/cn/app/jian-zhu-su-suan-qi/id1080717072?l=enmt=8 (二維碼自動識別)


其實這篇寫這麼多,也是想順便當官博的介紹:-P
對於用著蘋果手機的搞建築的同行們,我真心覺得我這個還挺好用。
因為我就是寫給自己平時用的啊。
反正不要錢,下來試試唄~使用也很流暢,因為我啥多餘功能都還不會加呢ㄟ( ▔, ▔ )ㄏ
你們多用的話,我還能掙倆廣告錢(′?`??)
當然歡迎拍磚!板磚就是愛!

——————————————————————————————


衷心感謝大家的支持!經過反饋和再次自查,糾正了幾處文本錯誤,增補了一些新項,請大家去app store及時更新到最新版本1.1版啊!


工業建築相關的還沒來得及補充,再等等我……這次急著更新是要改錯……肥腸抱歉啊。之前關注點都在debug上了,這次文本又全都檢查修改了一遍,務必更新一下免得查到錯誤信息啊。

還有,之前的1.0版本里,消防疏散距離雖然沒文本錯誤,但是包含的情況不全,少了噴淋和開放樓梯間、敞廊同時存在的情況,1.1版本已補全。

另外,增加了常用圖紙列印尺寸,還有規劃用一般代碼,是我這兩天新想到的。

以後同志們有新的想法或者發現新的問題,還是要積極反饋啊!去微博或者公眾號或者知乎都行,我都叫建築速算器。

發現錯誤我都會立即更新的。爭取把這個親生的大兒培養成更靠譜的對祖國對人民有用的孩紙?(???)?


我是從程序員轉到量化交易的。試著答答這個問題。

========== 先回答題主的三個子問題 ==========

1. 關於30歲是個坎這事,現在其實並不是太成立了。國內IT業從無到有,開始做的是當然都是技術含量不高的工作,俗稱體力活。這些事1、2年經驗的程序員跟10、20年經驗的程序員都能做。拼的不是技術而是速度。過了30歲精力下降,當然拼不過天天加班還能活蹦亂跳的年輕人了。所以大都選擇往管理職業上轉。但現在國內的狀況已經有很大改觀了。不過總的來說,這事兒跟題主關係不大,就此打住,不多說了。反正題主學編程是自用,也不是要在IT業混飯吃嘛。

2. 首先並不同意30歲以後學習能力下降的說法。只要你的經驗是實在的經驗,而不是單純熬出來的「資歷」,它們就是很大的優勢——閱歷,眼光,全局觀,洞察力,觸類旁通……交易軟體總得來說涉及的知識面不是太廣,但如果你的目標是「頂級的量化交易軟體」的話,涉及的深度會很深。對新手來說,這個難度更大。

3. 要做出一個交易軟體很快。網上就有無數的示例,以及開源庫。如果你有足夠C#/C++的知識,一周時間也就能搭一個出來了。但質量就……要做到自己覺得夠用好用,甚至「頂級的量化交易軟體」需要多長時間,這個實在是沒法估計。

========== 關於問題本身 ==========
既然題主已經不滿足於在第三方軟體中寫程序做一個平平的量化交易者,而是以"頂級的量化交易"為目標,那麼我的建議是」不要自己學編程「。要做到頂級的事,你需要頂級的人。你的團隊在交易,數學,編程,這三個方面的技能都要是頂級或者有希望在可預見的某一天成為頂級吧。單就編程這個方面而言,題主半路出家想達到頂級,可以想像會多困難,需要花多少精力,多長周期。這本身就是一筆成本及高,風險及大的投資啊。不如去找個NB的程序員,談一個合理的股份,合夥做這事。讓專業的人做專業的事,發揮每個人的優勢。


生物坑博士畢業找不到工作,30歲懷著孕重新考GRE申請了CS master,生完孩子四個禮拜開始上課,一年半以後畢業拿到谷歌offer。我覺得人有多大膽,地有多大產,只要努力沒有不行的!


三十而立,幾千年前的一句話,早就不適應今天這種瞬息萬變的時代了,想開點,三十隻是一個很普通的年齡,沒必要給他這樣那樣特殊的,甚至是沉重的定義


不灌雞湯,前提是:1.你的自學能力如何,是否一直有自學的習慣和定力;2. 你的時間有多少,是否在工作和家庭之外已經沒有什麼個人時間;3. 你的電腦基礎知識如何(既然第三方軟體上能寫寫東西,暫且認為還不錯);
如果滿足這三點,歡迎加入我們碼農行業!五年十年必有小成。


我對程序員的定義是「喜愛研究說明書並積極嘗試每一種功能的用戶中水平最高的那一類,其中能超越說明書使用產品的叫做黑客(Hacker)」

所以你看,能不能當程序員是個性格問題,有這個性格的人很小的時候早就走上這條路了。要是到了30歲再考慮轉程序員,說明你的性格就不是「愛研究說明書」的那一類


這個問題也可以引申到30+歲創業晚不晚,轉行做一些熱門行業晚不晚,說白了就是想一夜成名,一夜發財的可能性。梅西說過我花了16年的訓練才「一夜成名」。

現在氛圍偏浮躁,急功近利,很多人認為年輕就創業成功或者稱為大牛是常態,推薦大家看看quora上面的回答,矽谷的人35歲之後怎麼辦? https://www.quora.com/What-do-people-in-Silicon-Valley-plan-to-do-once-they-are-over-35 以正三觀。

可以舉一些30+以上創業的例子

  • Sandra Lerner, cofounded Cisco at age 29, founded Urban Decay Cosmetics at 40
  • Rashmi Sinha, founded Slideshare at 37
  • Caterina Fake, cofounder of Hunch and Founder Collective, founder of Findery, became board member at Creative Commons, at 35+
  • Robin Chase, founded Zipcar at 42, Buzzcar at 52, Veniam at 53
  • Mitchell Baker, founded Mozilla at 35+
  • Helen Greiner, founded iRobot at 23, CyPhy Works at 41
  • Linda Avey, cofounded 23andMe at 46, cofounded Curious at 51
  • Janet Kraus, founded Circles at 28, Spire at 40, CEO of Peach at 47
  • Jules Piere, founded The Grommet at 48, a product platform that launched FitBit and SodaStream
  • Jean Hammond, cofounded AXON Networks at 41, Quarry Technologies at 48, now cofounder of LearnLaunch and LearnLaunchX
  • Lisa Gansky, cofounded GNN at 34, cofounded Ofoto at 39, founded Mesh Ventures and Mesh Labs at 51
  • Katie Rae, founded TechStars Boston at 42
  • Sukhinder Singh Cassidy, founder of JOYUS at 35+, formerly President of Google APAC and LatAm
  • Mariam Naficy, founder of http://Eve.com at 28, founder of Minted at 37

Netflix CEO Reed:

Well, started Netflix DVD rental when I was 37...and first streaming when I was 47...so maybe not too bad after 35 except that all-nighters are definitely harder.

某老年創業家

I started my career as a computer programmer and first became an entrepreneur when I was 33. Started my second company at 40. Became an academic at 45. Today, at 56, I feel more creative, innovative, and productive than ever. The people who say you are over the hill at 35 are misguided.

37歲搬到矽谷成為Netflix員工

When I was 37 I decided I wanted to move to the Silicon Valley after some years in academia and industry research. At that point I was doing research in a large telecom company in Spain. Good that I did not hear about people not making it after 35 in the Valley! I interviewed with a few tech companies and got offers from several. I ended up deciding to join Netflix.

Wiki創始人

I turned 35 the year I founded Wikipedia. 38 the year I founded Wikia (now ranked #30, quantcast).

Craigslist創始人

Well, I started craigslist when I was 42...

Google早年工程師,43歲創業

At 37 I joined Google, designed Gmail pictures (how you see who the email came from) and co-founded the AJAX APIs group, which is now part of the much heralded Developers Program.
At 41 I joined VMware and designed and built CloudFoundry, an Open PaaS.
At 43 I started my own company, Apcera.

55歲去Google做工程師

I joined Google』s software engineering team in 2001 when I was 55 years old. That』s right, I said fifty-five, as in five five. I was the oldest employee at Google for the entire four years I was there.

What did I do? I was not an executive… and I was not a manager… I was simply a software engineer working alongside all my dear colleagues whose median age was probably 25 years younger than I was. My age never seemed to be an issue with anyone. I felt like I was just another member of the team and I felt I was accepted that same way.

40歲沒見到電腦長啥樣,41開始開電腦公司

I was nearly 40 before I ever saw a computer.
I was 41 when I started my first computer company doing computer animation in 1971.

I was 26 before I ever saw a TV set.
I was 28 when I wrote my first TV commercial.

有段話還是挺有啟發的,就翻譯過來

The question implies a fixed mindset, rather than a growth mindset. A "fixed mindset" assumes that you believe that your intelligence, your talent, your personality are fixed. A "growth mindset" assumes that you can develop ability through hard work and dedication. Stanford psychologist Carol Dweck has done a lot of work examining this in her work on achievement and success...

這個問題是暗藏著僵化心智模式和成長心智的比較。僵化心智是說你的智力,天賦和個性都是天生固定了。而成長的心智說你能夠通過勤奮工作和投入去開發你的才能。

在20多歲時候,我的世界觀是僵化模式,其實一點都不快樂。而從另一個角度看我過的也不差,在創業公司工作,有過一些成績和舒適的地方。但也時常看到周圍年輕人有這閃光工作,豪車,過著性感人生。而自己在過去10年中最大收穫是把價值觀從固化轉化為成長模式。

成長模式是集中在技能獲取和學習力上,我意識到在我學習時最快樂。我也顧不上摔的很慘或者看上去很醜。這是一種自由。當我集中注意力在如何做好一件事而不是看上去很優雅的時候,所有一切都改變了。你想與比自己更優秀的人合作這樣能學到更多,你想更多的前進而不是回報。你也不大會在意開特斯拉的車或者Los Altos的豪宅。也許你也能得到它們,但不是第一驅動力。

在幾年前有時候我經濟上也很窘迫,但我開心,健康,生活有料啊。我喜歡努力工作,和我喜歡的人一起。我熱愛學習,也跟每個人一樣有跌宕起伏的日子,但總體上,事情是往上走,那麼下面的30年生涯至少比之前的14年會很有趣。

有些成功企業家總會拿一些數據來驗證觀點和突出特別的例子,比如說「在你沒有在35歲做到一定高度,你的矽谷生涯就終止了」,其實我也不認同,只有你到35歲時候才能明白到這句話是否正確。

記住:工作比樂趣本身更有樂趣。


靠譜。

1. 不是。

2. 管你寫什麼東西,要學的基礎是一樣的。

3. 如果你覺得C#還不夠好用,可以用Excel 2016。

就是這樣。


國內讀二本 18
兩年後出國 重讀 20
兩年半社區大學22
一年半柏克萊 23-24
休學一年 25
重讀兩年 27
為個本科學位 我讀了快9年
懶得雞湯
自己看著辦


從這個問題的各種回答就可以看到,很多沒用的頂在上面,很多說的很好的被反對沉到了最下面。

-----------------------

作為一個同樣是從事量化交易,同樣是computer science會一點點又遠遠比不上碼農的人,談幾點自己的體會。

1,考慮自己的機會成本。
我非常贊同學習是個一生的事情,而年齡根本不是什麼障礙。但是考慮到你的具體問題,不光要考慮收益也要考慮成本。
比起碼農數年的教育苦不堪言的大量作業(但是對提高硬實力是必須的),很有可能你花費了大量時間只能到達一個馬馬虎虎的水平(何況一個人自學是事倍功半)

2。軟體開發是個越來越複雜的事情。對於純IT未必一兩個人就能弄完,何況你是半路出家?況且,更重要的是debug.這不是一般的app,有bug過兩天出個新版本就可以了。這是要拿來交易的,這麼重要的debug怎麼能交給非專業人士?後果參見knight Capital

3. 利用你的比較優勢。
你的比較優勢就是你的模型分析,市場感覺,新想法轉化成model的能力。不要把時間耗費在代碼上。

從原問題看,作者有第三方軟體運行模型的經驗。不知道想提高哪一方面而重新寫一個軟體,安全性?速度?更加舒適的介面?

不管從哪個方面,這都不是交易的核心(HFT除外),因為好的策略是最重要的。就是你賺錢與否不取決於你在哪裡開戶。

所以一個建議就是,和第二名的答案一致,找一個技術和信任都夠硬的做合伙人。最初我覺得招一個人就可以,不過後來想到安全性也很重要,最好還是招一個IT合伙人,讓他帶一個小團隊足以。你把精力集中到你擅長的領域。

手機碼字思維混亂,見諒。


不怕苦不怕累,啥時候開始都不遲,贊同的點贊。


其實世界上有很多事情是童子功,年齡大了如果突然來了興趣自然是可以學,說不定也能學得不錯,但是要想有很高的造詣,平均來說概率會小很多,或者要花多很多的代價和時間。不過這類事情一般是一些對生理機能有要求的,比如成年人學彈琴啊,識譜啥的練熟練不是問題,樂理一講就懂,但是手指靈活度就是不行(不是音樂專業的,說錯了請指正)。對這類事情,種一棵樹只有最好的時候,其他時候都是糟糕的(除非對自己沒要求)。

但如果只是對思維能力有要求的,只要功夫下得夠能力就可以得到提升。窩覺得編程是實打實的花時間,以及該動腦筋的時候動腦筋。記得以前看一門演算法導論的公開課,那個老師就說成為高手,就天天編程編兩年,如果你想成為世界級的(原話是這樣嗎?)就天天編程編十年,或者編兩年+學習演算法課。。233 窩雖然不是專門寫代碼的,但是很多 CS 行業的朋友也確實認為 CS 就是花時間和動腦筋最重要,並不存在「童子功」。如果有的年輕的程序員顯出極高的天賦,也是因為時間花的夠+聰明(功夫下得多)。

以及「學習能力下降」我是很少聽說的,倒是有記憶力下降,不過 30 歲還不至於吧。只是有很多人學煩了變懶了而已。


當你覺得為時已晚的時候,恰恰是最早的時候


十年學會編程

著者: Peter Norvig

翻譯: Dai Yuwen


為何人人都這麼著急?信步走進任何一家書店,你會看到名為《如何在7天內學會Java》的書,還有各 種各樣類似的書: 在幾天內或幾小時內學會Visual Basic, Windows, Internet等等,一眼望不到 盡頭。我在Amazon 上做了如下的 強力檢索 :

pubdate: after 1992 and title: days and(title: learn or title: teach yourself)

得到了248個結果。前78個都是計算機類書籍(第79個是 Learn Bengali in 30 days)。我用"hours"替換"days",得到了類似的結果: 更多的253書。前77本是計算機類書籍,第78本是 Teach Yourself Grammar and Style in 24 Hours。在前200本書中,有96% 是 計算機類書籍。

結論是:要麼人們都在急急忙忙地學習計算機,要麼計算機比其它任何東西都 容易學。沒有書籍教你在幾天內學會古典音樂、量子物理,或者是養狗。

讓我們分析一下,象一本名為《三天內學會Pascal》的書意味著什麼:

  • 學習: 在三天里,你沒有時間寫一些重大的程序,並從成功或失敗中 得益。你沒有時間與有經驗的程序員合作,並理解在那樣的環境下工作是怎麼回 事。一句話,你不會有時間學到太多東西。因此他們只能談論一些膚淺的東西,而 不是深入的理解。正如亞力山大教皇所說,淺嘗輒止是危險的事情。
  • Pascal: 在三天時間裡,你可能學會Pascal的語法(如果你 已經學過類似的語言),但你學不到更多的如何使用這些語法的知識。也就是說, 假如你曾是個BASIC程序員,你可以學著用Pascal語法寫出BASIC風格的程序,但你不 可能了解Pascal真正的好處(和壞處)。那麼關鍵是什麼? Alan Perlis 說過:「一種不改變你編程的思維方式的語言,不值得去學。」 一種可 能的情況是:你必須學一點兒Pascal(或可能性更大的象Visual Basic 或 JavaScript之類),因為你為了完成某種特定的任務,需要與一個現存的工具建立 介面。不過那不是學習如何編程,而是在學習如何完成那個任務。
  • 三天內: 很不幸,這不夠,原因由下一節告訴我們。

在十年里學會編程研究表明 (Hayes,Bloom)在 任何一種領域內,象下棋、作曲、繪畫、鋼琴演奏、游泳、網球、以及原子物理學和拓 撲學,等等,要達到專家水平大約都要化十年時間。沒有真正的捷徑:即使是莫扎 特,4歲時就是音樂神童,13年後才開始寫出世界級的作品。在另一方面,披頭 士似乎在1964年的Ed Sullivan表演上一炮走紅。但他們從1957年就開始表演,在 獲得大眾青睞後,他們的第一個重大成功,Sgt. Peppers,是1967年發 行的。Samuel Johnson (塞繆爾·約翰遜,英國辭典編纂家及作家)認為要花比十年更長的時間:「在任何領域中出類拔萃都 要用畢生的勞作來取得;它不可能用較低的代價獲得。」 而Chaucer(喬叟,英 國詩人)感嘆到:「人生短暫,學海無涯。」

這是我為編程成功開出的方子:

  • 設法對編程感興趣,並且因為它有趣而編一些程序。確保編程一直充滿足夠 樂趣,這樣你才願意投入十年寶貴時間。
  • 與其他程序員交流; 閱讀其它程序。這比任何書本或訓練課程都 重要。
  • 寫程序。 最好的學習方式是 從實 踐中學習。 用更技術性的話說,「在一個給定的領域內,個人的最大能力不 是自動地由擴展了的經驗取得的,但即使是高度有經驗的人也可以通過有意識的 努力來提高自己的能力」 (p. 366) 和 「最有效的學習需要因人而異的適當難度,目標明確的任務,豐富的信息反 饋,以及重複的機會和錯誤修正。」 (p. 20-21) 此書 Cognition in Practice: Mind,Mathematics,and Culture in Everyday Life 是闡明此觀點的令人感興趣的參考文獻。
  • 如果願意,在大學裡呆上4年或更長(在研究生院里)。你會接觸到 一些需要學歷證明的工作,你會對此領域有更深的理解。如果你不喜歡學校, 你可以(通過一 些貢獻)在工作中獲得相似的經驗。在任何情況下,光啃書本是不夠的。Eric Raymond,The New Hacker"s Dictionary一書的作者,說過,「計算機科學不能把任何人變成編程 專家,就象光研究刷子和顏料不會使人變成畫家一樣。」 我僱傭過的最好的程序員 之一僅有高中程度;他做出了許多優秀的 軟體,有他自己的新聞組, 而且通過股票期權,他無疑比我富有的多。
  • 和其他程序員一起做項目。在其中的一些項目中作為最好的程序 員; 而在另一些項目中是最差的。當你是最好的,你能測試領導項目的能力,用你 的觀點激發別人。當你是最差的,你學習傑出者是怎麼做的,了解他們不喜歡做 什麼(因為他們吩咐你做事)。
  • 在其他程序員 之後接手項目。使自己理解別人寫的程序。 當程序的原作者不在的時候,研究什麼需要理解並且修改它。思考如何設計你的 程序以便後來者的維護。
  • 學習至少半打的編程語言。包括一種支持類抽象的語言(象Java 或C++),一種支持函數化抽象的語言(象Lisp或ML),一種支持語法抽象的語 言(象 Lisp),一種支持聲明規格說明的語言(象Prolog或C++ 的模板),一種支持 共行程序(coroutine)的語言(象Icon或Scheme),一種支持並行的語言(象Sisal)。
  • 請記住「計算機科學」中有「計算機」一詞。了解你的計算機要花多 長時間執行一條指令,從內存中取一個字(有cache),從磁碟中讀取連續的字, 和在磁碟中找到新的位置。(答案)
  • 參與一種語言標準化的工作。它可以是ANSI C++委員會, 也可以是決定你周圍小範圍內的編程風格是應該兩個還是四個空格縮進。通 過任何一種方式,你了解到其他人在某種語言中的想法,他們的理解深度,甚至一 些他們這樣想的原因。
  • 找到適當的理由儘快地從語言標準化的努力中脫身。

明白了這些,僅從書本中你能得到多少就成了一個問題。在我第一個孩子出生前, 我讀了所有的(關於育兒的)How to 書籍,仍然感覺是個手足無措的新手。30個月以後,我 的第二個孩子快要出生了,我回頭溫習這些書了嗎? 沒有。相反,我依靠我的個人 經驗,它比專家寫的數千頁書更有用和可靠。

Fred Brooks在他的隨筆 《沒有銀彈》 中定出了一個尋找優秀軟體設計者的三步計劃:

  1. 儘可能早地,有系統地識別頂級的設計人員。
  2. 為設計人員指派一位職業導師,負責他們技術方面的成長,仔細地為他們規劃 職業生涯。
  3. 為成長中的設計人員提供相互交流和學習的機會。

此計劃假設某些人已經具備了傑出設計者的必要才能; 要做的只是如何恰當地誘 導他們。 Alan Perlis 說得更簡明扼要:「每個人都能被教會雕刻:對米開朗其羅而言, 反倒是告訴他哪些事不要做。同樣的道理也適用於優秀的程序員。」

所以儘管買那本Java的書吧。你可能會從中學到點兒東西。但作為一個程序員,你不會在 幾天內或24小時內,哪怕是幾個月內改變你的人生,或你實際的水平。

參考文獻

Bloom, Benjamin (ed.) Developing Talent in Young People, Ballantine, 1985.

Brooks, Fred, No Silver Bullets, IEEE Computer, vol. 20, no. 4, 1987, p. 10-19.

Hayes, John R., Complete Problem Solver Lawrence Erlbaum, 1989.

Lave, Jean, Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life, Cambridge University Press, 1988.

答案2001年夏天典型的1GHz PC的各種操作要花的時間執行一條指令1 nsec = (1/1,000,000,000) sec從L1 cache memory 中取一個字2 nsec從內存中取一個字10 nsec從磁碟的連續位置取一個字200 nsec從磁碟的新位置取一個字(seek)8,000,000nsec = 8msec附錄:語言的選擇不少人問我,他們首先該學哪種編程語言。沒有絕對的答案,不過請考慮以下幾 點:

  • 用你的朋友的。當被問起「我該用哪種操作系統,Windows,Unix, 還是Mac?」,我總是回答:「你朋友用什麼,你就用什麼。」 你從朋友那能學 到知識,這種優勢可以抵銷不同操作系統或語言之間本質的差異。也考慮你將來 的朋友:程序員社區 — 你將成為它的一部分如果你繼續往前走的話。你選擇的 語言是否有一個成長中的社區,還是人數不多、即將消亡? 有沒有書籍、網站、 在線論壇回答你的問題? 你喜歡論壇里的那些人嗎?
  • Keep it simple, stupid. 象C++和Java這樣的語言是為經驗豐富的 程序員組成的團隊進行專業開發而設計的,他們專註於代碼運行時的效率。因此, 這些語言有些部分非常複雜。 而你關注的是如何編程,不需要那些複雜性。你 需要的是這樣的語言: 對單個的編程新手來說,它易學易記。
  • 練習。你偏愛哪種學彈鋼琴的方式:通常的互動式的方式,你一 按下琴鍵就能聽到音符;還是「批量」模式,你只有彈完整首曲子才能聽到音符? 顯然,用交互模式學習彈鋼琴更容易些,編程也一樣。堅持用交互模式學習並使 用一種語言。

有了上面的準則,我推薦的第一個編程語言是Python或Scheme。因人而異,還有其它 好的選擇。如果你的年紀是10歲以下,你可能更喜歡Alice。關鍵是你要選擇並開始實踐。

附錄:書籍和其它資源不少人問我,他們該從什麼書籍或網頁開始學起。我重申「僅從書本里學習是不 夠的。」 但我還是推薦:

  • Scheme: Structure and Interpretation of Computer Programs (Abelson Sussman)可能是最好 的計算機科學的入門書,而且它的確把講授編程作為理解計算機科學的一種方法。 但它具有挑戰性,會讓許多通過其它方式可能成功的人望而卻步。
  • Scheme: How to Design Programs (Felleisen et al.)是關於如何用一種優美的、函數化的方式設 計程序的最好的書之一。
  • Python: Python Programming: An Intro to CS (Zelle)是優秀的Python入門指導。
  • Python: Python.org上有許多在線指導。
  • Oz: Concepts, Techniques, and Models of Computer Programming (Van Roy Haridi) 被視為Abelson Sussman的當代繼承者。它是對編程的高層次概念的巡視。 涉及的範圍比Abelson Sussman更廣,同時可能更容易學習和跟進。 它用了叫 做Oz的語言,不太知名,卻可以作為學習其它語言的基礎。

腳註

This page also available in Japanese translation thanks to Yasushi Murakawa, in Spanish translation thanks to Carlos Rueda and in German translationthanks to Stefan Ram.

T. Capey points out that the Complete Problem Solver page on Amazon now has the "Teach Yourself Bengali in 21 days" and "Teach Yourself Grammar and Style" books under the "Customers who shopped for this item also shopped for these items" section. I guess that a large portion of the people who look at that book are coming from this page.

Peter Norvig(Copyright 2001)


個人感覺應該是數學模型搭建是重點。具體如何實現,應該先在第三方上應用下。如果不好用,找出痛點,再換平台。

搭建一個交易軟體本身不複雜,不過真正賺錢的,似乎還是交易手段or交易數學模型才對哦。


如果你覺得靠譜,那就真的靠譜;如果你覺得不靠譜,那就一點都不靠譜。
看愛情公寓有一幕,曾小賢在拋硬幣說了一句話,他說,拋硬幣不是因為他能做出正確的選擇,而是因為當他跑上天空的一瞬間,你會知道自己期待的結果。同樣,其實樓主心裡早就認定了自己的想法,提問,只是想聽更多的聲音,而多半是鼓勵的聲音。我相信,即使回答者反對的佔大數,樓主也還是會堅持自己的想法。很喜歡一句話,從世界的底端,一步一步慢慢往上爬,然後君臨天下。很多事情,貴在堅持,勝者為王,其實更多的是因為「剩者為王」


今天看到的教主的微博。


做高頻交易的話不靠譜,因為這種級別的數據量需要用C/C++(C#,java也能頂住但是多半會需要一些比較難的優化).
如果只用了5分鐘數據之類的學Python吧, 好學易用.軟體包又多.


我今年三十,入坑18年。每天都在學新知識(編程),靠不靠譜看的是你怎麼對待這件事。而不是年齡。


推薦閱讀:

2013 年 7 月的 Struts2 漏洞實際帶來多大影響?
為什麼寫程序的時候可以堅持很久,但是學習數學就很難保持注意力?
為什麼大多數中國高校不直接使用英文原版教材教學?
把代碼寫的太靈活不好嗎?為什麼會被上司批評?
當你學會了什麼之後感覺自己的編程算是入門了?

TAG:編程 | 職業規劃 |