前言
本書在幽默有趣的故事中,潛移默化地把技術開發、程序員求職、項目管理、創業思路、職業轉型、自我修養等各個方面融合在一起,讓讀者在開心地讀故事的同時,還能學習到很多實際技術知識和職場知識,幫助理解Web開發、系統架構、項目管理、軟件行業商業運作等知識。
(一) 作者及團隊
問題1:請介紹一下你自己及所從事的工作。
解答:大家好,我叫沈逸,目前已達33歲的程序界“高齡”,是標準的80后早期程序員,江蘇常州人。我給自己貼的標簽是:“處于創業階段中失業的程序員”。在繁忙的工作之余,喜歡進行程序人生文字創作,被廣大粉絲戲稱為“程序員的思想叔父”。我希望能通過分享自己創業的經歷,幫助大家一起走出囧途,共創美好的程序人生。
下面簡要地說一下我的程序人生之旅。
我在2004年初參加工作。2006年底“畢業”于CSDN早期的電商事業部,屬于相對較早從事電商平臺開發的技術屌絲。
后在北京繼續打拼了近一年,事業和家庭在某個角度上發生了沖突。我當然選擇了“家庭優先、事業靠邊”的人生態度,離開北京回到了自己的家鄉——江蘇常州,隨后進入了本地最大的軟件公司,從技術管理人員逐步過渡到商務管理人員,并走進企業高層管理團隊。在這個過程中學到了很多,也很刺激,尤其對于從技術轉向商務這個過程,可以說,至今仍是我人生中到目前為止最難忘的經歷。
由于自己始終有一個執著的創業夢想,并打算為之付出終身的努力,因此2010年左右在成為高齡程序員后,我毅然選擇了辭職,下海創業。
創業的開端可以說是“重操舊業”,我重新拾起荒廢了多年的技術。根據自己多年的從業經驗,把技術架構、核心代碼編寫、商務談判、項目運作、團隊管理和用戶公關等職位融于一身,并領導著若干名核心團隊成員。
問題2:在博客中為什么自稱為“創業階段中失業的程序員”?這是對創業目前狀態不滿意,還是一種自嘲?
解答:其實兩者都不完全是。
首先我是一個程序員,而且以后也不打算再次轉型,我希望永遠把這個稱號套在自己頭上,并努力套得更好。
目前的創業階段讓我感到最大的壓力是“未知數”,因為誰也不能保證今后的道路一定是一帆風順的,說不定哪天我們又失業了。程序員最需要的是面對現實的心態,而不是沉浸在“萬事如意、一帆風順”這樣的理想狀態中。
從業務規模來講,這階段可能比前兩年要好一些,但是我始終保持著失業時的那種心態,就是時刻保持危機感,并且我希望我的團隊成員在今后也保持這種狀態。浮躁和驕傲會讓你在今后事業的一些關鍵點做出錯誤的判斷。所以偉人說得好:我們要“戒驕戒躁”,這樣才能走得更遠。
盡管目前已經有了自己的軟件公司,但說實在話,很累。然而我并沒有把這些壓力真的當作壓力,也沒打算要去掉這些壓力,反而是把這些壓力當作托舉我們團隊翅膀的動力。
(二) 關于《程序員在囧途》的一些事
問題1:你是從2005年就開始寫博客的,但為什么2012年底就突然用這種幽默詼諧的語言去寫“程序員在囧途”系列文章?有什么特別的事情促使你這樣嗎?另外,目前也連載了十幾季,是如何堅持下來的?
解答:其實我很早就開始寫博客了,當時在CSDN綜合排名是20多名。回到家鄉后,大家也知道轉型成商務管理后大部分時間就不在電腦旁了,更多的時候是在談判桌上、酒桌傍,所以一直沒時間寫,就停了5年。
自從創業后,我發現,其道路遠沒有想起來那么順利,也遠沒有夢想那么美好。在經歷了多次失敗和挫折后,逐步領悟到了一些人生哲理,并開始把自己的創業之路(包括成功的經驗和失敗的教訓)用小說的方式改編并記錄下來。目的在于用這種方式幫助更多的想創業的程序員,幫助廣大程序員建立起樂觀的心態,了解最真實的草根程序員創業之路,了解如何充分整合手上零散的資源,懂得團隊其實是技術和商務的比例化結合,懂得創業的最基本要素是“技術+人脈+機遇+運氣+團隊+頭腦”等各項因素的整合,并借此希望大家能夠在創業過程中享受其中的樂趣。
我以前的格言是:“有夢想一定要去做,不達目的誓不罷休。”現在我給自己寫了一條新的格言:“有夢想一定要去做,但是未必一定要實現。”寫這個系列使我堅持下來的動力來自于粉絲對我的支持,同時也是寫給現在或將來加入我團隊的新成員看的,也許將來他們來面試,可以笑著快速了解我們公司的一些近況,吸引更多的人才與我們合作。另外,今年,這個系列讓我們也接到了一些意想不到的項目,所以后面會繼續寫下去,肯定不會放棄。
問題2:《程序員在囧途》有什么特色?或者說,為什么能夠獲得這么多讀者的好評?
解答:本書其實是通過采訪和親身經歷,讓各種不同的真實事件以詼諧幽默的方式展現出來,使“不同品種”的程序員都能針對各自不同的階段對號入座,并讓旁觀者了解他們。所以雖然書名為“囧途”,但閱讀的人卻能心情開朗,可能這就是受歡迎的原因。
首先,原則上,每一章都是一個獨立的章節,每一章都反映了不同類型的程序員在大學、職場、創業、生活、項目管理、團隊等多個方面的“囧事”。所涉及的故事均由作者根據真實事件改編并完善。
其次,每一章雖然獨立,但內部隱含了一定的人物關聯。如某一章講述的是一個大學生求職做程序員時遇到的一些囧事,而到后面會有一章講述裁員的故事,那里面已經成為部門經理的裁員主管原來就是過去那位求職的大學生。從而以不同角度反映了程序員身心的成長歷程和前后反差。
為了豐富內容,本書還邀請了博圖軒創意團隊的成員參與,他們分別來自微軟、騰訊、阿里巴巴、EMC、百度等公司。在這里,尤其要感謝來自阿里巴巴的Barret Lee。他們的參與,讓本書內容更具看點,也讓本書能夠贏得更多讀者的青睞。
問題3:為什么要以這種方式來幫助程序員們建立樂觀的心態并了解真實的草根程序員創業之路?是為分享收獲,還是為了通過寫故事釋放壓力和尋找共鳴呢?
解答:有句話叫作“技術貴在分享”。因為技術不是蘋果,不會被人咬一口而少一塊。同樣,創業經歷和人生哲學也是如此,不在封閉自賞,貴在分享和傳播。
其實與釋放壓力關系不大。因為我很喜歡壓力,沒有壓力,如何托舉騰飛的翅膀啊。
幽默詼諧的文字風格是為了讓大家能建立樂觀向上的心態。我以前有一些同事整天眉頭緊鎖、唉聲嘆氣。其實世間本無難事,笑著換個角度看整個事情,感覺立刻就會很好。我希望更多程序員在遇到煩心或者郁悶的事情時,來看一看這個系列,共同交流一下,就會發現其實很多事情都可以笑著、樂觀地去解決和處理。現在我的團隊成員也有一些被我感染,開始寫一些東西。我覺得整個團隊的氛圍從商業味很濃,逐漸變到更加具有文學氣息了。這很好、很強大,也巨給力,我很喜歡。
問題4:聽說你在創業的同時,還擔任了好幾家網站總監和技術顧問等職務,再加上平時還撰寫博客,你的時間能安排過來嗎?能分享一下典型的一天時間是如何安排的嗎?
解答:大部分能安排得過來,但是有時事情實在太多,也會無暇分身(例如要進行一些商務安排時,時間就很難自己把握)。下面是我典型的一天:
●早上7:00起床,跑步一小時。注意,沒有好的身體素質,就不具備做優秀程序員和做領導的條件。很多單位體檢一方面是為了員工福利,另外一方面也是看你身體行不行,身體不行那肯定不值得深入培養。
● 8:30進入辦公狀態。其中花半小時快速瀏覽新聞和時事信息,這是必要的,不然遇到客戶根本不知道如何吹牛。
● 9:00~11:30寫博客或者處理郵件。
●午飯后,午睡15分鐘(這是減少猝死的有效方法?)。
●下午的大部分時間是與團隊成員一起討論項目解決方案,然后會參與編寫核心代碼和修改Bug。
●下午4:00開始,基本上不在電腦前,可能要拜訪客戶,或者與一些重要客戶打電話聊感情。注意這也是必要的,不是有利益的時候才想起他們,客戶也是人,也是需要感情培養的,同時我很少用QQ說事情,因為防止產生不必要的文字誤會。
●晚飯后,如果是周一,那么要寫作新的一章,一般需要耗費我5個小時或者更久。如果不是,那么就是陪伴家人,其他天大的事情都不管!晚上10點后手機就關機了,哪怕這時有業務,也不接。沒什么比跟家人在一起更重要了。
●一般每周我會到幾家合作單位去一次,大部分時間不需要坐班,也感謝這些單位對我的信任,我也會提供超值的服務。
(三) 職場建議
問題1:在程序員的職業生涯中,跳槽似乎非常頻繁,但你曾表示很多程序員實際上并不會跳槽。那你覺得程序員應該如何避免盲目跳槽(或者說如何讓跳槽更有價值)?
解答:跳槽并不是程序員的專利。大家原來講的程序員跳槽頻繁大都來源于當時的IT泡沫,大部分公司開起來不久就死了,包括現在很多IT公司靠著一個idea生存的,都可能在未來幾年內消逝,這是導致程序員跳槽頻繁的主要原因。當然還會有更深層次的原因。
怎么跳槽?首先不要看工資,雙倍高薪挖你,不代表你技術能力強,挖人的公司大都看中了某些市場,想不勞而獲地把你原公司的資源拉過來,很多類似情況的程序員會發現干了一段時間不是工資被降了,就是干得很不開心。真正愛才的公司也許不會用薪水來吸引你,用倍數級薪水來做籌碼的公司本身自己的出發點就不是很正。
其次,跳槽要關注的并不只是公司文化、平臺和空間等虛無縹緲的東西。主要是以下兩點。
(1)公司老板怎么樣。公司企業文化都是在企業第一領導人的處事風格和本身性格中建立起來。看事物要看本質,所以看企業文化要看老板的風格和性格。國家文化也是這樣,如朝鮮,其國家文化與最高領導人是密切相關的。
(2)新公司對你未來的人脈和資源積累是否有幫助。不要只為了學到技術,不管什么公司規模,你該學到的一樣能學到,學不到的還是學不到。大公司往往學到的沒有小公司的多,并且大小公司都要學會做人和做事,沒有分別。小公司做事比較多,那是因為小公司還沒走上正軌,飯都吃不飽,老板沒空來教我們做人。
而只有在跳槽過程中積累更多的人脈和資源,那才是你真正的財富(除非你今后打算去整容)。技術變革太快,你學到的東西遠跟不上其更新換代,何況現在的90后、00后出來后,絕對比我們學得更快。
問題2:很多人認為開發人員上升到開發經理就是一種轉型,對此你是怎么看的?如果不是,那技術人員在實際中該怎樣實現真正轉型?
解答:絕對不是從開發人員上升到開發經理就叫轉型。真正的轉型是一種技能全方位的升華,從微觀到宏觀的升華,能脫離代碼的局限性,更高、更遠地看待自己的程序人生。
技術并不等于代碼,商務意識的建立、用戶體驗的包裝也是一種技術,更是一種學不完的學問。例如一個客戶要買OA軟件,兩個程序員每人做一個同樣的程序,A程序員就事論事,很可能賣的價格很低而根本無人問津,B程序員做完后能從理念、實用性、工作效率的提升上打動客戶,從而賣出更高的價格,那么其實B程序員就實現轉型了。
問題3:有的程序員只認技術,而不注重業務和心理建設,對于這種程序員的未來,你是怎么看的?你認為一名合格且上進的程序員(尤其是打算創業的)應該具備哪些綜合能力?
解答:首先我們要知道,每一個產品都是為最終的消費者(即用戶)服務的。這也就說明,技術是為商務服務的。沒有獨立存在的技術,也沒有獨立存在的商務。其次,作為職業程序員來說,技術的價值在于為公司創造更大的利潤。對于創業程序員來說,技術是為了養活公司,服務于客戶。
而上述兩點都需要一個團隊來運作,所以沒有哪一種技術是能脫離團隊、高于團隊的。更沒有哪一種語言有前途、哪一種語言沒前途之分。合格且上進的程序員除了技術追求外,要具備商務意識和創業夢想,雖然最后他不一定會去創業,但這樣他才能更好地理解現在應該學習哪一種技術,明白現在學了這些技術是為了什么。同時,合格且上進的程序員不能一味地埋頭苦干,程序員做技術要面對現實、了解國情、熟悉本地的行業環境和了解自身的能力,這樣才會不迷茫、有動力、有信心。
問題4:你目前除了創業所從事的領域,還會關注哪些技術領域?為什么?另外,在技術變革如此快的今天,程序員掌握的語言是越多越好嗎?
解答:基于我今后的方向,我現在更關注農業方面的信息、人們對健康食品的需求。對于職業程序員來說,掌握的語言要根據所屬公司項目的需要。當然有興趣的話也可以學習1~2門額外的語言,做技術不在于廣,而在于精。
對于創業程序員來說,根本不存在這個問題。生活的壓力會逼著你快速學會這些語言。舉個例子:多年前,我接到了一個不錯的PHP項目,金額還不錯。當時團隊沒人會,于是只能我來。由于開發周期緊,我花了一周時間學會了PHP基本語法,為了糊口,我竟然把網上的教程源碼都背了下來,并根據自己在C#或Java上的一些經驗,自行設計了一個開發框架,雖然簡陋,但是后來當我看到一些真正的PHP開發框架后,發現當時我自行設計的思路非常類同于這些成熟的框架!
所以,技術怎么學?不是越多越好,最關鍵是要融會貫通。怎樣融會貫通呢?項目經驗是必需的,沒有人能憑空想出一個框架來。當然,上面例子中那時的我,沒想到一貫這么差的記憶力在當時能立刻加強了這么多倍。所以,好的程序員都是逼出來的。喝著咖啡、唱著歌、吃著薯片學不好技術。有人說國外有的程序員就是那樣的,但我要說那是在國外,我很少去看國外程序員學技術的案例,偶爾看看提高提高腎上腺素可以,要照搬不現實,面對現實了解國情最重要。
問題5:你稱沒有哪一種語言有前途、哪一種語言沒前途,這種觀念跟大多數人所認為的很不一樣,能不能解讀下對此你是怎么理解的?
解答:是的。這樣說本質上就是“一切從實際出發”。對于職業程序員來說,學語言是身不由己,因為很可能公司的語言方向決定了你的方向。
對于創業者來說,客戶需要什么平臺,你就必須學習與之相應的編程語言。換個角度來講,你是在被動情況下學習了這些語言。
我們也可以把被動轉為主動。例如,過去很多人說PHP只能做網站,但我們團隊早先用PHP做了一個CRM系統,其實PHP做的軟件系統執行效率和可擴展性也很高,而且節約了客戶購買相關套件的成本,最后連續簽訂了兩個買家,價格還不錯。后來我們大部分產出的軟件產品都是基于PHP的,而且發現比原來的Java版本賣得更好!這說明的確是跟語言無關的,關鍵要看推銷的能力。當然,東西好是必需的。
* * *
本書由沈逸編著,參與編寫工作的還有Barret Lee、劉耀宗、萬建邦、鄧世健、趙曉芳。本書讀者交流QQ群為106121318,歡迎讀者朋友加入。
引子:麥穗子的職場經歷
麥穗子依托莖株的光合作用,在空氣和土壤環境中生長,它汲取周圍的養分,在烈日的烘烤下積蓄能量,逐漸成熟了。
* * *
走出學校大門的一剎那,麥穗子有些戀戀不舍,但他在心底暗暗鉚足了勁。因為從這一刻開始,麥穗子就是大米軟件公司的一名新員工了。
4年的大學生活,讓麥穗子有很多難以割舍的東西。失敗過,成功過;喜悅過,也傷心過;見證了李開復的精彩演說,也參加了雷軍的精彩對話。如今,與很多躊躇滿志的大學畢業生一樣,在經歷了實習努力表現、面試層層篩選之后,他終于來到了與自己的興趣非常接近的大米公司。
我們的故事也將從這里開始。
(一) 第一次選擇和第一群伙伴
大米軟件公司研發部是一支非常有沖勁的團隊,是典型的“以老帶新”式結構,在這支將近40人的大團隊中,成員來自四面八方,年齡在20多歲到40多歲之間,伙伴們大都在這個領域有較為深厚的積累。與這些伙伴共事,麥穗子覺得很有干勁。
初入職場,麥穗子給自己制訂了非常詳細的計劃。在公司指定導師手把手的幫助下,他很快就開始進入狀態了。按照人事部的安排,公司有一個專門幫助新員工入職和進入項目的“流程計劃表”。初來乍到,麥穗子嚴格遵照計劃表上的安排行事,雖說也經常顯得死板和笨拙,但還是依靠它翻越了一座又一座困難的山頭。
在與周圍朋友的交流中,麥穗子快速地成長著。善于傾聽是“小麥”的一個長處,所以周圍的朋友都愿意跟他分享工作、生活中的故事。在這段時間,麥穗子結識了幾位初入職場的程序員。或短暫地交流、或深入地詳談,他們都給了麥穗子許多正能量。他們分別是:
●在大學階段就“未雨綢繆”,通過努力最終成功進入阿里巴巴的老同學Barret Lee。
●知難而上,像牛一樣“在囧途中橫沖直撞”的程序員夏力鼎。
●拒絕當“貝多芬的隱性傳人”,借助一切資源為當程序員而不斷努力,自稱為“轉基因碼農”的程多芬。
●通過努力奮斗贏得學妹心,最終征服了“教授”級準岳父的程序員陸小禾。
●帶著兩個對未來充滿憧憬的組員,期待創造更美好明天的一線開發人員黃小豆。
●“巾幗不讓須眉”、勇往直前的女漢子程序員花木蘭。
●認為“努力是一種基礎,而天賦是一種加速度”的東北漢子、嵌入式程序員沈渤海。
每個人身上都是帶有能量的。健康、積極、樂觀的人帶有正能量,與這樣的人交往,能將正能量傳遞給你,令你獲得那種快樂向上的感覺,讓你覺得“活著是一件很值得、很舒服、很有趣的事情”。
在大米公司,項目組對于代碼的質量要求非常高,功能上嚴格測試,性能上精確控制,麥穗子的每份代碼都要經過至少兩位同事的評審。大家都認可了,才能提交到配置庫。可是慢慢地,熟悉了這些流程之后,麥穗子開始覺得枯燥乏味。隨著挑戰難度的降低,這種枯燥的感覺愈發突出。有時候,為了修改一個變量,需要修改、評審、提交代碼多個環節,并經過反復和嚴格的測試,可能幾秒鐘的修改,卻需要十幾個小時投入的測試來保證正確性。
而且3年之后,麥穗子明顯感覺到正能量在減少,他覺得自己不能在這里繼續耽擱了。雖然他學到了很多東西,但是這種工作已經無法讓他充滿動力地去迎接新的一天;于是他決定改變,跟主管告辭后,離開了大米公司。
(二) 第二次選擇和新伙伴
麥穗子對待第二份工作的態度十分謹慎。綜合比較之后,他來到了搜木公司視頻團隊。搜木公司的開發團隊成員都在30歲左右,是清一色的男程序員。麥穗子在這里面對的是陌生的領域,雖然壓力頗大,但他干勁十足。
人的意識就是一種無形的能量,這種能量通過人的意識發散到環境中,形成強度不同的能量波,它可以影響和改變事物的存在形態和發展方向。麥穗子把它叫作意念力。帶著這種意念力,麥穗子成功地征服了一個又一個項目。
隨著這種正能量的輻射,公司還讓麥穗子獨立承擔了幾個新產品。一年之后,麥穗子成功地成為公司電子商務團隊的負責人。為了學到更多的經驗,擴大人脈圈,麥穗子開始熱衷于行業聚會,奔走于本市的不少沙龍和咖啡吧。在那里,麥穗子又認識了一些與項目管理相關的朋友。他們分別是:
●認為程序員“工作很有節奏感并且生活豐富多彩”,敢于擔當而又略顯無奈的技術骨干劉柏楊。
●首次進行招聘即有精彩表現,并期待成為“神一般的面試官”的項目經理高曉粱。
●獨闖內蒙古,“初生牛犢不怕虎”的“奶牛項目經理”章趙生。
●在事業單位從事信息化工作,從用戶角度來描述程序員的“技術型用戶”劉新志。
●被抽調參與“邀請型談判”,認為做技術比較輕松和幸福的馬小竹。
●善于總結年終獎發放模式,并試圖為部門小伙伴爭取利益的新一代項目經理孔融。
●自學成才,認為“很多自主創業成功者都是從做私活開始的”屌絲程序員洪欣。
●夾在魚和熊掌中間、堅信“中藥越熬越苦,而程序員越熬越甜”的管理者謝小木。
●面對團隊困局,勇于挑戰自我的UI設計師呂小蒙。
●連續接手并攻克了4個爛尾項目,逐步成長為開發組組長、項目經理的朱亮。
經過3年的成長,讓麥穗子積累了人脈和資源,但他希望有一個更好的平臺。這年冬天,麥穗子決定去廣州發展。
(三) 第三次選擇和囧途故事
這一次,他加入了規模更大的企鵝軟件公司。
從進入公司的那一刻起,麥穗子覺得自己的熱情一下子被點燃了。周圍都是態度樂觀、積極向上的人,麥穗子充滿了熱心、希望和信念。與這些人在一起,就像處于一個正能量場或一種氣流中,可以補充或改造四周較弱的負能量場。好長時間了,麥穗子終于有了可以大干一場的感覺。
到了這個時候,麥穗子開始意識到:專業是利刃,人脈則是秘密武器。他開始思考如何以自然、有創意、互利的方式去經營人脈。職業的磨練,工作經歷的磨礪,使麥穗子想到了創業。在這個“創業改變命運”理念盛行的時代,由不得他不去思考。盡管現在還在企鵝軟件公司打工,但麥穗子已經意識到應該去結交更多的朋友。
于是,又有了下面這些朋友的故事:
●認為“遇到一個好老板,讓你受益終身”,并通過項目華麗轉型的程序員劉小貝。
●經歷火葬場驚魂14天,感嘆“干這個職業光不怕苦不怕累還不夠,最關鍵的是要不怕鬼”的鐘小葵。
●感嘆“金子和垃圾往往只有一步之遙”的技術副總監周大渝。
●感嘆“不要讓下屬成為你頭疼的三宮六院,而是讓他們真正成為與你并肩作戰的士兵”的部門經理司馬仲達。
●善于洞悉領導意圖,從“心腹”成長為項目總監的程序員劉法正。
●洞悉家族企業內幕,為家族企業成長把脈的孫小權。
●當公司面臨倒閉時依然打算站好最后一班崗,并通過自己的努力幫助公司走出困境的“異類”編輯崔東亮。
●與風投老板交鋒,認識到“創業者的信心有時候需要自己給自己,不能指望別人”的創業者曹小草。
* * *
人說事業坎坷,“囧途”多難,但努力終會有收獲。每個人的奮斗經歷都能給人們帶來某種感悟。麥穗子想把朋友們的這些經歷整理一下,為更多人的工作和生活提供參考。
他的想法獲得了朋友們一致的鼓勵和支持,“囧途”故事就這樣誕生了。沿途的風景很迷人,就讓我們細細品讀麥穗子講述的這些“囧途”故事吧!
人物表:
(麥穗子)BarretLee 夏力鼎 程多芬 陸小禾 黃小豆
花木蘭 沈渤海 劉柏楊 高曉粱 章趙生 劉新志
馬小竹 孔融 洪欣 謝小木 呂小蒙 朱亮
劉小貝 鐘小葵 周大渝 司馬仲達 劉法正 孫小權
崔東亮 曹小草