摘要:大局意識(shí)就是合理地優(yōu)先處理某些重要的小項(xiàng)目。對(duì)于所做事情的意義,我想到了美國(guó)西部大淘金的時(shí)代。我在美國(guó)時(shí)發(fā)現(xiàn)很多產(chǎn)業(yè)都只剩下幾個(gè)巨頭在競(jìng)爭(zhēng),而國(guó)內(nèi)各種類似領(lǐng)域有大量小公司的存在。
Integ 是 SegmentFault 的前端 Hacker,在本次訪談中貢獻(xiàn)了編程五年多的感悟與總結(jié)。Codes Don"t Lie 這個(gè)標(biāo)題(并非 Hips Don"t Lie)代表了 Integ 的誠(chéng)懇和回答的干貨滿滿。在訪談中,他談到了最近國(guó)內(nèi)互聯(lián)網(wǎng)創(chuàng)業(yè)熱潮的成就及其存在的問(wèn)題,發(fā)表了對(duì)行業(yè)熱門的 JavaScript 的看法,對(duì)極客精神的理解,并且在最后談到了政治和商業(yè)對(duì)個(gè)人隱私的威脅。
Part I. Scrum Master 與“大菊觀”你為什么自稱 Scrum Master?
"It sounds cool."
只是單純的喜歡這個(gè)名字,雖然我個(gè)人是反對(duì) Scrum 的,原因是它限制了程序員的創(chuàng)造力。SegmentFault 團(tuán)隊(duì)在嘗試過(guò)一次之后也沒(méi)有繼續(xù)使用。
Scrum 在橄欖球里的意思是爭(zhēng)球,而在軟件工程中是一種協(xié)同工作的方法論,也就是常說(shuō)的“敏捷開(kāi)發(fā)”。大致的流程是大家通過(guò)積極的討論,確定各自的任務(wù)和所需的時(shí)間,通過(guò)移動(dòng) Storyboard 上的小紙條,清晰地向所有人展示整個(gè)項(xiàng)目的狀態(tài)。先拆分任務(wù),然后大家一起用撲克牌來(lái)估時(shí),每個(gè)人使用一張撲克牌,上面的數(shù)字代表這項(xiàng)任務(wù)需要多少時(shí)間完成。通過(guò)這種方式,理論上一個(gè)龐大的團(tuán)隊(duì)可以有效率的完成一個(gè)項(xiàng)目。
在我們使用 Scrum 的過(guò)程中,第一個(gè) Sprint 就覺(jué)得它很有趣,效率也很高??墒锹奈覀儼l(fā)現(xiàn)它過(guò)于程式化,給人一種死板、走流程的印象。在我們只有 3 個(gè)人的小團(tuán)隊(duì)(一個(gè)前端,一個(gè)后端,一個(gè)設(shè)計(jì)師兼產(chǎn)品經(jīng)理)里根本施展不開(kāi),簡(jiǎn)直就是用超級(jí)計(jì)算機(jī)玩掃雷。Scrum 的強(qiáng)透明的屬性可能更適合遠(yuǎn)程的團(tuán)隊(duì)使用。
JavaScript 最近幾年是程序員中的一個(gè)熱點(diǎn),你對(duì)此有什么看法?
JavaScript 是互聯(lián)網(wǎng)時(shí)代的匯編語(yǔ)言。
我寫(xiě) JavaScript 已經(jīng)接近 5 年了,但是覺(jué)得距離精通這門語(yǔ)言還很遠(yuǎn)。JavaScript 是一門更新很快的語(yǔ)言,用最新的 JavaScript 規(guī)范寫(xiě)出的代碼,和 JavaScript 剛創(chuàng)造出來(lái)時(shí)寫(xiě)出的代碼,看上去可能差別很大,甚至是用另一種語(yǔ)言寫(xiě)出來(lái)的感受。然而,雖然已有多代的更新,我個(gè)人覺(jué)得,編程的思維模式幾乎沒(méi)有改變。JavaScirpt 最初只是 Brendan Eich 用很短時(shí)間設(shè)計(jì)出來(lái)的語(yǔ)言,很難做到完美。然而現(xiàn)在用戶眾多,即使有更好的語(yǔ)言出現(xiàn),我個(gè)人認(rèn)為在短時(shí)間內(nèi)也難以替代。
你個(gè)人積累了很多開(kāi)發(fā)經(jīng)驗(yàn),有什么給新手程序員的建議嗎?
“大菊觀。”
當(dāng)我剛開(kāi)始接觸編程的時(shí)候,關(guān)注點(diǎn)都在于如何用代碼來(lái)實(shí)現(xiàn)自己的想法。寫(xiě)了很多個(gè)小程序,當(dāng)我開(kāi)始真正接觸大項(xiàng)目,我發(fā)現(xiàn)寫(xiě)代碼來(lái)解決某一個(gè)問(wèn)題只是編程的第一階段而已。這僅僅是實(shí)現(xiàn)編程路上的一個(gè)小臺(tái)階。到了第二個(gè)階段,編程的關(guān)鍵在于擁有大局意識(shí),不僅要把功能實(shí)現(xiàn),還要把程序?qū)崿F(xiàn)得優(yōu)雅,易于維護(hù),甚至可以快速推倒重來(lái)。大局意識(shí)還有一個(gè)好處:可以大幅節(jié)省時(shí)間。一個(gè)大項(xiàng)目,可以拆分成很多個(gè)小功能,這些小功能有些簡(jiǎn)單有些復(fù)雜,有些重要,有些不重要,一定要先挑簡(jiǎn)單且重要的做,然后是重要但不簡(jiǎn)單,而復(fù)雜且不重要的一定最后做,因?yàn)樗鼈兒芸赡茉谥蟮漠a(chǎn)品設(shè)計(jì)中被拋棄。大局意識(shí)就是合理地優(yōu)先處理某些重要的小項(xiàng)目。
簡(jiǎn)單介紹一下在 SegmentFault 的工作。如何看待 SegmentFault 的價(jià)值?
我在 SegmentFault 主要做的是前端開(kāi)發(fā)。除了網(wǎng)站的開(kāi)發(fā)和維護(hù),還會(huì)做一部分運(yùn)營(yíng)和創(chuàng)意的工作,偶爾還會(huì)客串下 DevOps。在 SF 所有工作的目的都是一致的:保證每個(gè)用戶都可以輕松愉快地使用我們的服務(wù)。對(duì)于 SF 所做事情的意義,我想到了美國(guó)西部大淘金的時(shí)代。雖然現(xiàn)在已經(jīng)沒(méi)有淘金者了,但是那些默默無(wú)聞的為淘金者提供各種相關(guān)服務(wù)的人同樣推動(dòng)了那個(gè)時(shí)代的發(fā)展。同樣的道理,這是開(kāi)發(fā)者的時(shí)代,大量的資本和人才涌入互聯(lián)網(wǎng)行業(yè),SF 服務(wù)于開(kāi)發(fā)者,為他們搭建平臺(tái),提供支持。所以我對(duì) SF 的未來(lái)還是很有信心的。
Part II. 互聯(lián)網(wǎng)創(chuàng)業(yè)熱潮與極客精神身為創(chuàng)業(yè)公司的一員,你對(duì)國(guó)內(nèi)的創(chuàng)業(yè)熱怎么看?
商業(yè)是有生命的,會(huì)自我驅(qū)動(dòng)和救贖。
我認(rèn)為國(guó)內(nèi)的互聯(lián)網(wǎng)創(chuàng)業(yè)熱潮,徹底改變了中國(guó)互聯(lián)網(wǎng)的面貌,甚至改變了很多人的命運(yùn)。雖然不可避免的存在一定泡沫的,但勇敢的弗拉多正站在這樣一群霍比特人之間。雖然我對(duì)一些互聯(lián)網(wǎng)公司的未來(lái)不是很樂(lè)觀,可能一些公司更像是在做市場(chǎng)調(diào)研,付出了很多努力,發(fā)掘了新市場(chǎng)后,很有可能后來(lái)居上,被其他人學(xué)走商業(yè)模式和核心技術(shù),然后把第一批初創(chuàng)公司擠出市場(chǎng)。創(chuàng)新在很多領(lǐng)域都有,重點(diǎn)在于如何構(gòu)建商業(yè)模式,實(shí)現(xiàn)它的價(jià)值。我在美國(guó)時(shí)發(fā)現(xiàn)很多產(chǎn)業(yè)都只剩下幾個(gè)巨頭在競(jìng)爭(zhēng),而國(guó)內(nèi)各種類似領(lǐng)域有大量小公司的存在。對(duì)于小公司來(lái)說(shuō)規(guī)模擴(kuò)張的成本在提高,人力成本也在提高,每個(gè)領(lǐng)域最后可能只會(huì)剩下做得最好的幾家公司。
你是如何理解極客精神的?
Geek 都是理想主義者。
在我看來(lái),真正的極客精神是非常理想化的。首先,你需要大量的時(shí)間,需要不用去考慮物質(zhì)因素,不向現(xiàn)實(shí)妥協(xié)。在這種不計(jì)成本的情況下,真正的極客會(huì)不計(jì)精力地去鉆研 TA 所熱愛(ài)的事物,制造新鮮的東西。如果有人問(wèn)一個(gè)專業(yè)登山者:“你為什么做這些?”,正確的答案是:“因?yàn)樯骄驮谀抢铩?。極客也是如此。純純粹粹地為了探索而探索,就像物理學(xué)家費(fèi)曼,特別喜歡研究如何開(kāi)鎖,但他不用去顧慮這些研究是否會(huì)帶來(lái)實(shí)質(zhì)性的回報(bào)。與此同時(shí),真正的極客不能局限于某個(gè)領(lǐng)域,那樣只能被稱作某些領(lǐng)域的專家。極客有著無(wú)限膨脹的好奇心,對(duì)身邊的各種事物都會(huì)克制不住地去探個(gè)究竟。從這個(gè)意義上說(shuō),國(guó)內(nèi)真正的極客還是少見(jiàn)的。
Part III. 自由軟件與知識(shí)產(chǎn)權(quán)激進(jìn)主義看到了你博客里關(guān)于《若為自由故》的讀書(shū)筆記1,想問(wèn)下你對(duì)知識(shí)產(chǎn)權(quán)和開(kāi)源的個(gè)人看法?
《Free as in Freedom》這本書(shū)向所有人發(fā)出了警告,信息安全問(wèn)題勢(shì)必成為互聯(lián)網(wǎng)行業(yè)的 H-Bomb。
無(wú)論是微軟、蘋(píng)果之類的科技公司巨頭還是各類信息服務(wù)提供商,雖然可能并不希望這樣做,但它們的一些不透明行為,導(dǎo)致其用戶的隱私,存在著嚴(yán)重的安全隱患。除了這些公司里的一部分人,其使用者根本不能確定自己的用戶信息、密碼、搜索記錄等內(nèi)容是否萬(wàn)無(wú)一失,是否會(huì)被他人染指。尤其是在恐怖主義的威脅下,很多國(guó)家出臺(tái)了應(yīng)對(duì)法案,一個(gè)主要附帶結(jié)果就是個(gè)人隱私的威脅進(jìn)一步擴(kuò)大?!度魹樽杂晒省返淖髡?Richard Stallman 提出的解決方案是擁抱自由軟件。
可能很多人會(huì)誤解自由軟件,認(rèn)為開(kāi)源和保護(hù)知識(shí)產(chǎn)權(quán)是相互矛盾的,其實(shí)并非這樣。正因?yàn)楦鞣N開(kāi)源協(xié)議的存在,我們可以更好的保護(hù)自己的知識(shí)產(chǎn)權(quán)不受侵害。而且,自由軟件并不反對(duì)商業(yè)。甚至 RMS 明確提出了“自由商業(yè)軟件”的概念。
人們應(yīng)當(dāng)可以以任何有價(jià)值的方式自由地使用軟件。——自由軟件的哲學(xué)
互聯(lián)網(wǎng)之子 Aaron Swartz 的自殺,引發(fā)了人們對(duì)公共領(lǐng)域的思考。他是一個(gè)殉道者,他做的事情在當(dāng)時(shí)是存在道德風(fēng)險(xiǎn)的,然而他的死促進(jìn)了社會(huì)大眾對(duì)公共領(lǐng)域看法的大幅改變。人類知識(shí)智慧的結(jié)晶應(yīng)讓所有人分享,這樣我們才能在真理的追求上不斷前進(jìn),然而我不否認(rèn)知識(shí)產(chǎn)權(quán)所有者對(duì)應(yīng)得利益的索取。
Richard Stallman 和 Arron Swartz 都是 知識(shí)產(chǎn)權(quán)激進(jìn)主義 的代表人物。他們的行為和觀點(diǎn)不能簡(jiǎn)單的用對(duì)或錯(cuò)來(lái)評(píng)價(jià),這些觀點(diǎn)對(duì)于處在不同時(shí)代不同的人有不同的利與弊,受爭(zhēng)議是必然的。
如果大家有任何問(wèn)題,或者就某一話題想討論,請(qǐng)?jiān)谠u(píng)論區(qū)留言給 Integ~
//看破紅塵清新文藝的編程女紙 Lily,憤世嫉俗逗逼無(wú)窮的編程噴子 Pepper
Pepper:Lily,我們是何方妖怪?
Lily:我們都是萌萌噠美帝大二在讀生,現(xiàn)在在 SegmentFault 實(shí)習(xí)中。
Pepper:我們最近兩打什么醬油?
Lily:我們要制作一個(gè)訪談系列,為打破外界對(duì)程序員簡(jiǎn)單平面的偏見(jiàn),他們其實(shí)都是有血有肉有思想的創(chuàng)造家。
《自由軟件利與弊》 ?
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/78561.html
摘要:錯(cuò)過(guò)了一周的優(yōu)質(zhì)內(nèi)容,不要再錯(cuò)過(guò)周一的快速回顧一周深度揭秘啟動(dòng)全過(guò)程翻譯組每周社區(qū)問(wèn)答入門語(yǔ)言簡(jiǎn)明入門與提高一只爬蟲(chóng)崔小拽爬蟲(chóng)知乎用戶數(shù)據(jù)爬取和分析如何學(xué)習(xí)開(kāi)源動(dòng)效分析二動(dòng)畫(huà)最佳實(shí)踐一工具箱之生命周期工具箱之權(quán)限管理一步步創(chuàng)建自己的框 錯(cuò)過(guò)了一周的優(yōu)質(zhì)內(nèi)容,不要再錯(cuò)過(guò)周一的快速回顧 一周 fir.im Weekly -《深度揭秘 App 啟動(dòng)全過(guò)程》 SwiftGG翻譯組 -《每周 S...
摘要:錯(cuò)過(guò)了一周的優(yōu)質(zhì)內(nèi)容,不要再錯(cuò)過(guò)周一的快速回顧一周深度揭秘啟動(dòng)全過(guò)程翻譯組每周社區(qū)問(wèn)答入門語(yǔ)言簡(jiǎn)明入門與提高一只爬蟲(chóng)崔小拽爬蟲(chóng)知乎用戶數(shù)據(jù)爬取和分析如何學(xué)習(xí)開(kāi)源動(dòng)效分析二動(dòng)畫(huà)最佳實(shí)踐一工具箱之生命周期工具箱之權(quán)限管理一步步創(chuàng)建自己的框 錯(cuò)過(guò)了一周的優(yōu)質(zhì)內(nèi)容,不要再錯(cuò)過(guò)周一的快速回顧 一周 fir.im Weekly -《深度揭秘 App 啟動(dòng)全過(guò)程》 SwiftGG翻譯組 -《每周 S...
摘要:為了避免重復(fù)調(diào)用,可以適當(dāng)?shù)刈鼍彺?,的裝飾器可以完美的完成這一任務(wù)。這意味著我們可以為方法創(chuàng)建裝飾器,只是要記得考慮。裝飾器封裝了函數(shù),這使得調(diào)試函數(shù)變得困難。另外,使用裝飾器去管理緩存和權(quán)限。 原文地址 之前用python簡(jiǎn)單寫(xiě)了一下斐波那契數(shù)列的遞歸實(shí)現(xiàn)(如下),發(fā)現(xiàn)運(yùn)行速度很慢。 def fib_direct(n): assert n > 0, invalid n ...
摘要:基本概念首先,函數(shù)不能存儲(chǔ)的值,指向哪里,取決于調(diào)用它的對(duì)象。如果沒(méi)有這個(gè)對(duì)象,那默認(rèn)就是調(diào)用非嚴(yán)格模式下。也就是說(shuō)是在運(yùn)行的時(shí)候定義的,不是在綁定的時(shí)候定義的。 基本概念 首先,函數(shù)不能存儲(chǔ)this的值,this指向哪里,取決于調(diào)用它的對(duì)象。如果沒(méi)有這個(gè)對(duì)象,那默認(rèn)就是window調(diào)用(非嚴(yán)格模式下)。也就是說(shuō)this是在運(yùn)行的時(shí)候定義的,不是在綁定的時(shí)候定義的。 funct...
閱讀 3808·2021-11-24 09:39
閱讀 3614·2019-08-30 15:56
閱讀 1432·2019-08-30 15:55
閱讀 1106·2019-08-30 15:53
閱讀 2006·2019-08-29 18:37
閱讀 3671·2019-08-29 18:32
閱讀 3196·2019-08-29 16:30
閱讀 3074·2019-08-29 15:14