未來的發展(從Davin的演講說開去)

今天公司請來了業界很有名的Davin來爲我們進行演講,總結了8條值得程序員學習的經驗 

1 有擔當,有勇氣

一個優秀的程序員一定是一個有擔當,有勇氣的程序員,這樣的程序員能夠在面對困難的時候敢於站出來說我能行,交給我做放心吧。這不僅僅是在能力上自信的一種體現,也是在心態上面對困難的敢於面對,敢於承擔責任的一種體現,我一定要有勇氣,有擔當的去做自己的程序員,如果自己寫的代碼,自己都不自信,那麼怎麼說服別的人去相信你,信任你?所以在做事情的時候,首先對自己有一個清晰地認識,自己的能力現在在什麼水平,解決一個問題需要多久的時間,面對重重困難,自己是否有面對的勇氣?對自己清晰的定位之後,在面對工作上的問題的時候就可以很好地選擇接收或者自己真的不能夠完成任務,有擔當代表現在要對自己負責,對自己做出的代碼,事情負責,不要出現問題就想着逃避,以後的時候,對自己手下負責,對應該自己負責任的事情負責。有勇氣的根本含義是在面對稍微超出自己能力的事情,敢於接受,對於不在自己能力範圍內的事情一定敢於接受,哪怕付出了很多時間,但是最後成長的都是自己,其實我覺得,在工作中成長也必然需要這樣不停地走出自己的安逸區的勇氣,每次走出自己的安逸區都是擴大了自己的能力範圍,增長了自己在其他範圍的見識和經驗,所以我們對於沒做過的東西一定要積極的去應對。這樣纔可以更加的有效的提高自己的專業能力

2  學習深度與廣度的問題

這點我覺得Davin講的非常好,爲我的未來指定了一個明確的道路。

很多程序員都有這樣的疑問,究竟我是應該學習更多的語言,知識面鋪設更多的領域,還是專精一門,從應用層使用到底層架構呢?這其實就是學習深度和學習廣度的問題,我覺得其實你只要學習了,那麼深度和廣度肯定是同時增長的,沒有深度的學習計算機,那麼所有的廣度學習都是片面的,浮誇的,不成體系的,如果你學習Java,那麼深度的學習一定會接觸到JVM,數據庫,計算機網絡,計算機組成原理,甚至於彙編,硬件系統設計等等等等,其實無形中就擴大了自己的知識面,所以對於一種語言,或者一種方向進行學習,一定不是單單的學習了該門語言這麼簡單,而是要把圍繞着該語言的所有基礎都進行學習,才能是真正的掌握,所以我說對於我們專業的學習,學一門就要鑽一門,鑽一門就會了解了更多廣度的知識。

對於我本身來說,我現在使用Java,但是我還很想在學習Java的同時學習IOS的開發,在聽完Davin的總結之後,我改變了我的想法,現在的我就應該將Java學到我的極致,將與Java相關的知識都融會貫通,到時候再一娛樂的心態去學習IOS開發,自己設計一些自己喜歡的小東西,一定要分清楚主次,這也是我未來三年發展的策略,我要成爲Java領域中的佼佼者,對於Java的發展起到一定的推動作用,對組織架構進行更多的分析,三年之後的我再去着手其他領域,進行研究。當然還是以Java爲主

3 技術有深度,纔是資本

Davin是由技術轉管理,所以在這個方面擁有很多話語權

對於程序員來說,只要有技術,什麼都會有,不要年紀輕輕的就在想怎麼成爲管理者,這麼管理手下,怎麼當一個產品經理,其實如果你想從技術的方向轉移到管理崗,不管是技術管理,還是產品方向,一個紮實的技術功底都是一個必要條件,一個企業是不缺管理人才的,可以沒有管理人才,但是不能沒有一個靠譜的程序員,所以很多創業團隊,技術的leader往往也是管理者,就是一個道理,創業團隊可能讓一個沒有技術經驗的人去管理技術人才麼?是不可能的,這就告訴我們,不管以後你從事什麼崗位,只要和互聯網相關的,你就是從程序員進行轉崗的,一個很好地技術功底是要加很多分的,對於未來的發展,只有擁有很紮實基礎的程序員才能在各個崗位上遊刃有餘的進行工作,不要好高騖遠,覺得自己以後肯定是當管理的人,現在的事情得過且過。這樣最後就是害了自己

我覺得Davin說的非常好,對於我們開發人員來說,技術的高低就是決定我們能力的一個重要體現,以後不管做什麼崗位,我們知道的知識都是我們的基石,對於我們的工作都會起到推動作用,所以,我現在一定要好好學習技術知識,對於未來的想法,就是腳踏實地,不會好高騖遠的想那些不切實際的發展。

4 歸納和演繹

歸納和演繹是兩種方法,也是程序員學習的時候的兩種方法,歸納法就是指,經過長時間的學習之後,可能零零散散的學習到了很多知識,可能很多聯繫不大的知識都進行了學習,但是當靜下來想一想的時候就會發現,自己學習的知識中間總是存在着一定的隔閡,不能融匯貫通,這個時候就需要進行歸納,所謂的歸納就是總結的意思,對自己的單個方向的知識進行總結,對整個所有的知識進行一個系統的總結,這樣有助於進行知識的融會貫通,經常性的總結,記錄有助於我們瞭解自己,而且可以使我們的知識更加的鞏固,這就是歸納的作用,演繹一般用在面對自己未知的事物,如何從我們已知的事務中找到相關,然後進行演繹,也就是我們面對自己不知道的事情的時候的一種處理能力和學習能力,一般來說,對未知事物的演繹就需要我們首先對自己的能力以及自己知道的知識有一個全面的瞭解,這樣纔可以對未知事物進行演繹

