成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何提升你的能力?給年輕程序員的幾條建議

開發(fā) 后端 前端
一轉(zhuǎn)眼工作已有 8 年,前兩天公司一位初入職場(chǎng)的同事希望我給一些建議與經(jīng)驗(yàn)。我覺得這個(gè)話題很有價(jià)值,這里以個(gè)人的想法與經(jīng)歷寫成此文,希望給年輕的開發(fā)者們一些啟發(fā)。

一轉(zhuǎn)眼工作已有 8 年,前兩天公司一位初入職場(chǎng)的同事希望我給一些建議與經(jīng)驗(yàn)。我覺得這個(gè)話題很有價(jià)值,這里以個(gè)人的想法與經(jīng)歷寫成此文,希望給年輕的開發(fā)者們一些啟發(fā)。

[[135864]]

我工作過的公司有 4 家,NVIDIA, Google, Slide 和 Glow。其中兩家是知名的大公司,Slide 我是D輪過后加入的,那時(shí)約 150 人。Glow 則是從它第一天創(chuàng)立,一直走到現(xiàn)在。個(gè)人的工作也從 Developer,Tech Lead,Engineering Manager 到 CTO。這些經(jīng)歷使我對(duì)程序員的個(gè)人發(fā)展之路有比較全面的看法。

如果你問一個(gè)年輕的前端開發(fā)人員,你在今后的 3 年內(nèi)如何提升自己的能力?他可能會(huì)說“我現(xiàn)在對(duì) Web 前端比較熟悉,但我想深入了解 AngularJS,另外 React 現(xiàn)在發(fā)展的很快我也想看一下。之后,我會(huì)花時(shí)間去學(xué)習(xí) iOS 和 Android 開發(fā)。”看上去不錯(cuò),但缺乏系統(tǒng)性的目標(biāo)。或者說,他制定了學(xué)什么,但對(duì)為什么要學(xué)這些并沒有仔細(xì)的思考。

在技術(shù)領(lǐng)域,有太多的東西會(huì)迅速的過時(shí),如何利用有限時(shí)間,最大化你的長(zhǎng)期收益?這里我可以給出幾條建議

打造你的工具箱

工欲善其事,必先利其器。每個(gè)開發(fā)者都應(yīng)該有一把自己的瑞士軍刀,在將來漫長(zhǎng)的職業(yè)生涯中,這些工具可以為你省下寶貴的時(shí)間,并幫助你更好的組織個(gè)人知識(shí)庫(kù)。舉兩個(gè)例子

  • 一套高效的開發(fā)環(huán)境
  • 一個(gè)信息采集器和一本筆記本

高效的開發(fā)環(huán)境

我們可以從編緝器談起,這里有 IDE vs Text Editor,有 Vim vs Emacs,有 Sublime vs Atom,那該如何選擇呢?在做選擇之前,我們先想想自己的目標(biāo)。我們希望這是一個(gè)長(zhǎng)期的投資,這款編緝器能被長(zhǎng)期使用,在這個(gè)過程不斷的打磨,使其能完 全適合自己的習(xí)慣,最大化編緝效率。如果程序員是俠客,編緝器則是他手中的劍。

雖然我是 Vim 的重度用戶,但我覺得當(dāng)年選擇 Vim 時(shí)有欠考慮。如果讓我重選一次,我的第一選擇會(huì)是 Emacs,第二選擇會(huì)是 Atom。Emacs 已存在 30 年,社區(qū)仍然活躍,其可擴(kuò)展性在編緝器中無人能出其右。Emacs 的腳本語(yǔ)言 elisp 又是 lisp 的一種 dialect,我覺得對(duì) lisp 的學(xué)習(xí)可以提升程序員對(duì)編程核心思想的理解。另一個(gè)加分點(diǎn)是 Emacs 由于其本身的高門檻及 lisp 特質(zhì),吸引了大批高質(zhì)素的程序員,其社區(qū)可謂藏龍臥虎,更誕生了像 Org-mode 這樣神級(jí)的插件。反觀 Vim,Vim 的精髓在于 Mode editing,這是值得學(xué)習(xí)的,可以極大提高文本編緝的效率。但當(dāng)你熟悉了這一理念后,我覺得可以轉(zhuǎn)投其他編緝器,因?yàn)?Vim 的架構(gòu)與 Vimscript 限制了其擴(kuò)展性。Emacs 通過 Evil 插件非常完整的支持了 Mode editing,其他主流的編輯器也有類似插件,所以你一旦掌握了這個(gè)理念,在別的編輯器中也可以發(fā)揮作用。可能有人會(huì)說沒有一個(gè) Vim emulator 能做到 Vim 100% 的功能,但重點(diǎn)不在于某條指令是否被移植,而是 mode editing 思想的精髓能否被移植,我覺得答案是肯定的。

