1. 程式人生 > >4年,如何從草根成長成為CTO-(第一篇)

4年,如何從草根成長成為CTO-(第一篇)

茫然的求索

       那一年,剛好經濟危機,畢業了。經過了很長時間的“網上海投”而杳無音訊之後,終於發現“經濟危機真的和自己有點關係了” ,曾經以為經濟危機和自己巴剛子打不著。

       拿著簡歷,開始到處去跑招聘市場,又發現,人才招聘市場裡面的計算機崗位特別少,滿街的招聘銷售。即便有一兩家招聘技術人員的,但是又被各種“硬性指標”攔在門外。

       看著錢包裡面的錢一張張的變少,沒有時間鬱悶,也不能待在家裡,沒有收入的日子,待在家裡就是耗錢。武漢的夏天很熱,在家裡帶著要吹電扇(沒有空調,使用空調那是很奢侈的),另外在家裡要開電腦,都費電。

  無奈之下,開始“地推“,開啟了掃街模式:把創業街,軟體園等地方的公司,一個個上門去死磕。

  記得很多次被門衛擋在外面,多次被前臺美女婉拒,多次被保安趕出來,不管怎麼樣,最後終於找到了一個工作。

  給我的理由就是:挺有激情的,膽子蠻大的,人也很陽光,我們需要公司沒有活力,招你進來調節氣氛(這是多年之後,當年的HR美女跟我說的)。這應該也算是“拼顏值,靠臉吃飯了“(呵呵呵)。

  得到了一份理想的工作,同時也收到了一份饋贈---有了慢性因喉炎,因為天氣熱,水喝得少,乾渴了,留下了這個小毛病,至今陪伴著。

前輩的警示

  終於找到了工作,工資很低,完全達不到交稅的標準。

  雖然曾經在大學期間在一些公司做過專案,也參加多一些軟體比賽,也在很多的IT社群回覆很多的技術帖子,提升能力,但是終究沒有實戰經驗,不管自己如何說,至少在別人眼中,你就是新兵蛋子。

  能力不是說出來的,是幹出來的。

  在日企裡面,做事比較的嚴格,可以明顯的感受到了每天那種緊張的氣氛,每天進辦公室,聽到的更多的都是鍵盤敲擊的聲音,雖然大家在聚在一起討論需求,但是更多的是在會議室。即便有時候在工位上面談論問題,大家也是很注意,儘可能的不打擾到別人。

  我終於明白HR美女說的那句話了,需要新人進來,注入活力。

  入職半個月左右,我旁邊的一個“老程式設計師”,我們一般叫他----陳工,走了。來了這麼久,沒有和他說一句話,只是知道他40多歲了,而且是一個基礎的程式設計師,在級別上面,Leader都算不上。聽到同事在八卦,說是陳工被公司“請走了”,因為他的待遇可以請到2~3個新人…..

  看到陳工默默的收拾東西,輕輕的走的時候,那一刻,我思考了很多:陳工也兒女,老人要養,現在被“請走了”,怎麼辦?而且被請走的時候,沒有看到他的反駁,換句話說,難道是真的是“弱者連談判的權利都沒有”?四十多歲,已經算是不惑之年,自己不想這樣子。

  陳工的離開讓我明白,至少等到我四十歲的時候,不能混成這樣子。

