爲何你應該試試Github?node
在我大四找工做的時候,試圖去尋找一份硬件、物聯網相關的工做(ps: 專業是電子信息工程)。儘管簡歷上寫得滿滿的各類經歷、經驗,然而並無卵用。跑了幾場校園招聘會後,十份簡歷(ps: 事先已經有內心準備)一個也沒有投出去——由於學校直接被拒。我對霸面什麼的一點興趣都沒有,千里馬須要伯樂。後來,我加入了Martin Flower所在的公司,固然這是後話了。git
這是一個殘酷的世界,在學生時代,若是你長得不帥不高的話,那麼多數的附加技能都是白搭(ps: 一般富的是看不到這篇文章的)。在工做時期,若是你上家沒有名氣,那麼將會影響你下一份工做的待遇。而,不少東西卻會改變這些,Github就是其中一個。github
註冊Github的時候大概是大二的時候,我熟悉的時候已是大四了,如今已經畢業一年了。在過去的近兩年裏,我試着以幾個維度在Github上建立項目:docker
快速上手框架來實戰,即demobootstrap
重構別人的代碼框架
建立本身可用的框架函數
快速構建大型應用工具
構建通用的框架學習
先說說**與技能無關的收穫**吧,畢業設計作的是一個《最小物聯網系統》,考慮到咱們專業老師沒有這方面知識,答辯時會帶來問題,儘可能往這方面靠攏。當我畢業後,這個項目已經有過百個star了,這樣易上手的東西仍是比較受歡迎的(ps: 不過這種硬件相關的項目一般受限於Github上硬件開發工程師比較少的困擾)。測試
畢業後一個月收到PACKT出版社的郵件(ps: 他們是在github上找到個人),內容是關於Review一本物聯網書籍,即在《從Review到翻譯IT書籍》中提到的《Learning Internet of Things》。做爲一個四級沒過的"物聯網專家",去審閱一本英文的物聯網書籍。。。固然,後來是審閱完了,書上有個人英文簡介。
一個月前,收到MANNING出版社的郵件(ps: 也是在github上),關於Review一本物聯網書籍的目錄,並提出建議。
也所以帶來了其餘更多的東西,固然不是這裏的主題。在這裏,咱們就不討論各類騷擾郵件,或者中文合做。從沒有想象過,我也能夠在英語世界有一片小天地。
這些告訴咱們,Github上找一個你擅長的主題,那麼會有不少人找上你的。
過去寫過一篇《如何經過github提高本身》的文章,如今只想說三點:
測試
更多的測試
更多的、更多的、更多的測試
沒有測試的項目是很扯淡的,除非你的項目只有一個函數,而後那個函數返回`Hello,World
`。
若是你的項目代碼有上千行,若是你能保證測試覆蓋率能夠達到95%以的話,那麼我想你的項目不會有太複雜的函數。假使有這樣的函數,那麼他也是被測試覆蓋住的。
若是你在用心作這個項目,那麼你看到代碼寫得很差也會試着改進,即重構。當有了一些,你的技能會不斷提高。你開始會試着接觸更多的東西,如stub,如mock,如fakeserver。
有一天,你會發現你離不開測試。
而後就會相信: 那些沒有寫測試的項目都是在耍流氓
上面咱們說的都是咱們能夠收穫到的東西,咱們開始嘗試就意味着咱們知道它可能給咱們帶來好處。上面已經提到不少能夠提高本身的例子了,這裏再說說其餘的。
咱們能夠從中獲取到不一樣的知識、內容、信息。每一個人均可以從別人的代碼中學習,當咱們須要構建一個庫的時候咱們能夠在上面尋找不一樣的庫和代碼來實現咱們的功能。如當我在實現一個庫的時候,我會在Github上到相應的組件:
Promise 支持
Class類(ps:沒有一個好的類使用的方式)
Template 一個簡單的模板引擎
Router 用來控制頁面的路由
Ajax 基本的Ajax Get/Post請求
愈來愈多的人由於Github得到工做,由於他們的作的東西正好符合一些公司的要求。那麼,這些公司在尋找代碼的時候,就會試着邀請他們。
於是,在Github尋找合適的候選人,已是一種趨勢。
若是咱們想創造出更好、強大地框架時,那麼認識更多的人可能會帶來更多的幫助。有時候會同上面那一點同樣的效果。
實際上,這也是一個和影響力有關的話題。只有更多的提升本身的曝光度,纔有機會去接觸更多的人。
對於Github來講,你並不須要創造一個特別好的框架,你只須要一個好的主題,或者你一個好的Demo。目測,當前在國內最受歡迎的就是各類Android、iOS的庫。
以前曾經分析過一些Github的用戶行爲,如今咱們先來講說Github上的Star吧。(截止: 2015年3月9日23時。)
用戶 | 項目名 | Language | Star | Url |
---|---|---|---|---|
twbs | Bootstrap | CSS | 78490 | https://github.com/twbs/bootstrap |
vhf | free-programming books | - | 37240 | https://github.com/vhf/free-programming-books |
angular | angular.js | JavaScript | 36,061 | https://github.com/angular/angular.js |
mbostock | d3 | JavaScript | 35,257 | https://github.com/mbostock/d3 |
joyent | node | JavaScript | 35,077 | https://github.com/joyent/node |
只要有下面這些類型
庫和框架: 和`jQuery
`
系統: 如`Linux
`、`hhvm
`、`docker
`
配置集: 如`dotfiles
`
輔助工具: 如`oh-my-zsh
`
工具: 如`Homewbrew
`和`Bower
`
資料收集: 如`free programming books
`,`You-Dont-Know-JS
`,`Font-Awesome
`
其餘:簡歷如`Resume
`
一個好的主題可容易在短時間受歡迎,一個庫主要依賴於長期的增加,除非有很高的曝光率。
個人Github: https://github.com/phodal (ps: 已經連擊316天,歡迎共勉。)