再看 Atom vs Sublime,Atom 的可擴(kuò)展性非常好,它的大部分核心功能也是以插件的方式實(shí)現(xiàn),這點(diǎn)與 Emacs 有異曲同工之妙。并且其開源的特性,使我相信它有比 Sublime 更持久的生命力。

關(guān)于 IDE,我的看法是,我不排斥 IDE,但每個(gè) IDE 都是為了某個(gè)特定的任務(wù)或是編程語(yǔ)言服務(wù)的。做為一個(gè)有追求的程序員,可以用 IDE,但依然需要精通一個(gè)強(qiáng)大的通用編緝器。

類似編緝器,高效的開發(fā)環(huán)境還包括 Shell,Launcher,窗口管理器,文檔閱讀器等等。其中有一部分只需要你化很少的時(shí)間就可以完成配置,它們的投資回報(bào)率是非常高。

信息采集器和筆記本

前者是用來收集別人產(chǎn)生的信息,后者則是收集自己產(chǎn)生的信息。前者一個(gè)簡(jiǎn)單的例子就是瀏覽器的 Bookmark。你需要能隨時(shí)將一組有用的信息歸檔,并在未來的某個(gè)時(shí)刻快速找到它。后者最直觀的例子則是 Mac OS 或是 iOS 自帶的筆記本,這里的目的是能隨時(shí)隨地記錄你自己的想法。從本質(zhì)上講,就是你需要有一套好用的工具來做你的知識(shí)庫(kù)管理(Knowledge management),也可以說是你知識(shí)和思想的外部備份。我個(gè)人現(xiàn)在是用 Evernote 同時(shí)來做信息采集與筆記的。如果有一個(gè)好的流程,你也完全可以用兩個(gè)工具來分別把這兩件事做好。但我建議你花足夠多的時(shí)間來思考如何組織你的個(gè)人知識(shí)庫(kù)。

以上只是兩個(gè)典型的例子,你需要做的是發(fā)現(xiàn)那些你要長(zhǎng)期從事的任務(wù)(往往不隨技術(shù)而改變,也不隨公司而改變),將完成這些任務(wù)所需的工具調(diào)整至 最優(yōu)。再舉一個(gè)例子,我會(huì)留意身邊的程序員所用的鍵盤。只有少部分的程序員會(huì)買高端的靜電容鍵盤,比如 HHKB。而在我看來,這明顯是一筆很劃得來的投資,程序員在工作的大部分時(shí)間里都需要和鍵盤打交道,一個(gè)舒適的打字體驗(yàn)是非常有收益的,更何況這類高品 質(zhì)的鍵盤都非常的耐用。

#p#

開闊你的視野,構(gòu)建你的技術(shù)體系

首先你要給自己設(shè)定一個(gè)目標(biāo),就如同一個(gè)公司會(huì)設(shè)定它的 Vision。

  • 目標(biāo)要夠大,這樣你才能看到更多的風(fēng)景。
  • 目標(biāo)應(yīng)該設(shè)定在解決哪一類問題,而不是精通哪一類技術(shù)。技術(shù)只是手段,不是目的。

例如,“我要成為 iOS developer 中的達(dá)人”這個(gè)目標(biāo),就遠(yuǎn)不如“我要成為前端應(yīng)用開發(fā)的專家”來得有意義。前者學(xué)到深處你可能會(huì)去鉆研 iOS framework 里各種奇技淫巧,而后者你會(huì)開始關(guān)注視覺與交互設(shè)計(jì),研究各平臺(tái)間的差異與共同趨勢(shì)。顯然,后者更有助于你的個(gè)人發(fā)展。