生存的渴望

  進入專案組之後,終於看到什麼是一個真正的軟體專案,程式碼的龐大完全超出了自己想象。

  不要以為有人會來“慢慢的“的教你,這不是學校,而是公司。招你進來就是來做事的,不要以”我是新人,所以我不會“來扯理由。

  要麼幹,要麼滾。

  專案leader丟給我幾個文件,說是資料庫的結構文件,讓我看熟,之後給我分配任務。陌生的業務,陌生的行業,幾百張資料表,肯定是一頭霧水。很想找別人去問,看到大家都忙得像啥似的,也不敢隨便去打擾。 

  憑著自己所謂的“經驗”,開始嘗試理解各個表,也看著一大堆英文需求文件,開始磕磕碰碰的嘗試理解需求,然後把問題都記錄下來,每次看到有人在喝水,或者在上廁所了,我就馬上走過去問幾句。

  進入專案組,一直沒有分配任務,心裡反而著急,因為我知道公司不會養閒人,什麼都做不了的話,天知道什麼時候會被開除了。每天啃文件,看似輕鬆,心裡卻是度日如年。

  大概4天之後,我告訴leader,我把資料庫表結構看熟了,也知道了系統分了那些大的模組,每個模組大致的功能是什麼,更加具體的功能,就需要在專案中學習了。

  Leader也吃驚,於是讓一個老員工開始帶我,他開始把手頭的一部分任務給我,讓我嘗試著做起來。心中開始有了一個大石頭,因為真的要“實戰”了,做一個“商業專案”。這和以前實習,比賽是完全不同的。

  每次任務了之後,自己開始搗鼓。很多時候發現,自己在業務的理解方面有偏差,明明上午寫的程式碼,下午就感覺不對了,因為覺得業務應該是那樣子的。於是,自己趕快急急忙忙的去修改,因為任務的時間是規定好了,必須在規定時間之前做好。

  於是,每天不斷的琢磨,但是自己天資愚笨,很大問題搞不動。很多同事下班就走人了。但是我自己的任務沒有完成,肯定走不了,也不敢走,但是有些業務點,技術點自己確實不清楚。於是就想出了一個招: 每天看自己哪些點不懂,然後看看那個同事比較對這個比較熟,只要他下班,自己就跟著他一起走,一起擠公交,走路,同時,在路上不斷的請教各種問題。當把同事“送到”家之後,馬上自己回到公司,開始繼續搗鼓

 

  自己每天基本幹到12點回去。回去之後,不斷的反思,任務是否做好了,程式碼有沒有問題。很多時候,感覺自己越想,問題就越多,越發感覺自己寫的程式碼有問題。心裡一驚,一夜都睡不著,早上4點起來,摸到公司,然後在上班之後,把程式碼改好。

身邊的驚雷

  在公司呆了一個多月了,而且也開始完成一些小任務,總算是“做了點事情”,心裡依然稍微好受了點,畢竟我不是閒人了。但是心裡依然不踏實,因為離轉正還很遠,離“自如的完成任務”還很遠。

  有一天,看到和自己一起做事的那個老員工和HR爭吵,第二天,那個老員工就走了。

  我震驚了:一個月以內,我看到了兩個人被請走了,而且第二個人就是和我一直做任務的同事。他有四年的經驗都被請走了,我一個新人,豈不是…..

  HR找到我,告訴我,那個員工的走,不是因為能力問題,而是態度問題,讓我不要擔心,好好幹,而且這一個月乾的也不錯。

  不管怎麼樣,我心裡的念頭就是:我要留下來。

  於是,我開始更拼命的做好手頭每一個任務。如果自己做完了之後,反覆的稽核,在稽核,如果自己手頭任務搞完了,就看周圍有沒有同事需要幫忙的,不管是幫他們“填充測試資料”,還是調整文件格式,還是給他們順手倒垃圾,我都幹。

  我要留下來!!!我需要工作!!!

困境,突破

       做任務算是上手了,也逐步的開始做一些有點難度,稍微大點的任務。當時依然發現,自己每次都是花別人幾倍的時間在做,雖然自己把任務做完了,其實中途縫縫補補,反反覆覆的修改還是蠻多的,所以,只能通過拼時間,狂加班來向別人看齊。

       這無疑是一個很危險的訊號,如果遇到更大的任務,難度在複雜一點的,那自己就死翹翹了。

  於是,開始給自己“定目標”:爭取在每次寫完一個方法,或者幾個方法之後,程式碼一次性通過編譯。

  寫程式碼更加用心了,不再犯不必要的低階錯誤。而且也感到自己的能力貌似真的有點長進,因為做任務開始有“多餘”時間了。

  於是,都開始給自己“定目標”:爭取在寫完每一個方法,類之後,功能是可以跑起來的,業務邏輯是正確的。

  然後開始一步步的堅持,到了一定的時間,認為可以了,然後定更多的目標“寫完幾個類之後,功能OK”,“寫完一個小模組之後,功能OK“。

  慢慢的,很多的功能都一次寫完,除了一些問題真的沒有考慮周全,一般都OK了。在寫程式碼過程中,之前總是拿到任務,想了之後,就開始動手,邊想邊寫,如果不對,程式碼刪除,重來。很顯然,這又是一個作死的事情。

  於是,自己拿到任務之後,不著急寫,而是在紙上面畫幾下,然後大概的列出需要幾個表,需要幾個類,每個類大致有那幾個方法,每個方法的基本邏輯是什麼樣的。開始的時候,不可能想的那麼多,但是依然會想一些,然後邊寫程式碼邊完善。所以,以至於後來,很多同事看到我一個在座位上面靜坐很長時間,不敲鍵盤,然後過一段時間,就噼噼啪啪的狂敲鍵盤。

 

  剛開始的時候,這樣思考很難,而且時間過去了,思考的結果也不咋樣,這樣導致任務可能會完不成。所以,自己依然會每天起早摸黑的把這段時間補起來。

