前言
看到推送,也正想借此機會來做一些總結梳理,做程式設計師從入門到轉行的過程和經歷。本人95後,本科就讀於杭州電子科技大學計算機專業。一名狂熱的Hackathon愛好者,時至今日已經參加了上海,北京,杭州,南京,武漢等地大大小小的十場Hackathon,也因為大一的一場Segmentfault主辦的Hackathon而來到了SegmentFault提問,回答問題,寫文章。大學寫過現在有5000+使用者的小遊戲,自己也獨立運營過8000+粉絲的微信公眾號,大三開始在夢想小鎮實習,後大四一年在網易杭州研究院實習,畢業進入網易雲音樂,工作兩年後離職,現在拿到了種子輪和朋友在北京一起創業,身份也從原來的一個程式設計師轉向了產品。同時也會去面試UI,人事,行政。每天接觸到有各種各樣經歷的人與事。從程式設計師這個圈子向外邁出了很大的一步。
入門
- 遇到生命中的貴人
說到學計算機,有很多人都是小的時候,看了什麼電影,受了什麼啟發,覺得這是一件很Cool的事情等等,高中,初中甚至是小學就開始學習程式設計,但是對於我來說,進入大學之前壓根就不知道計算機專業是要學什麼的?畢業以後是要幹什麼工作的?所以到了大學除了迷茫就是迷茫,但是在這時遇到了我大學的第一個貴人,K哥,K哥是從初中開始接觸程式設計,搞演算法競賽的,因為競賽失誤導致的保送失敗而來了我們學校,在大學前,除了競賽的功底,自己也做過很多的東西,最開始認識K哥是在學校組織的ACM馬拉松上,作為最後的勝出者,要去參加10道題的一個比賽,K哥是全場最快且唯一一個AC掉所有題目的,K哥一戰成名,進入校隊,後因個人原因退出,後來K哥用PhoneGap做了一個別踩白塊小遊戲讓我們這些大一的程式設計小白驚掉了下巴,從此我也就跟著K哥混了,K哥教會了我很多,也讓我看到了作為一個計算機專業的學生更高的標準,K哥分享了《社交網路》,《矽谷》給我,兩個劇都是一個程式設計師如何一步步用程式碼做著cool的事情,構建自己的商業帝國,看的熱血沸騰。同時也分享了很多藝術和文學的東西,讓我開啟了一個新的世界。
- 初學的艱辛和邁出舒適圈的焦慮
對於一個沒有程式設計經驗的人來說,初學是非常艱辛的,對著部落格,一行程式碼一行程式碼的敲,最開始學習的就是Android,還是Eclipse的時代,一個超級低配置的電腦,體驗簡直爆炸,從如何findViewById找一個按鈕,如何給一個按鈕繫結事件,而這一切都是在沒有學習Java的時候在去做的,可以想象到那種狀態就是面對一個黑盒,瞎猜,各種隨機改,然後在C語言沒有學完的情況下,去學習了Java,一步步的去寫完了第一個Android小遊戲,一個消消樂遊戲。在搞技術的時候,是一個個的不斷讓自己走出一個舒適圈的過程,當你拋棄現在的一種實現方案,去嘗試另一種方法,其實也是在讓自己脫離原來的一個舒適圈,讓自己走出來。每次向外邁出一步都伴隨著未知不確定性和失去掌控感而帶來的焦慮,但是當你克服了之後,就是一次成長。
進階
- 開始向外走,向多元走
在積累了一定的程式設計基礎之後,開始出去參加各種程式設計活動和創業活動,其中創業邦主辦的創新中國是參加了四年的,每一年都會和同學去,也因此認識了很多創業圈的朋友。參加了很多場Hackathon,做了很多東西,自己在大一開始運營的一個情感類微信公眾號粉絲也有了8000多,大一寫的一個棋類小遊戲有了5000多的下載等,慢慢的看到了自己在各個方面上的一些正向反饋。自己也自學了PS,也看了很多的產品的書籍,給自己的定位還是在一個產品經理的角色上。但是最後找實習工作的時候 ,還是迴歸到老本行,做了程式設計師。
- 工作中問題
第一家實習的工作,是矽谷回來的兩個高富帥回國創業,非常有情懷的產品。出於對產品的喜愛和對於兩位創始人的仰慕選擇來到這家公司,公司工作氛圍非常棒,矽谷的工作作風,但是產品還是有點水土不服,再就是矽谷是的管理可能更適合於名校畢業手擼Leetcode hard的人。之後離開了去了網易杭研實習,因為是一個公共技術部門,所以接觸到了非常多的專案,也閱讀了非常多的原始碼,這多時間可以說是打了比較好的一個基礎。工作中也遇到了很多的貴人,除了對於技術上的提升還有如何做好團隊之間的溝通,當然也遇到了一些問題,曾經負責的一個SDK,給網易新聞接入之後,然後網易新聞崩成了狗,問題反饋回來慌的一比,導致了後面寫程式碼中變得非常緊張,非常擔心犯錯誤,畏手畏腳,特別是當做一個大的產品的時候,更是讓人如此,對於使用者量大的產品來說,小的錯誤是會被放大的,所以變得更不自信,每次提交之前都要review好幾次,但隨著程式碼越來越多的提交,沒有什麼問題反饋出來,自信也就慢慢積累起來了。對於程式碼自信需要一個階段來積累的。
- 書籍推薦
對於具體的一些經驗分享,從程式碼,溝通到產品,有很多,很多,此處不再展開講,自己讀過的一些書,都在豆瓣做了一些標記,大家可以互相關注一下,相互交流一下讀書心得。
《軟技能》,《程式碼整潔之道》,《演算法》(普林斯頓大學教材),《計算機網路》(自頂向下),《CSAPP》,《程式設計師的自我修養》,
《啟示錄》,《幕後產品》,《Don't make me think》,《定位》,《引爆點》,《掌控談話》,《上癮》,《極客與團隊》等等
具體書單可以參考:豆瓣書單
轉行
在工作快兩年的時候,我選擇跳出來,因為厭倦程式碼了嗎?因為討厭公司嗎?都沒有。題目裡的問題,今天你進步了嗎?我已經越來越無法給出這個問題一個肯定的答案,重複讓我感到疲倦。事實證明,我是更享受現在跳出來這種狀態的。讓我不斷的走出自己的圈子,認識更多的人,學習到更多的東西。如果要問我是否還會選擇程式設計師這個職業,我想我的回答會是肯定的,做程式設計師的時候,對於思維的鍛鍊是潛移默化的,邏輯能力和問題抽象能力都得到了極大的進步,對以後無論做什麼職業,都很有幫助。
總結
本來覺得自己應該可以洋洋灑灑的寫很多,但是到真正寫起來,似乎又覺得沒有那麼多要寫的,要說成長,大家可以去參考一下我的書單,豆瓣書單,對於如何找工作,如何?如何?網上的文章也是鋪天蓋地。但是我覺得形形色色的方法只能稱之為器,我們更要的關心的是在這些器之下的道?不要忘了每天問自己這麼一個問題。今天你進步了嗎?如果沒有,為什麼,這個平臺,這個職業還可以幫助我朝著我想要的方向前進嗎?當你想要一艘船,首先要做的不是去學習如何造船,而是首先要渴望大海。歡迎各位一起交流。