不過即便有了明確的目標(biāo),選擇哪一類技術(shù)學(xué)習(xí),如何學(xué)習(xí),在信息過載的今天依然是一個(gè)難題。常有的觀點(diǎn)是應(yīng)該學(xué)習(xí)最新的技術(shù),因?yàn)槔系囊呀?jīng)過 時(shí),而反對(duì)的觀點(diǎn)則是新技術(shù)還不成熟。我個(gè)人的觀點(diǎn)是,當(dāng)初入一個(gè)領(lǐng)域時(shí),選擇主流技術(shù)框架;當(dāng)你有一定經(jīng)驗(yàn)后,選擇技術(shù)時(shí)更應(yīng)該關(guān)注背后的推動(dòng)者,我相 信優(yōu)秀的人和團(tuán)隊(duì)總能打造優(yōu)秀的產(chǎn)品,無論是商業(yè)公司還是開源社區(qū)。不必太在意技術(shù)的新舊,因?yàn)榭赡芎芸於紩?huì)成為過去時(shí)。你真正要學(xué)習(xí)的是技術(shù)背后的思 想。有不少語(yǔ)言與開源項(xiàng)目會(huì)寫它的 Coding philosophy,這是很意思的,你可以從它們的源代碼中去驗(yàn)證這些編程理念。以 Python 為例,如果你執(zhí)行import this就會(huì)看到它的理念,再如 Python 中一個(gè)著名的開源庫(kù) Celery,在它的文檔有專門一節(jié)講述它的編程理念。 它們對(duì)你的影響會(huì)比這些技術(shù)本身來得更深遠(yuǎn),這是我給初學(xué)者們的一個(gè)忠告。同理,我非常推薦讀一些優(yōu)秀開源庫(kù)或是語(yǔ)言的源代碼,例如 Python 的標(biāo)準(zhǔn)庫(kù)絕大部分都是用 Python 實(shí)現(xiàn)的,而且可讀性非常好。如果學(xué)習(xí)一門技術(shù)僅僅停留在用的層面上,你就還沒有完全吸取其中的精華,而且學(xué)習(xí)的收益會(huì)隨著技術(shù)的過時(shí)而消失。

我的另一個(gè)學(xué)習(xí)原則是,在選擇學(xué)習(xí)一門新技術(shù)時(shí),最大化它與你現(xiàn)有知識(shí)庫(kù)的差異性。讀起來可能有拗口,例如你會(huì) Django,接下去你應(yīng)該去學(xué)習(xí) Ruby on Rails 還是 NodeJS? 依據(jù)這個(gè)原則,你應(yīng)該學(xué) NodeJS,因?yàn)樗漠惒?IO 模型在理念上與 Django 的同步模型差異很大,而 RoR 則與 Django 更多相似之處。但更好的選擇是不要去學(xué)另一個(gè) Web framework,去學(xué)習(xí) ZeroMQ 或是 Redis,這兩者對(duì)于 Web development 也非常有幫助,這樣就做到了最大化差異。從構(gòu)建一個(gè)程序員的技術(shù)理念角度,我會(huì)推薦每一個(gè)程序至少去了解 Lisp 或是一門 Functional programming language,不管你是否會(huì)在可見的未來用到,它們能讓你從一個(gè)不同的角度看待編程。

最后我建議每個(gè)程序員都應(yīng)該經(jīng)營(yíng)一款自己的產(chǎn)品,它可以是一款 app,一個(gè)網(wǎng)站或是一個(gè)開源軟件。除非你是一個(gè)創(chuàng)業(yè)公司的早期員工,不然你可能沒有機(jī)會(huì)將所有學(xué)到的技術(shù)或是理念都付之實(shí)踐,有很多人想成為全棧工程 師,最快的捷徑就是打造一款自己的產(chǎn)品。任何一個(gè)設(shè)計(jì)師都會(huì)精心打造自己的 Portfolio,但大部分程序員卻不會(huì)。當(dāng)評(píng)估一個(gè)程序員的 Coding 能力時(shí),我會(huì)去看他的 Github 上是否有出彩的項(xiàng)目,可惜國(guó)內(nèi)絕大部分程序員的 Github 空空如也,或者只有一些非常簡(jiǎn)單的程序。我建議大家好好經(jīng)營(yíng)自己 Github 上項(xiàng)目,這不但可以提高你的聲譽(yù),對(duì)你將來的求職也非常有幫助。當(dāng)你報(bào)怨求職面試時(shí)又被問到各種無厘頭的程序題時(shí),有沒有想過面試官也很無奈,因?yàn)樗麤]有 任何其他方法得知你的 Coding 能力究竟如何。如果每一個(gè)程序員都有自己的作品,我想程序員的面試會(huì)簡(jiǎn)單許多。

