1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        開源 – “這是最好的時代,這是最壞的時代”

        共 2698字,需瀏覽 6分鐘

         ·

        2020-12-27 22:07

        今天一早,我給一位遠(yuǎn)在西安還從未謀面的程序員小鄧發(fā)出了一份很不錯的offer。一周前,他觀看騰訊開發(fā)者大會的直播視頻,聽了我的演講之后,加了我的微信,并主動告訴我,很想加入濤思數(shù)據(jù)。雖然他畢業(yè)的學(xué)校還有工作的經(jīng)歷,不是那么靚麗,但我一下看到了他簡歷里列的GitHub地址以及參與的開源項目,因此馬上進(jìn)GitHub瀏覽他的程序,發(fā)現(xiàn)程序挺漂亮,結(jié)構(gòu)、層次都很清晰,代碼可讀性很強(qiáng),更讓我驚訝的是,用英文寫的文檔以及注釋完全不輸給我這個在美國留學(xué)工作10多年的海歸。我立即讓另外一個同事也去看一下他的代碼,得出的結(jié)論是,這人很優(yōu)秀,即使遠(yuǎn)程工作,也值得馬上錄用。因此我們馬上視頻交流,很快,我就定下了錄用的決定。


        如果沒有GitHub,沒法翻看他寫的上萬行代碼以及文檔,沒法查看修改記錄,我絕不會考慮錄用一個連面都沒有見過的小伙子,而且招聘時,還是會更傾向于我中國科大的師弟師妹,或有過其他名校就讀和大廠工作經(jīng)歷的人。開源,改變了我的面試流程,改變了濤思數(shù)據(jù),也改變了一個程序員的人生軌跡。


        現(xiàn)在的軟件系統(tǒng)往往很大,以大家熟悉的Linux內(nèi)核為例,源代碼行數(shù)已經(jīng)超過2500萬行,文件超過6萬個,參與的開發(fā)者超過2萬人。就連濤思數(shù)據(jù)開源的TDengine, 一個看似簡單的物聯(lián)網(wǎng)大數(shù)據(jù)處理平臺軟件,C/C++代碼已經(jīng)超過30萬行,Python測試代碼都已超過15萬行,而且還會成倍增長。開發(fā)一款軟件,更多的是團(tuán)隊協(xié)同,而不是單兵作戰(zhàn)。單個程序員的貢獻(xiàn)如何體現(xiàn)?如何讓外界的人知道并評估?對于閉源軟件來說,這個價值判斷問題無從下手。但開源不同,因為程序員寫的任何一行代碼,注釋,做的任何修改都會被記錄下來,而且任何人都可以看到。能力的高低,貢獻(xiàn)的大小隨時可查。

        TDengine 在 GitHub 上的頁面


        開源給程序員提供了一個展現(xiàn)自己個人能力的絕好機(jī)會,特別是對于大廠、大系統(tǒng)的開發(fā)者。這個展現(xiàn),能讓大家更加客觀地評價一個程序員的價值。長期以來,大家更容易相信在大廠工作過的,雖然他有可能從沒貢獻(xiàn)過核心代碼,從沒解決過重大技術(shù)問題,只是一個濫竽充數(shù)之輩;大家更傾向于相信名校畢業(yè)的,即使他早已停止學(xué)習(xí),只是曾經(jīng)高考分?jǐn)?shù)不錯;大家更容易相信35歲以下的人,不相信大齡程序員依然有很強(qiáng)的戰(zhàn)斗力。開源的代碼,能讓大家拋棄對教育、年齡、性別、經(jīng)驗、膚色、地域、文化的偏見,看到一個程序員背后真正的價值,便于組建團(tuán)隊,便于協(xié)同作戰(zhàn)。


        開源讓程序員的代碼成為了作品,與畫家的畫、音樂家的曲子一樣,可以被全球程序員欣賞、使用,并傳承。對于閉源的軟件而言,這是不可能的,大家看到的只是UIAPI,無法讓人看到程序本身,更無從欣賞。你在微軟為Windows 操作系統(tǒng)開發(fā)的核心模塊,無論設(shè)計得多么優(yōu)雅,你在騰訊為微信后臺設(shè)計的消息處理模塊,無論高并發(fā)能力有多么強(qiáng)悍,都無法讓人欣賞、驚嘆。但開源之后,一切都變了。只要你的代碼足夠好,解決了重大問題,那一定會成為傳世之作。即使有瑕疵,后來者也可以在你的基礎(chǔ)上修改,但你的名字永遠(yuǎn)會鐫刻在代碼上,而不會被歷史沖刷掉。


        有了作品這個感覺之后,程序員會天然的對自己的代碼產(chǎn)生一種自豪感,會對代碼的質(zhì)量產(chǎn)生極致的追求,因為他不想自己的代碼被人唾棄,而是被欣賞。在20197月決定將TDengine開源之前,濤思數(shù)據(jù)團(tuán)隊花了好幾個月的時間整理代碼,編寫文檔,目的就是不想讓它過于難看,被人詬病。不開源的話,我們根本沒有這個動力去做,因為用戶是看不見的。在2019年底啟動TDengine 2.0的開發(fā),更是如此,就是想讓TDengine的設(shè)計與代碼更加優(yōu)雅,結(jié)構(gòu)更加清晰,讓其他程序員看的時候,能享受到一種快樂和美感。3個月前,我花了幾天時間動手為TDengine寫了一個小模塊tref.c,就想完美地解決在多線程情況下,資源的生命周期管理問題,而且就希望這個500來行的小程序能被全球的程序員學(xué)習(xí)、使用和改進(jìn),不再為多線程問題所煩。如果不是因為開源,沒有會成為作品的感覺,我大半就是僅僅解決一個具體問題而已。

        GitHub?上 tref.c 的一段源代碼


        對于初入茅廬的程序員而言,參與開源項目,更是一種學(xué)習(xí)的機(jī)會。不僅可以觀摩、學(xué)習(xí)絕頂高手的代碼,更可以參與其中,貢獻(xiàn)一段代碼。自己寫的代碼有問題,一定會被測試出來、被人指出毛病,甚至直接被人修改或拋棄。與大俠直接過招,相比閉門造車,相比自己摸索,成長的速度要快N倍。而且參與的方式有很多種,除直接貢獻(xiàn)產(chǎn)品代碼外,還可以貢獻(xiàn)測試?yán)?、測試代碼,貢獻(xiàn)文檔,貢獻(xiàn)使用案例等。就象TDengine,測試代碼的行數(shù)將會遠(yuǎn)超過產(chǎn)品本身的代碼行數(shù),而且對技術(shù)的要求一點都不亞于產(chǎn)品本身。我的第一行程序是1984年寫下的,當(dāng)時正讀高中一年級,只能看到譚浩強(qiáng)編寫的《BASIC語言程序》這本書,書里盡是一些簡單得不能再簡單的程序。如果當(dāng)時就能像現(xiàn)在這樣訪問無數(shù)優(yōu)秀的開源代碼,對于一個如饑似渴的學(xué)生而言,那無疑找到了世界上最好的課本和老師。


        對于9000后程序員而言,開源,讓他們趕上了程序員前所未有的黃金時代。對于我這個52歲的大齡程序員而言,仍然是趕上了黃金時代,因為可以依靠自己的實力證明,編程沒有年齡的限制,而且仍大有用武之地。真心的希望,三十年之后,還有人在看在用我寫的代碼,而且我自己還能給TDengine貢獻(xiàn)代碼,那才是我最大的幸福。

        這臺Mac為TDengine貢獻(xiàn)了4萬多行代碼


        “這是最好的時代”,開源,讓程序員的價值能更客觀地展現(xiàn),讓程序員有了屬于自己的作品,讓程序員去追求極致,有動力去打磨作品,讓其成為傳世之作。對于真正的程序員而言,毫無疑問,這是最好的時代。


        “這是最壞的時代”,開源,讓濫竽充數(shù)的程序員無所遁形,能傳承下去的一定是精美的作品,不再會有劣幣驅(qū)逐良幣之說。對于靠拍、靠混,依賴炫酷的PPT和報告升遷的程序員而言,毋庸置疑,這是最壞的時代。


        無論年齡,無論學(xué)歷,無論是在BAT還是在startup工作,? 只要你熱愛編程,就一定要參與到開源的浪潮中。無論你是全職加入濤思數(shù)據(jù)這樣的開源軟件公司,還是作為社區(qū)貢獻(xiàn)者參與一個開源項目,只要持續(xù)努力,你一定會給世界留下一個印跡,給人類留下一幅作品。


        陶建輝

        20201227日于北京望京



        閱讀原文,體驗或參與開源的TDengine?

        瀏覽 38
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            亚洲天堂内射观看 | 日本边添边摸边做边爱视频免费 | 韩国的黄色片 | A级黄色 韩国美女视频黄是免费 | 中文字幕免费视频在线观看 | 奇米二区 | 538色视频一区二区三区 | 堆萌操逼网站 | 免费高清在线观看免费的成人 | 免费一级看片 |