閱讀595 返回首頁    go 技術社區[雲棲]


我的技術之道

        已經有半個月沒有寫博客了,想到就難受。最近也是做畢設的時段,忙於coding,也沒有特別好總結的東西。我想,就來總結一下我貫徹的技術之道吧。就像“忍道”一樣的東西。

        先聊聊畢設。我對畢設的定位是,充分使用自己已學的知識,體驗自己一直感興趣的技術,想使用的開源產品,做一個在功能、交互、理論上更偏向於實際的完整的產品。簡單說就是竭盡自己的積累和所學,大膽嚐試想嚐試的東西,做的產品不應該是個玩具。事實上,很多人的畢設都是導師分配的一個“項目”裏的一部分而已。在選畢設導師的時候,90%都是選擇導師給出的畢設選題。而這些選題來自哪裏?所謂的項目裏的所謂的一個模塊,很可能是被很多界師兄師姐做了好多次的東西。有多少同學可以去做自己想做的東西?自己真正感興趣的內容?就是給實驗室做個苦力。這部分人裏也分兩類,第一類,對自己的方向和未來沒什麼打算,能混畢業是巴不得的事。這一類直接忽略不談。第二類,根據自己喜愛的技術去選的導師,去選的課題,但是往往課題名字都是起的很漂亮,老師給你繪製的藍圖都很吸引人,實質工作內容大部分不會是你想象的那麼美好。我的建議是為什麼不自己立題目?現在這個時代的計算機專業的學生對產品,技術的把握難道還不如那些十幾年從事教職工作,側重寫文檔拉項目,最喜歡上C程序設計,軟件工程來混教學指標的老師?給自己的畢設取題,定研究方向,從事自己喜歡的技術,用感興趣的開源解決方案,給自己的本科生涯畫個句號是多麼幸福的一件事。我每天為自己的畢設樂此不彼,做自己喜歡做的事最快樂。

        那我就接著聊聊學曆吧。首先講講自己的履曆。大三上的十月份,我進入實驗室,跟著實驗室的老師,師兄做項目。當時我什麼也不懂。現在想來,我才剛對計算機入門,我對這行的見解實在是很小白,都是過去不懂事的自己不懂什麼叫學習,不好好學習。剛進實驗室,跟的項目是中間件服務框架,和分布式又有點關係。不說項目怎麼樣,我當時買了我第一本自主選擇的技術書籍,林昊的《OSGi原理與最佳實踐》。現在買書已經成為了習慣。第一個任務是調研OSGi,SOA,REST三個東西。現在想起來,基礎都沒有打好的我,去看分布式,看架構的東西是多麼無理取鬧。事實是,我堅持下去了。大三的第一個學期,除了應付學業外,對Hadoop,NoSQL的一係列東西產生了濃厚的興趣,我有了自主學習的動力。我覺得分布式顯得高端,hadoop顯得洋氣,為什麼?因為業界大公司都在搞。就這個理由,他在我心裏顯得高端。好,從此之後買書,看書,學習起來。我給自己定了目標,我要做一個架構師。漸漸的,寢室成了我睡覺的地方,其餘時間都泡在實驗室,強迫自己學習,很少與人接觸,沒有什麼別的活動,把自己封閉了起來。差不多我的大三和大四,隻要我在校,我都在實驗室裏渡過。結果就是,我一點也不想讀研究生。我看夠了實驗室的會議,看夠了會議驗收,也參與夠了項目開發,我不想再為學校的實驗室打工了,我為什麼不去公司給別人打工,然後早點可以自己為自己打工?之前也發過從學校到公司,玩具到產品,我覺得至少計算機這門,你呆在學校根本毫無用處。你要搞研究,你出國搞去,國內的實驗室都工程化了,而且工程化得很土,很爛,不如二流外包公司做得好。呆在學校無非三個原因:對自己還沒有明確規劃;貪圖安逸的環境;學曆體麵,家長樂嗬嗬。教育這塊用不著我來黑。我覺得實驗室的經曆對我來說一個過渡。的確讓我成長了,讓我具備了一些技能。說到底,自學才是最重要的。當我脫離了那個階段之後,我不會再想去渡過我的研究生生涯了,我覺得這是在浪費我的青春,我看不到任何一點益處,說實在的。

        說說我的技術之道。我自己定位自己剛對計算機入門,對技術的看法也轉變了不少,也被業界人的觀念所影響,被點撥過。首先,技術、語言沒有高低貴賤之分。我一定要強調這點,不要為自己搞的技術而自以為高人一等,這絕對是很幼稚傻逼的想法。最被人誤解的例子,就是網站的前端和後端。技術隻有好入門,難入門的區別能解決問題的技術就是好技術,能解決問題的方案就是好方案。如果你對某門技術沒有幾年的積澱,不要看著好入門就覺得從事這個職位的人就弱,水都是很深的。其次,體現自己的技術實力和積澱不是靠嘴來扯的。做為工程師,最重要的素質之一就是踏實。喜歡扯淡是浮誇,裝逼的表現。如果我有自己的團隊或者公司,是不可能把這樣的人找到自己的團隊裏去的。真正有資格在別人麵前滔滔不絕的人,必須是真正有貨的人。關於技術的學習,我覺得應該多涉獵剛起步的時候,我們的確是在自己的研究方向上學習基礎知識,著眼於細小的東西,精益求精。過了這個階段之後,你應該發現技術細節是次要的,在架構層麵的把握更加重要,不然永遠是個底層的碼農。如果我有自己的團隊或者公司,我要招個苦力,二三流學校的都行,所以你的優勢不是技術細節,是更高層麵上的東西。當然你如果自己都沒有經曆過第一個階段,就去把握產品實現,把握架構,那我絕對是不服的。比如說大部分做產品經理的人,比如說大部分做測試的人,這點我就很同意“開發人員可以做測試”這點,要分那麼清楚隻會減低效率,降低質量。應屆畢業生裏麵,有多少是計算機專業的,不會碼代碼,去應聘產品,去應聘測試的?我針對的是該被針對的人,如果你不是,你不要看著覺得不舒服。這些人在我眼裏,和高中時候物理化學的不好去學文科的男同學們一樣。我沒有任何歧視的意思,我就這麼個意思。繼續說技術之道。早點投入到真實產業界是有好處的,無論是團隊角度,開發工具角度,產品角度都能讓我們脫離自己的理想國,具備正確的認知,然後給自己製定更好的發展規劃。如果學校裏的老師不能教授你更多的東西,難道你還沒有到出師的時候嗎?出去看看外麵的世界吧。在經曆了很多麵試之後,我才真正體會到麵試所要麵的東西。基礎和基本算法固然需要,但你的眼界,你的開源精神,你關注的技術點,你的人品重要的多。再提一點,我一直是傾向於從工程出發到研究的。我崇尚在做產品的過程中,遇到問題再去發掘研究領域的解決方案,研究應該是需求驅動的,這個需求驅動的過程是我們應該自己去體驗的。讀讀人家寫的論文,寫寫綜述,仿照人家實現一下實驗思路,有什麼長進?在需求到了的時候,再去找論文看,啟迪思路了之後再實驗並投入到工程中去,說不定比你埋頭看論文,對著天花板想怎麼發論文要快捷,要實在得多。

        強調一下我最貫徹的幾點:技術無高低貴賤之分,任何東西你想學,都很好學,往往官網的文檔比現在很多灌水的書要好得多。起步時著眼技術細節,之後應該關注架構。接觸真正的產品和需求,讓需求驅動技術,是正確的模式。開源時代的我們應該多涉獵技術,嚐試自己喜歡的東西。不要對自己沒有規劃的定位,不要被老一輩的,陳舊的思想和教學影響你的個人發展。沉默寡言的人才可能是技術大牛。多讀書,各種各樣的書

        技術的學習之路就像是在一張白紙上不斷打點,當在這張紙上打成一棵樹,一條路,一幅畫的時候,你就學有所成了

最後更新:2017-04-03 20:43:08

  上一篇:go Android sqlite3查詢表中最後一條記錄
  下一篇:go 解決sqlite死鎖示例異常database is locked