後來,慢慢的開始熟悉,發現“心裡有譜了”,寫程式碼的速度質量都提高了。後來才知道,原來自己的那種折騰就是所謂的“設計design”,原來“軟體設計師”中的“設計”是有含義的。

思維,出擊

       經過自己不斷的折騰,各種嘗試,不斷的把各種任務完成,自己的信心也有了,也開始敢於在團隊中慢慢的說出自己的一些觀點和想法。

但是,很多時候,畢竟自己各方面不足,不是所有的意見都會被採納,其實很多時候,都不會被採納,但是自己又認為是對的。

  怎麼破???

  這個時候,肯定不要抱怨,更加不要謾罵別人是傻逼。畢竟剛剛畢業,很多東西都擺在那裡。

  信任需要一步步的積累,實力需要一點點的證明。

  很多時候,自己也會認為專案中的某些功能,或者技術點可以改善的更好,如果意見不被採納,那麼自己就下班之後,自己一個人開始搗鼓,自己開始驗證,自己的想法是不是對的。當然,搗鼓完了之後,程式碼不會合並,因為要考慮到整個團隊,不能隨隨便便擅自做主。但是作為自己,依然會去驗證想法,即便最後沒有不能再專案中使用,但是起碼自己動手了。

  如果每次看到專案中的問題,我會問自己:如果這個功能是我來做,我會如何搞?

  如果看到別人帶專案,帶人方式有些問題,我也會問自己:如果我帶人,我會怎麼搞?

  通過現狀,不斷的反思自己。其實後來才知道:很多時候,不是因為你屁股上去了,你才對應的思考方法;而是你的思維先上去,等到有機會,你屁股就自然上去了,因為你一直以更高的角度在思考問題。機會是給有準備的人。

助人,助己

  每天都會不斷的學習,看技術相關的書籍,泡論壇,逛部落格。看到很多不同的言論,不同角度的解析。有時候,看完之後,甚至發現:一個知識點,很多地方的講解都是相互矛盾的。

  搞的自己也很亂。因為自己一直在“吸收別人的想法”,最後很多的雜糅在一起,自己很暈。

  於是,開始自己梳理知識點,通過自己的思考,各種求證,然後把某個知識點理解,至少讓自己”自圓其說“,不至於被各種言論攪暈。

  我常常用鍊鐵在比喻:把各種不同的礦石,丟在一個熔爐裡面,這些礦石就是各種不同的知識點,各個不同的思維,流派。我們自己的到大腦就是那個爐子,需要把這些礦石全部融化,然後融合在一起,提煉出鋼鐵,然後把礦渣過濾出來

  自己開始不斷的每天學習,也開始寫很多的文章,基本是每天堅持寫一篇,然後反覆的推敲,看看是否有地方很牽強的,是否存在“含糊其辭”的地方。如果自己都講不清楚,那麼就不要釋出,一直到自己的思路想通了,而且認為別人按照這個思路理解,可以最終想通,才把文章釋出。

  開始發現,通過不斷的寫文章,自己很多模糊的想法都變得很清晰。

  也發現:一個知識點,你自己看懂了,那是一個層次;你會用,是另外一個層次;你寫出來,你寫出來讓別人懂,那又是更高的一個層次;你用最通俗的言語,把知識點講出來,讓別人一下子明白,又是更高的一個層次

  【本文已經在InfoQ投稿,版本所有,未經授權請勿轉載】

相關推薦

4如何草根成長成為CTO-第一