重視溝通能力的培養(yǎng)

當(dāng)被問到“你學(xué)得 Junior Developer 和 Senior Developer 最大的差別是什么”時(shí),我最自然的反應(yīng)是溝通與文檔。溝通包括程序員團(tuán)隊(duì)內(nèi)部的溝通,與其他團(tuán)隊(duì)的溝通,與 Manager 的溝通等等。我不認(rèn)為自己有能力把這些問題非常概括地說清楚,不過我可以給一條建議,那就是先學(xué)會(huì)和你的 Manager 溝通,讓他來教你其余的部分。許多公司都會(huì)設(shè)置 Manager 與組員的1:1,一個(gè)有效率的1:1 應(yīng)該大部分時(shí)間有組員來主導(dǎo)。這需要你在1:1 之前花足夠多的時(shí)間來考慮要問的問題,并且最好提前 1 天發(fā)給 Manager,讓他有機(jī)會(huì)思考答案。許多人對(duì)此不太重視,或者只問非常具體的問題而不是一些開放性問題,這樣你很難在你的 Manager 身上學(xué)到東西。如果你漸漸懂得如何利用1:1 的時(shí)間,它很會(huì)成為你在工作中單位時(shí)間投資回報(bào)率最高的活動(dòng)。

累積你的人脈

每個(gè)人都明白人脈的重要性,但實(shí)際做起來卻不容易。參加一些線下的會(huì)議或是活動(dòng),可能是最直接的擴(kuò)展人脈的方式之一。可惜大部分人似乎只是去聽 了一場(chǎng)技術(shù)講座就回家了。當(dāng)然,這和不少活動(dòng)的時(shí)間安排也有關(guān)系,講座時(shí)間排得太滿,茶歇時(shí)間短,加上有時(shí)嘉賓遲到或是沒控制好時(shí)間,干脆就把茶歇取消 了。而實(shí)際上,結(jié)識(shí)一兩個(gè)同道中人遠(yuǎn)比聽技術(shù)講座有價(jià)值。下次去參加這類會(huì)議,不妨給你自己設(shè)個(gè)目標(biāo),比如至少加兩個(gè)同行的微信。之后維系你的人脈可能需 要花更多的時(shí)間,下了班或是周末找你的朋友們喝個(gè)咖啡吧!

另外我覺得每個(gè)人都需要一個(gè)職場(chǎng)導(dǎo)師,他可以是你第一份工作的導(dǎo)師或是 Manager,也可以是你認(rèn)識(shí)的其他前輩。你們需要維系一個(gè)非常長(zhǎng)期的關(guān)系,不止于一家公司,最好貫穿你的整個(gè)職業(yè)生涯。每當(dāng)你遇到疑惑時(shí),都可以詢求 他的建議,我覺得這將是你最寶貴的一筆人脈財(cái)富。

#p#

尋找發(fā)揮你才華的平臺(tái)

最后也是最重要的一步,找到適合你的公司。做為求職者評(píng)估一家公司可以看三個(gè)方面

  • 公司的發(fā)展前景(大公司的話,看所在部門的發(fā)展前景)
  • 你將要加入的團(tuán)隊(duì)
  • 薪資福利

所以在面試一家公司的時(shí)候,你要意識(shí)到面試是雙向的,公司在面試你的同時(shí),你也在面試這家公司。面試前你應(yīng)該對(duì)這家公司做足功課,準(zhǔn)備好一些有質(zhì)量的問題,比如指出產(chǎn)品中的問題,詢問開發(fā)流程或是如何做績(jī)效評(píng)估。到時(shí)你也可以檢驗(yàn)一下你的面試官是否合格。

每次選擇公司對(duì)以上三個(gè)方面都應(yīng)兼顧,但在職業(yè)生涯的不同階段,側(cè)重點(diǎn)不同。比如,在剛剛工作時(shí),加入一個(gè)優(yōu)秀的團(tuán)隊(duì)最為重要,他們可以教會(huì)你 很多東西,提升你的能力。工作 5 年之后,你需要一個(gè)平臺(tái)施展你的才華,體現(xiàn)個(gè)人價(jià)值,公司發(fā)展前景的重要性迅速提升。當(dāng)你做出一番成績(jī),證明了自己的價(jià)值之后,逐漸進(jìn)入收獲期,就有了與 公司要價(jià)的資格。另一方面,團(tuán)隊(duì)實(shí)力對(duì)公司的前景也有很大的影響。

