IT培訓(xùn)-高端面授IT培訓(xùn)機(jī)構(gòu)
          云和教育:云和數(shù)據(jù)集團(tuán)高端IT職業(yè)教育品牌
          • 國(guó)家級(jí)
            全民數(shù)字素養(yǎng)與技能培訓(xùn)基地
          • 河南省
            第一批產(chǎn)教融合型企業(yè)建設(shè)培育單位
          • 鄭州市
            數(shù)字技能人才(碼農(nóng))培養(yǎng)評(píng)價(jià)聯(lián)盟

          程序員需要學(xué)什么?除了碼代碼還有這些..

          • 發(fā)布時(shí)間:
            2018-03-12
          • 版權(quán)所有:
            云和教育
          • 分享:

          傳統(tǒng)印象中程序員就只會(huì)碼代碼,那么程序員需要學(xué)什么才能讓自己的生活充實(shí)豐富起來(lái),一年之計(jì)在于春,對(duì)于程序員而言,自我挑戰(zhàn)很重要,有創(chuàng)造力、技術(shù)性的調(diào)整是可行的,給自己列個(gè)計(jì)劃清單,一起更好的成長(zhǎng)吧!

          進(jìn)入真實(shí)生活

          程序員們過(guò)分沉迷于數(shù)碼設(shè)備,在數(shù)碼設(shè)備之外也別有一番天地。因此,在真實(shí)生活中的投資會(huì)帶來(lái)相對(duì)多的回報(bào)。

          這里有一個(gè)起步表,表中是真實(shí)生活中可供嘗試的活動(dòng)。對(duì)于每一項(xiàng)活動(dòng),如果你真心付出一個(gè)月,你就不再是一個(gè)新手:

          做飯

          遠(yuǎn)足

          滑雪

          天文學(xué)

          慢跑

          舉重

          木工

          武術(shù)

          跳舞

          保持健康

          程序員往往過(guò)著久坐不動(dòng)的生活,因此我們面臨著我們職業(yè)帶來(lái)的特有健康挑戰(zhàn)。我們往往會(huì)忽視這些挑戰(zhàn):

          每年,花一整月的時(shí)間,調(diào)整你的鍛煉、飲食以及環(huán)境,來(lái)培養(yǎng)持久的健康習(xí)慣;

          每年去一次診所,測(cè)量血壓、膽固醇以及血糖。觀察這些數(shù)值是怎樣隨時(shí)間而變化的;

          如果你的手腕開(kāi)始疼痛或者已經(jīng)疼了一段時(shí)間了,現(xiàn)在就停下來(lái),采取措施,預(yù)防重復(fù)性勞損(RSI);

          跟蹤體重、卡路里攝入以及卡路里消耗。如果必要的話(huà),改變生活方式,來(lái)培養(yǎng)更健康的飲食和減肥方法。

          跳出舒適區(qū)

          從我 20 歲出頭起,我觀察比我年長(zhǎng)的同伴,嘗試發(fā)現(xiàn)為什么有些人停滯不前,而另外一部分人一直精力充沛。

          答案是舒適。舒適導(dǎo)致技術(shù)僵化。

          一個(gè)系統(tǒng),它能正常為我們服務(wù),而且我們一直在堅(jiān)持使用它。但是,技術(shù)在進(jìn)步,那些局限于舒適的人絕對(duì)認(rèn)識(shí)不到這些進(jìn)步的益處。

          清單中的事情,可能讓你在剛開(kāi)始感到不舒服:

          換成德沃夏克鍵盤(pán)。

          從 emacs 編輯器轉(zhuǎn)化到 vim 編輯器或者反過(guò)來(lái)。

          停止使用鼠標(biāo)。

          使用不同的窗口管理器。

          從奶油和糖轉(zhuǎn)變?yōu)椴患优D痰目Х然蛘卟唤?jīng)過(guò)調(diào)味的茶。

          花一整個(gè)月的時(shí)間試試『流行新垃圾』。

          每周關(guān)掉手機(jī)一天。

          學(xué)習(xí)使用單手輸入設(shè)備。

          嘗試使用不同的操作系統(tǒng)。

          對(duì)于一個(gè)小項(xiàng)目,嘗試不同的版本控制系統(tǒng)。

          每周強(qiáng)制斷網(wǎng)一天。

          試試飲食上的約束:純素食主義、素食主義、不含奶類(lèi)等等。

          每天吃一種你不喜歡的食物。

          少用有利手臂(dominant arm)。

          學(xué)習(xí)用非利手(non-dominant hand)寫(xiě)字。

          開(kāi)始寫(xiě)博客。

          報(bào)名參加公眾演講。

          聽(tīng)一種你并不喜歡的音樂(lè)一個(gè)月。

          在醫(yī)院或退休之家做志愿服務(wù)。

          一周禁食一次。

          去一個(gè)用不同語(yǔ)言或者有不同文化的國(guó)家。

          從你不喜歡的種類(lèi)里選讀一本廣受歡迎的小說(shuō)。

          從你不喜歡的種類(lèi)里選觀一部備受推崇的電影或片子。

          學(xué)會(huì)開(kāi)手動(dòng)檔汽車(chē)。

          質(zhì)疑一些你相信的事。

          做一些不一樣的事情,一個(gè)月之后,決定是否想繼續(xù)這樣做,或者看看能不能找到這樣的方法,能把新事物和舊事物最好的東西融合起來(lái)。

          程序員需要學(xué)什么?除了碼代碼還有這些..

          程序員需要學(xué)什么?很多人認(rèn)為還需要學(xué)習(xí)一門(mén)新的編程語(yǔ)言

          編程語(yǔ)言起起落落。

          只懂一門(mén)語(yǔ)言的程序員,他們解決問(wèn)題的能力和事業(yè)前景會(huì)受局限。用它寫(xiě)一個(gè)不大的程序。這里有一些非主流的可供學(xué)習(xí)的語(yǔ)言:

          Racket.

          Haskell.

          Rust.

          Scala.

          Erlang.

          Clojure.

          SML/NJ.

          OCaml.

          Squeak.

          Prolog.

          Datalog.

          miniKanren.

          如果你沒(méi)有編程語(yǔ)言可以去學(xué)了,自己發(fā)明一個(gè)。

          自動(dòng)化

          程序員具備的最有力而未被利用的技能就是,使虛擬和現(xiàn)實(shí)自動(dòng)化的能力。

          如果你從來(lái)沒(méi)做過(guò)機(jī)器人的話(huà),做一個(gè)吧。

          至少玩玩樂(lè)高頭腦風(fēng)暴機(jī)器人吧:

          或者玩玩 Arduino 板或樹(shù)莓派:

          觀察你做的日常活動(dòng),然后決定哪些能全部或者部分自動(dòng)化。

          家庭自動(dòng)化技術(shù)非常發(fā)達(dá),借助 DIY 系統(tǒng),例如 Insteon,很多東西都成為可能。

          花一個(gè)月的時(shí)間來(lái)做一個(gè)自動(dòng)化的項(xiàng)目。

          多學(xué)點(diǎn)數(shù)學(xué)

          計(jì)算機(jī)科學(xué)是一門(mén)與數(shù)學(xué)相關(guān)的學(xué)科。成為好的程序員的前提是成為好的數(shù)學(xué)家。不要讓你的數(shù)學(xué)才能消失。

          考慮每年花一個(gè)月時(shí)間溫習(xí)這些主題中的一個(gè):

          邏輯學(xué)。

          離散數(shù)學(xué)。

          微積分。

          概率論。

          統(tǒng)計(jì)學(xué)。

          抽象代數(shù)。

          數(shù)論。

          范疇論。

          序理論。

          備份你的數(shù)據(jù)

          每年,花時(shí)間來(lái)反思你的備份策略。用一個(gè)月的時(shí)間,最小化做備份的成本。

          選擇容災(zāi)方案:為每臺(tái)電腦指派單獨(dú)硬盤(pán),借助像 Time Machine 的工具,打開(kāi)自動(dòng)備份。

          用版本控制來(lái)管理關(guān)鍵文件,將他們存儲(chǔ)在異地服務(wù)器中。

          多學(xué)點(diǎn)理論

          計(jì)算機(jī)科學(xué)有著豐富的理論結(jié)構(gòu)。跟上新進(jìn)展,復(fù)習(xí)你已經(jīng)掌握的經(jīng)典理論。

          每年花一個(gè)月,學(xué)習(xí)類(lèi)似下面的理論:

          形式語(yǔ)言。

          自動(dòng)機(jī)和可計(jì)算性理論。

          復(fù)雜度理論。

          形式化方法。

          語(yǔ)義學(xué)。

          算法和數(shù)據(jù)結(jié)構(gòu)。

          對(duì)于初學(xué)者,你可能想看看這些帖子:

          用 Haskell 語(yǔ)言寫(xiě) CEK 形式的(或者語(yǔ)義學(xué)上的)解釋器。

          用推導(dǎo)來(lái)進(jìn)行語(yǔ)法分析。

          被遺忘的方法:怎樣從 Okasaki 的紅黑樹(shù)中刪除元素。

          用推導(dǎo)的方法,使用 Scheme 語(yǔ)言對(duì)正則表達(dá)式進(jìn)行模式匹配。

          將正則表達(dá)式轉(zhuǎn)化為非確定有限狀態(tài)自動(dòng)機(jī)(NFA)。

          對(duì)藝術(shù)和人文學(xué)科有所涉獵

          工程師往往輕視藝術(shù)。工程師沒(méi)有意識(shí)到的是,藝術(shù)和人文成就了卓越的技術(shù)。

          藝術(shù)和人文訓(xùn)練直覺(jué),并且使其變得敏銳。這個(gè)過(guò)程是以一種很難量化的方式進(jìn)行的。然而這種直覺(jué)對(duì)于在量化領(lǐng)域中工作的我們來(lái)說(shuō),是必要的。

          每年至少花一個(gè)月,多學(xué)學(xué)類(lèi)似下面的理論:

          工業(yè)設(shè)計(jì)。

          哲學(xué)。

          攝影。

          繪畫(huà)。

          寫(xiě)生。

          音樂(lè)和音樂(lè)理論。

          電影。

          文學(xué)。

          完成一個(gè)個(gè)人項(xiàng)目

          如果你整天總是為別人寫(xiě)代碼,就要記住,程序員之所以成為程序員,是因?yàn)樗麨樽约簩?xiě)程序。

          每年把一個(gè)月的時(shí)間花在你自己選擇的項(xiàng)目上。實(shí)現(xiàn)那個(gè)項(xiàng)目的核心部分。使其開(kāi)源,將它發(fā)布到世界。程序員需要學(xué)什么,看完相信大家會(huì)有一些新的感悟,學(xué)會(huì)了更多東西,程序員的人生會(huì)更加豐富多彩。