茫然的求索        那一年,剛好經濟危機,畢業了。經過了很長時間的“網上海投”而杳無音訊之後,終於發現“經濟危機真的和自己有點關係了” ,曾經以為經濟危機和自己巴剛子打不著。        拿著簡歷,開始到處去跑招聘市場,又發現,人才招聘市場裡面的計算機崗位特別少,滿街的招聘銷售。即便有一兩

【iOS與EV3混合機器人編程系列之二】工欲善其事必先利其器準備

style 混合 版權 相同 開發 code 操作系統 圖形 ipa 在上一篇文章中,我們論述了iOS與EV3結合後機器人開發的無限可能。那麽,大家要不要一起來Hacking一把呢?為了能夠完整地完畢我接下來我講的項目。我們須要做下面準備:1、一臺Mac執行MAC OS

Agile敏捷開發管理Salesforce專案第一- 4大核心價值觀+12條原則

【什麼是敏捷開發?】資深程式設計師之路(5)--agile開發敏捷開發(scrum, agile)相對於瀑布流開發(waterfull)更適合現在快節奏的商業模式需求,它將一整個專案拆分為相互獨立的小塊,我們成為sprint(衝刺),每個sprint都包含前期的需求分析,開發

B站的運維成長之路監控

作者簡介: 胡凱 bilibili, 運維負責人 從系統測試到自動化測試到效能測試再到運維,對服務端的興致帶他一步步走近網際網路、步入運維行列。豐富的經歷,讓他對運維有著獨特的思考和認知。 前言 隨著網際網路的高速發展,我們經歷的資料量越來越大、越來越重,運維也越來越重要。有幸參加“GOPS201

作為IT售前專家如何真正調研清楚專案需求?第一

副標題:IT專案需求調研,售前首先需要弄清楚調研哪些內容 作為乙方公司IT售前人員,去和甲方進行一次需求調研,我們有必要弄清楚甲方專案啟動的背景和潛在需求,下面具體列出核心項: 一.  專案背景 顧名思義:專案背景就是甲方要求做這個IT系統平臺的發起人是誰?發起人要做這個事

這些幫過我的前端框架實用

        前端其實就好像建房子一樣,建設的方式也是多種多樣的。         例如你可以什麼都不用,單靠雙手去把房子砌起來。這樣實在,穩健,房子的每一個角落你都知道得清楚楚楚,但是效率偏低。          你也可以使用各種工具,提交你建房子的效率。例如你可以用攪

JAVA零開始自學歷程第一

前言:本人25,之前從事工程方面工作,沒有任何計算機基礎。現已下定決心進軍IT業,因產品的核心部分為研發,而研發的核心角色在我看來為後端研發,因此選擇JAVA語言作為進軍IT業的開始。此為前文,以後的成果整理不再表述前言。注:部分學習內容來自慕課網,有所借鑑。目錄彙總:1、關

告別被拒如何提升iOS稽核通過率

iOS稽核一直是每款移動產品上架蘋果商店時面對的一座大山,每次提審都像是一次漫長而又悲壯的旅行,經常被蘋果拒之門外,無比煎熬。那麼問題來了,我們有沒有什麼辦法準確把握蘋果稽核準則,從而提升稽核的通過率呢?答案是肯定的,騰訊預審團隊從以下兩方面做了探索,經過近一年

10網管到首席架構師我的成長感悟

我十年前剛剛從業時,還是一名網管。從一名網管成為架構師,需要走過多少路,蛻變多少次,從中獲得坎坷成長,這次分享就自身的履歷跟大家淺聊一下,希望能為同樣成長過程中的朋友帶來一些幫助。今天不談架構,不談技術,只談成長。在開始之前,我先和大家介紹下我這10年大概的工作經歷: 2002 ~ 2006 讀大

大學4深情陪伴我的卻只有它!

說話 好友 平時 眼睛 不想 天都 同學 原來 石頭 我知道畢業的哨子已經吹響了,不得不承認我一點兒也不想離開,以前沒覺得,可現在越是要我走,越是邁不開腳步。這個夏天和以往的夏天很不一樣,除了三五好友一桌子燒烤冰啤酒;風扇西瓜配著辣條;熱汗夾著學校湖邊的魚腥味,還有此刻我眼

阿里4來之不易的3個心得