對(duì)一個(gè)剛畢業(yè),初入職場(chǎng)的同學(xué),一個(gè)近幾年被問了無數(shù)次的問題“我的第一份工作是去創(chuàng)業(yè)公司還是大公司?”我的回答仍舊是“加入一個(gè)優(yōu)秀的團(tuán)隊(duì) 最為重要”。一些知名的大公司,團(tuán)隊(duì)的素質(zhì)是有一定保證,但創(chuàng)業(yè)公司則不然,團(tuán)隊(duì)素質(zhì)參差不齊,所以如我前面所說你需要面試這個(gè)團(tuán)隊(duì),做出自己的判斷。不 過除了團(tuán)隊(duì)因素之外,我想提一下畢業(yè)生去創(chuàng)業(yè)公司的幾個(gè)好處。首先,在剛畢業(yè)的一段時(shí)間內(nèi),經(jīng)濟(jì)壓力小,是最自由最能承受風(fēng)險(xiǎn)的時(shí)期,而這段時(shí)間往往不 長(zhǎng),所以應(yīng)把握好這個(gè)去創(chuàng)業(yè)公司的黃金時(shí)段。其次,所有的學(xué)生進(jìn)入大公司后,都會(huì)擔(dān)任初級(jí)職位,某種程度上來講是學(xué)校學(xué)習(xí)的延續(xù),規(guī)范有條理,但缺乏獨(dú)立 性和創(chuàng)新性,而這正是中國(guó)大部分學(xué)生所欠缺的。這方面的能力在一家創(chuàng)業(yè)公司可以得到快速鍛煉,而在大公司可能要等升到中級(jí)職位后才有這方面的機(jī)會(huì)。個(gè)人觀 點(diǎn),僅供參考。

小結(jié)

我覺得步入職場(chǎng)的前 3 年對(duì)今后的發(fā)展尤其重要,希望此文能對(duì)年輕的程序員們有所幫助。歡迎評(píng)論!

責(zé)任編輯:王雪燕 來源: tech.glowing.com
相關(guān)推薦

2011-08-02 08:59:02

程序員

2017-11-24 13:33:07

程序員代碼開發(fā)

2022-08-21 21:39:06

程序員建議

2015-09-28 10:09:05

程序員新手

2013-07-05 15:14:06

程序員

2015-04-27 14:22:39

程序員提升自己價(jià)值

2014-11-07 16:57:21

程序員

2013-07-10 15:17:20

程序員創(chuàng)業(yè)

2016-03-11 09:36:52

程序員頂級(jí)職業(yè)建議

2013-06-03 09:30:35

2018-05-09 00:04:50

程序員技能溝通

2015-07-28 09:54:43

2015-07-09 10:30:35

程序員必備經(jīng)驗(yàn)

2015-10-27 13:07:07

程序員壞建議

2015-04-17 09:46:53

程序員工作辛苦

2019-01-21 14:13:51

程序員技能開發(fā)者

2013-06-17 11:01:49

程序員離職

2015-06-12 11:22:52

程序員程序員跳槽

2018-05-29 22:24:22

程序員開發(fā)學(xué)習(xí)

2018-03-27 09:00:06

程序員自學(xué)能力
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产高清视频一区 | 欧美中文字幕一区二区三区 | 日韩三级一区 | 亚洲一区综合 | 日日干日日操 | 99久久夜色精品国产亚洲96 | 成人亚洲精品久久久久软件 | 日韩欧美日韩在线 | 羞羞的视频免费观看 | 美女久久久| 人人九九精 | 免费一看一级毛片 | 手机看片在线播放 | 九九看片| 久久一区二区视频 | 99免费精品视频 | 国产最好的av国产大片 | av在线免费观看网站 | 亚洲成人一二区 | 人人亚洲 | 亚洲精品永久免费 | 日韩在线精品 | 香蕉91| 久久久九九 | 久久久亚洲一区 | 91在线视频免费观看 | 免费在线日韩 | 日本黄色一级视频 | 国产午夜视频 | 国产一区不卡 | 九九热热九九 | 国产成人福利视频在线观看 | 久久亚洲国产 | 一级毛片成人免费看a | 免费观看黄色片视频 | 91大神新作在线观看 | 日韩在线观看中文字幕 | 国产在线一区观看 | 久久国产精品视频 | 国产精品成av人在线视午夜片 | 日韩三级在线 |