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