目錄 寫在前面 一個阿里工作4年java程式設計師的從業心得,寫給還在迷茫的你 資料庫 UML linux系統 第一. 積累行業背景; 第二. 合理的職業規劃 什麼是高階程式設計師? 第三. 關於跳槽 寫在最後 瘋狂創客圈 Java 死磕系列 瘋狂創客圈

Python零基礎草根到大神的入門筆記學習效果非常不錯!

正所謂“人生苦短,我用Python”,而Python的設計哲學就是“優雅”、“明確”、“簡單”。 image 基礎(變數和字串) image image image 在這裡還是要推薦下我自己建的Python開發學習群:943752371,群裡都是學Py

女程式設計師打拼4年收入45萬爸媽卻覺得工資太低網友炸鍋

工資收入話題一直是很多人聊天的內容,不管是在親朋好友聚會還是在同學聚會,很多人都是喜歡去問你工資有多少。在近日網路上一名工作四年的女程式設計師,在北京的年收入有43萬左右,本來覺得這個工資收入還是可以的,沒想到回到家裡這樣跟爸媽一說,他爸媽卻說他的工資太低了,於是他在網路上感慨道:我一個女生在北京的

阿里畢玄:阿里十分散式到雲時代的架構演進之路

這是一篇來自鯤鵬會的文章,其內容是畢玄在TGO 鯤鵬會杭州分會活動現場分享的《雲時代的軟體架構》的整理。特別轉載到雲棲社群,讓更多開發者深入瞭解阿里架構的變遷和對雲技術的一些新的想法。 2018 年 12 月 15 日,TGO 鯤鵬會杭州分會拉開了 TGO 特有的技術人年會「E 家宴」的帷幕

【轉】洪強寧:程式設計師到架構師架構師到 CTO

在文章開頭,先介紹一位技術專家:洪強寧,愛因互動創始人 &CTO 洪強寧,11 年網際網路從業經驗,商用對話機器人創業中。前豆瓣首席架構師,前宜信大資料創新中心首席架構師,資深 Python 開發者,為中國 Python 使用者組(CPUG)的創立者之

2018我繼續成長了|掘金年度徵文

很開心,在掘金上分享一下自己在2018年的收穫。 但是本文內容大部分都是與技術無關的。 1. 明白了知識與技能的區別 2018年買了一門課,《5分鐘商學院》。聽到其中一講後,備受啟發。 它整整影響了我一年。 觀點很簡單,要區分知識與技能得區別。知識是可以學到的,但是技能只能習得。 不能把技能當知識學。

第一本書開始如何成為深度學習工程師

在這裡,小編理解的初階選手,是具備了一定的計算機基礎,但是對於深度學習理論和動手實操方面沒接觸過的筒子。通過系統學習後能夠快速入門,並升級中階。如下是建議初階少俠的修仙路徑,需要走好這四步,即:讀理論書→看視訊課→實操訓練→社群交流具體怎麼操作呢?彆著急,逐一來看~要看的第一

那些部落格到出書的博主

 囉嗦 古人說,著書立說,縱然而今的現實,書籍本身質量存在一定的侷限,但不可否認,一本書從構思,撰寫到最終交稿出版,需要一定的沉澱,同時時間的代價是非常大的,而所謂的稿酬其實是幾乎是可忽略的。 一直認為的技術書有兩種,一種是入門級別的,例如Android/iOS/Swift/..

阿里一聊聊我成長了什麼

2018.5.31~2019.5.31,一段精彩的旅程,渡過了在阿里一年的時光,這段時光有快樂、有焦慮、有迷茫、更有思考,思考的是自己過去的種種不足、思考的是一些現在看來之前錯誤的想法、思考的是如何成為一個更好的技術人,將這一些思考分享給看到這些文字的每個人,共勉。   應當如何面對線上的異常/

風雨一個普通程式設計師的成長之路十一再見2019。你好2020!

00 回顧2019 在過去的這一年裡,收穫最大的便是眼界了, 與高水平的同事們一起合作,讓人愉快。 與高水平的領導共事,則讓人受益匪淺。 2019年元旦前後那段時間,突然陷入了焦慮,買了一些極客時間的課程,加入了一些知識星球。也確實提升了自己不少關於職場、工作、生活的一些認知。 但是收貨最大的還是在工作之餘,