程序員必須進行的10項投資:1.你的健康;2.提高你的數(shù)學(xué)能力;3.提高你的英語水平;4.一個自己的域名和網(wǎng)站;5.一個活躍的Github帳戶;6.一臺好的電腦;7.足夠快的網(wǎng)速;8.讀一些經(jīng)典的計算機科學(xué)的書籍;9.學(xué)士學(xué)位;10.資格認證(可選)。
你的健康
顯而易見,開發(fā)人員經(jīng)常都是坐著不動的。每天坐8到16個小時,只休息很短的時間,你的肚子周圍很容易會堆起贅肉。肥胖是其它疾病的催化劑,而其中心臟病又是最可怕的。多花點時間運動一下就能避免這樣的情況,如果有可能的話,花點錢辦一張健身房的會員卡。
長時間以不符合人體工程學(xué)的姿勢打字,也容易使開發(fā)人員選成重復(fù)性的肌肉損傷,比如說腕管綜合征。每隔幾個小時拉伸一下你的手腕或者買塊鼠標(biāo)和鍵盤都能用的手腕護墊可以避免這樣的損傷。
盯著屏幕也會給你的眼睛造成壓迫,這就是為什么建議配一副防眩光眼鏡而不是普通眼鏡的原因(假設(shè)你是戴眼鏡的)。
提高你的數(shù)學(xué)能力
數(shù)學(xué)可以提高你的邏輯思考能力,解決問題的方式,在多數(shù)情況下,它還能增加你的耐心。有些數(shù)學(xué)知識是可以直接在軟件開發(fā)中使用的,比如離散數(shù)學(xué) ,但有些知識忘了也沒事,這要看你從事的是那個領(lǐng)域的開發(fā)了。比如說,游戲開發(fā)人員經(jīng)常會使用到物理和微積分,而我作為一名企業(yè)應(yīng)用的開發(fā)人員,很少發(fā)現(xiàn)有能用上它們的地方 。不管怎么說,數(shù)學(xué)能讓你變得更加優(yōu)秀。
提高你的英語水平
編程、腳本 、標(biāo)記性語言使用的都是英文,而開源項目比如Linux它們的注解通常也都是英文。來自世界各地的開發(fā)人員通過英語來協(xié)作開發(fā)。面向國際客戶的開發(fā)人員都必須學(xué)習(xí)英語,因為這樣才能夠?qū)I(yè)務(wù)需求轉(zhuǎn)化成解決方案。
明白了吧?英語對程序員來說,就好比二進制對于計算機一樣。
一個自己的域名和網(wǎng)站
有一個自己專屬的郵箱地址而不是什么something@yahoo.com或者someone@gmail.com是不是感覺挺酷?每年只需花費一點點錢,就能讓你看起來和別人與眾不同。我自己買的這個lambdageek域名只花了13美金而已。個人域名還能給你的個人品牌添加自信和專業(yè),讓潛在的用戶或者同事了解到,你自己究竟是什么樣的。當(dāng)然了,這假設(shè)你的域名不能是什么亂七八糟.com。
一個活躍的Github帳戶
作品集之于藝術(shù)家就猶如Github之于開發(fā)人員。這點就不必多說了。
一臺好的電腦
你聽說過有程序員沒有自己的電腦的么?我是沒聽說過。沒有自己電腦的開發(fā)人員就好比沒有激光劍的絕地武士一樣。我這里指的好的電腦至少得有4GB內(nèi)存(要想不那么快過時至少得有8GB)。我比較推薦的是4000刀的Macbook Pro,不過對于那些有特殊需求的極端場景,我持保留意見 。
足夠快的網(wǎng)速
互聯(lián)網(wǎng)就是碼農(nóng)們的氧氣。斷網(wǎng)對我來說就好比斷了空氣供給一樣,簡直無法忍受。有了一個穩(wěn)定的網(wǎng)絡(luò)連接,你可以看下視頻教程來進行學(xué)習(xí),或者泡泡論壇,甚至可以及時關(guān)注到Hacker News上的最新文章。
讀一些經(jīng)典的計算機科學(xué)的書籍
有一些書我認為是軟件開發(fā)領(lǐng)域的經(jīng)典之作:
- 計算機程序的構(gòu)造和解釋
- 代碼大全2
- 程序員修煉之道
- 重構(gòu)-改善既有代碼的設(shè)計
- 算法導(dǎo)論
- 離散數(shù)學(xué)及其應(yīng)用
- 人月神話
- 學(xué)士學(xué)位
一個本科學(xué)歷能夠增加獲取工作的幾率。不管你是剛畢業(yè)的學(xué)生還是剛辭職準(zhǔn)備找下一份工作,這都是有用的。再想像一下這樣的情況 :如果很多研究生都擠破了頭去搶一份工作,那么一個本科生的簡歷能被看到的概率又有多少?
資格認證(可選)
資格認證能檢驗?zāi)愕哪骋豁椉夹g(shù)的能力。通過了某項認證意味著別人已經(jīng)認可了,你對企業(yè)認為可能有價值的某個東西有了比較深入的理解。有些公司會給有相關(guān)認證的程序員提供更好的薪水和待遇,但有些公司壓根兒就不在乎這些東西。比如說,成為一名認證的Java程序員意味著你對Java語言理解得比較透徹了,但這并不意味著你具備了解決問題的能力。一些公司更看重的是一個人的關(guān)鍵的思考能力而不是他在某項編程語言上的經(jīng)驗,因為編程語言可以很容易學(xué)會,而解決問題則不然。