個(gè)人技術(shù)生涯的感悟(2)
很多時(shí)候,一門門檻很低的編程語言對(duì)于初學(xué)者的幫助是非常大的,從而決定這個(gè)人的技術(shù)路線的選擇。
在經(jīng)歷過大一下學(xué)期對(duì)C,和C++的迷茫之后,在大二上學(xué)期,學(xué)校在搞一個(gè)網(wǎng)頁設(shè)計(jì)比賽,正好和兩個(gè)朋友一起參賽。開始接觸網(wǎng)頁設(shè)計(jì),學(xué)習(xí)html語言。
剛開始接觸html的時(shí)候,覺得這一門語言真神奇啊,寫幾行代碼,直接用瀏覽器打開,就可以看到效果了。對(duì)于學(xué)了一個(gè)學(xué)期的C和C++都沒有辦法脫離命令行程序的我,看到是如此的興奮,那一個(gè)月,無論上什么課,都是那一本html教程在哪里看,白天學(xué)語法和標(biāo)簽,晚上做demo。由于設(shè)計(jì)到動(dòng)態(tài)的腳本,又接觸了asp這一門語言,有了C的基礎(chǔ),學(xué)起來也非常快,倒是html反而學(xué)了有一段時(shí)間,主要是這一門語言并不是真正意義上的編程語言,只是用類似xml的標(biāo)簽來展現(xiàn)界面,而解釋html腳本的正是瀏覽器。
根據(jù)標(biāo)簽來生成界面技術(shù),在目前各個(gè)平臺(tái)都有蹤影,例如android里面通過xml文件進(jìn)行頁面的布局,在ios里面的通過加載xib文件進(jìn)行頁面展現(xiàn)。在VB里面,貌似用的是屬性文件格式例如:A=B,目前還有一些通過json格式來保存頁面信息。這些設(shè)計(jì)都是基于元數(shù)據(jù)編程,在《程序員修煉之道》里面有提到過,這個(gè)技術(shù)非常重要,用得好完全可以提高系統(tǒng)設(shè)計(jì)能力。
當(dāng)然了,以上只是現(xiàn)在感悟,那個(gè)時(shí)候那里只是知道html相當(dāng)神奇,能夠很快的做出原型界面,再加上asp動(dòng)態(tài)語言的幫助,在很短的時(shí)間內(nèi),也就是兩周,做出一個(gè)選課系統(tǒng),那個(gè)時(shí)候大受鼓舞,能夠在短短兩周之內(nèi),就做出一個(gè)可以用的網(wǎng)站來,已經(jīng)完全出乎無意料。不過現(xiàn)在想想,主要還是因?yàn)橛蠧語言做基礎(chǔ),大多數(shù)面向過程的語言都是命令式的,無非就是變量類型,條件語句,循環(huán)語句,數(shù)據(jù)結(jié)構(gòu) ,以及表達(dá)式。
最終,設(shè)計(jì)了一個(gè)學(xué)校的主頁,可以注冊(cè)和登陸,就這么簡(jiǎn)單的功能,竟然獲得了校三等獎(jiǎng)(由此可見,我們學(xué)校夠垃圾的)
技術(shù)的選擇
軟件 vs “硬件”
大二上學(xué)期主要學(xué)習(xí)了asp和javascript,html這三門語言。使用場(chǎng)景也比較簡(jiǎn)單,不過這段時(shí)間也面臨一個(gè)選擇。這段時(shí)間很多培訓(xùn)機(jī)構(gòu)到我們學(xué)校搞宣傳,思科比較多,說的是CCNA,CCNP考試。那段時(shí)間正好也面臨選擇,到時(shí)做軟件還是做硬件,那個(gè)時(shí)候?qū)W(wǎng)絡(luò)管理員的理解就是做硬件。后來想想,自己根本沒有錢去買他們的產(chǎn)品,只是學(xué)理論課,不能實(shí)踐,也不能做出點(diǎn)牛逼的東西,就放棄了。現(xiàn)在想想,做運(yùn)維挺苦逼的,手機(jī)不離手啊,經(jīng)常通宵搞發(fā)布。
而且我現(xiàn)在也不建議大學(xué)就去考一些CCNA相關(guān)的認(rèn)證,計(jì)算機(jī)這個(gè)行業(yè),最重要的是實(shí)踐,大學(xué)生條件有限,不太有機(jī)會(huì)維護(hù)網(wǎng)絡(luò)設(shè)備,要知道那些網(wǎng)絡(luò)設(shè)備都是比較貴的,你也不可能自己買一個(gè)組網(wǎng)實(shí)踐,你沒有那么多的錢,況且思科相關(guān)的認(rèn)證都和其產(chǎn)品綁定的非常死,現(xiàn)在除了電信相關(guān)以及大型互聯(lián)網(wǎng)公司,其他一般很少會(huì)使用思科的產(chǎn)品。不過網(wǎng)絡(luò)協(xié)議相關(guān)的規(guī)范和設(shè)計(jì)還是可以深入學(xué)習(xí)的,這一些基礎(chǔ)理論保鮮度還是很長(zhǎng)的。
C# vs java
做“硬件” 還是 “軟件” 如果說是自己思考來決定的,那么 C# 和 java的選擇就完全是戲劇性的。當(dāng)時(shí)一個(gè)哥們說,asp已經(jīng)過時(shí)了,現(xiàn)在流行java和C#, 我們要選一門語言學(xué)習(xí)。當(dāng)時(shí)也正好發(fā)現(xiàn)asp用的很熟練了,覺的說的有道理,就比較猶豫到底學(xué)C# 還是 java,其實(shí)說白了,到底是跟著sun 還是跟著微軟。當(dāng)時(shí)他說,師兄都在搞C#,我們也搞好了,跟著微軟沒有錯(cuò)。而另外一個(gè)高中就搞編程的哥們說,別跟著微軟,這家伙太壟斷了,而且微軟sdk里面常量太多了,都是微軟自己定義的,而且好多他都幫你實(shí)現(xiàn)了,你就是調(diào)用一下,不利于提高編碼能力。
以當(dāng)時(shí)的理解能力,當(dāng)時(shí)記住的就兩點(diǎn):
1 微軟太壟斷
2 學(xué)微軟提高不了編程能力
當(dāng)時(shí)對(duì)編程了解還不多,那個(gè)時(shí)候年輕,比較追求自由,也比較憤,討厭壟斷,接受不了,就選擇了java。選擇真有戲劇性啊。
當(dāng)時(shí)說的第一個(gè)點(diǎn),應(yīng)該說微軟比較封閉,很多都是基于windows之上,都是商業(yè)產(chǎn)品,產(chǎn)品基本上也都是閉源的,從這個(gè)角度來看,我是接受不了的,也是喜歡自由導(dǎo)致的,就像圖形社區(qū)對(duì)老趙的采訪所說的——“理論上說,在微軟你不可以讀開源的代碼。微軟害怕你在看了開源的項(xiàng)目之后,會(huì)不知不覺地在工作中應(yīng)用到開源東西,產(chǎn)生法律糾紛。這點(diǎn)真的很可惜” 。
至于第二點(diǎn),編程語言首要的就是提高效率以及解決問題,這個(gè)是最基本的要求,微軟在這一方面座的比較好。至于編程能力,是和語言沒有關(guān)系的。編程能力的提升主要是 多看,多寫,多思考。
多看:嘗試著看自己經(jīng)常使用的產(chǎn)品的源代碼,了解其設(shè)計(jì)思想以及代碼編寫的技巧。這個(gè)是最便宜也是最簡(jiǎn)單的方法,但是很實(shí)用。
多寫:如果程序員寫的代碼少,即使看的再多,也沒有效果。寫代碼能夠把“偷來”思想去實(shí)踐,然后發(fā)現(xiàn)是否用在合適的地方。
多思考:如果一直寫代碼,機(jī)械套用一些模式,不會(huì)由成長(zhǎng)。成長(zhǎng)最重要的反思,我代碼寫的好嘛,能夠滿足需求嗎,通用嗎,重復(fù)率高嗎,是否還能有更好的方法?一個(gè)coder高手,一定是一個(gè)對(duì)審美要求極高的人的。如果發(fā)現(xiàn)自己的代碼重復(fù)率太高,自己就會(huì)覺得不舒服,看上去非常啥。同一段代碼,你一個(gè)月后,一年后,三年后再去看,肯定有不同的感覺,會(huì)發(fā)現(xiàn)很多問題,如果發(fā)現(xiàn)不了問題,說明要么代碼很完美,要么自身沒有任何長(zhǎng)進(jìn)。
相反,java的發(fā)展壯大離不開開源社區(qū),全世界有無數(shù)的工程師在貢獻(xiàn)自己的代碼。如果提高編程能力,最好的一個(gè)途徑都是閱讀開源的代碼,看看別人代碼是怎么設(shè)計(jì),有哪一些思想值得借鑒。如果一個(gè)java工程師,沒有閱讀過任何一款開源產(chǎn)品的源代碼,那只能說他是一個(gè)不合格java的工程師。有這么好的條件,為啥不利用了。
14年互聯(lián)網(wǎng)技術(shù)、產(chǎn)品、運(yùn)營(yíng)經(jīng)驗(yàn),前支付寶技術(shù)專家,互金創(chuàng)業(yè)公司CTO,大令保事業(yè)部總經(jīng)理。
在互金領(lǐng)域有比較強(qiáng)的產(chǎn)品以及運(yùn)營(yíng)經(jīng)驗(yàn),尤其擅長(zhǎng)用戶增長(zhǎng)、轉(zhuǎn)化、運(yùn)營(yíng)上的經(jīng)驗(yàn),兼具技術(shù)、產(chǎn)品、運(yùn)營(yíng)思維。
目前是云貓?jiān)鲩L(zhǎng)實(shí)驗(yàn)室 創(chuàng)始人
團(tuán)隊(duì)成員來自阿里等國(guó)內(nèi)知名互聯(lián)網(wǎng)公司,曾在互聯(lián)網(wǎng)金融、互聯(lián)網(wǎng)保險(xiǎn)、企業(yè)級(jí)SaaS等項(xiàng)目中負(fù)責(zé)用戶增長(zhǎng),團(tuán)隊(duì)管理的工作,擁有豐富的一線流量增長(zhǎng)經(jīng)驗(yàn)與實(shí)操手段。
歡迎關(guān)注我們,用技術(shù)驅(qū)動(dòng)增長(zhǎng)
浙公網(wǎng)安備 33010602011771號(hào)