對於我,歸納總結,我做的還不錯,我會經常性的總結,但是都是範圍較小的總結,對於大塊的知識還是缺少總結的經驗,演繹的方法,我使用的還不是很熟練,所以對於新鮮事物的學習往往也不能和自己已知的知識聯繫起來,往往都是學習了之後,才發現,哦,這個和某某某好像啊,以後在對於新的知識的時候,應該習慣的去套用自己的已經成熟的邏輯以及知識點,看看是否相關,會使我的學習更加事半功倍的

5 任何事物都是經過不斷都優化纔打到一個量級的提升

由於Davin是Qunar的技術leader,所以他講了一下Qunar的發展歷程

對於任何公司的發展,在剛開始都是專注於一點,而不是在剛開始就有很大的目標,任何的點子都是最初期的一個不起眼的小的垂直領域開始發展,後來根據局勢以及公司的發展情況,逐漸優化,擴展到其他領域,公司越做越大,越做越廣,不停地像外界擴張,就是這樣纔可以將公司做大做好,對於技術來說,在剛剛開始發展的時候,我們是不會去處理大數據,高併發等問題的,因爲那時候公司小,知名度低,也沒有什麼用戶,所以框架搭建很簡單,但是擴展性能很好,後來在經歷了公司的壯大以及知名度提高,用戶越來越多了,這時候就需要考慮更多的問題的,這時候公司的架構就需要更大的設計,包容更多的情況,直到現在,這就是一個設計-開發-優化-再設計的循環過程,所以在創業或者在公司的發展前期,應該將更多的眼光放在實現上。

6 做到80分

對於技術來說,實現了leader的要求,產品的需求,只能達到60分,我們一定要在自己的崗位上負責,對於僅僅能達到需求標準的程序是否有更多優化的空間?是否有更多的方式進行開發和設計?都是我們需要考慮的,這當然需要我們更多的時間了,所以我覺得我們真的有必要在設計開發好的基礎上進行再設計,也就是類似於迭代的開發方式,首先完成需求,然後不要覺得完成了就可以了,一定要從頭看看,有沒有哪些設計上面的優化,可以提高的部分,要是有的話,哪怕推翻了所以的開發,也要進行重新開發,這樣對自己才能達到80分,之後每次都達到80分,我們的能力纔會進步的更多,我們才能做到專家的級別,所以我們對自己的代碼一定要要求嚴格,對於我們的開發和設計一定要經過大腦去處理,這樣我們的技術才能更好的提升。

7 腳踏實地

不要覺得自己做的東西太簡單或者自己做的東西不是自己想要的,這樣的想法是很糟糕的,在簡單地東西在有心人的手上都能變得更好,所以我們對於我們的工作就是要抱着做到80分得心態去做,慢慢成長,將leader佈置的每個任務都圓滿完成,這樣leader就會發現你靠譜,纔會給你更多的比較難的比較有意思的任務去做,這樣就會慢慢提高我們的能力,所以一定要腳踏實地,不要好高騖遠,拿到一個簡單的需求覺得簡單,不愛做,隨便做了做也是垃圾,拿到一個比較難的需求又覺得爲什麼給我這種任務,不給別人?產生牴觸心理,這樣的人真的有一部分的,我們一定不要有這種心態,不管什麼任務,我們都要好好做,堅持做,到我們手上的任務,我們就應該對他負責,以80分甚至100分的結果交出我們的代碼

8自己做選擇

對於我自己來說,選擇這種東西真的比較困難,面對問題來了,我往往不能很快的做出選擇,這是我現在的一個很大的缺點,也是我以後成長爲一個資深技術或者管理的一個很大的障礙,所以從現在開始,對於所有的事情,我在心裏都要練習如何做出正確的選擇,不管是生活中還是工作中,這樣的能力我一定要有,自己一定要有很好的對於資源整理的能力,找出最有利的一個答案。不要在扭扭捏捏的,都這麼大人了,也該長點心了。

9 多記憶,少依靠搜索工具

以前我獲得一些知識之後就會覺得,唉百度能查到啊,那我就不記了,等下次碰到這種問題再去百度吧,其實這種心態是很不正確的,我覺得一個資深的程序員和一個普通的程序員的根本區別就是解決問題的能力,解決問題的能力又包括處理問題的速度以及處理問題的準確性,處理問題的速度其實就是經驗的積累,那麼什麼是經驗呢?難道經驗是碰到一個問題,你說 哦哦哦 我見過這個 等我給你百度一下,能找到的,這樣肯定是不對的。真正的經驗是自己記憶的知識,碰到類似的問題,直接上手可以使用,可以處理的記憶,所以對於任何技術上的知識,我現在要做到,碰到不會的積極總結,積極記憶,碰到不熟悉的領域找自己的時間進行歸納學習,要保證這些知識都是自己的,而不是百度的!










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章