寫在前面
筆者已經斷更了很長時間,當然不是因為筆者偷懶,因為筆者自己也處在探索期,不過總算是有了一些進展,今天筆者想來和大家討論一下做專案的問題,很多同學做專案可能第一反應就是去網上跟著做,這種賬號一開啟都鋪天蓋地了,幾十套畢設原始碼或者影片教學,有些可能還摻雜一些培訓班廣告,有些同學可能被一忽悠又扔出去幾千塊甚至幾萬塊,但是正如筆者在【筆者感悟】筆者的學習感悟【一】 中提到的一樣,培訓班的作用最多隻是幫助你在眾多技能中新增一個技能而已,多一項少一項不會有啥,不能說完全沒有作用,但是作用是有限的,盲目地去跟培訓班,最後只會出現扔出去幾十萬,月薪三千的惡性迴圈的慘劇。那麼到底要怎麼做專案呢?
專案亦有不同
不知道大家有沒有想過這樣一個問題,個人專案和公司專案重點其實不一樣,大家平時做個人專案重點是為了啥相信不用我多說了吧,一定是為了練技術和經驗,但是大家有沒有想過公司專案的重點是在哪,沒錯是為了創造商業利益,事實上這兩點是有很大不同的。有時候創造商業利益的東西往往要用到的技術也沒多複雜,有些時候可能一個if條件就可以解決了。就好比筆者之前做過一個前端頁面,後端給的介面有兩個引數是必須的,如果不傳就會出現報錯資訊,從我們們技術人員的角度來看這是很小的問題,但是在使用者的眼裡看來這就是很嚴重的生產事故,如果放到正式環境上使用者一定會問責。但是這個處理實際上很簡單,在ts中給一個if條件,只要判斷一下這幾個引數有沒有值,沒有不讓你提交【不呼叫介面】就可以了。同學們發現沒有,這是很典型的小操作避免大麻煩。
所以有時候有些同學就會感嘆,我進入公司為什麼學不到什麼東西,道理就在這,公司畢竟注重的是商業利益,讓你學技術只是順帶的一件事情。包括有些同學在面試的時候自以為說為了學什麼東西,會博得面試官的好感,現在同學們再看看經過上述分析以後,面試官會對你有好感嘛,同學你這是典型的主次不分。而且同學們如果你告訴領導,我要學習什麼技術,能不能把這個專案給我,同學你覺得如果你是領導,你敢給這個專案嘛。
再順便糾正大家一個思維,既然去公司不是為了學什麼東西,那麼我們去幹什麼呢,事實上在學校裡你早就得到答案了,很多考過研的同學可能更熟悉,馬克思曾經說過,判斷一個人是不是人民群眾,就看他有沒有客觀上推動社會的發展,簡單地說就是看這個人有沒有社會價值。如果我只是這麼說,很多同學肯定要說我在照本宣科了,那麼大家有興趣去網上搜一下,EDG創始人之一姬星【暱稱:阿布】在上海交大的演講實際上已經告訴了你怎麼實際操作,背景大概是EDG去上海交大招聘,阿布做的一段演講,其中有一段話是這麼說的:“如果你是為了來EDG能夠學到什麼東西,別來,如果你是為了能夠見到哪個選手,別來,招聘廣告上的職位只是文字上的表述,你加入EDG以後,你應該嘗試著尋找你自己最適合幹什麼,然後總結出自己最適合乾的事情,這個崗位你叫什麼都可以,哪怕叫EDG牛逼也可以。”
同學們發現沒有,這才是你真正要乾的事情,排除一些黑心廠,你加入崗位,要尋找的就是最適合自己的事情,把自己的價值創造到最大,這樣你才可以在公司站得穩腳跟,你才不容易出現今天擔心明天去哪的現象。
專案怎麼練習
那麼肯定有同學要問了,你說的容易,找到最適合自己的事情,我啥都不會怎麼找,別急,筆者到現在還沒談怎麼練習專案,剛才只是幫大家區分一下公司專案和個人專案而已。
筆者還是那句話,寄希望於別人給我們平臺和機會去發揮就會顯得非常被動。學習這個東西,必須是主動學習。很多同學道理都懂,卻從來沒實際操作過。不應該指望公司給你學習機會,而是要自己給自己創造機會。也要學會走出舒適區。筆者在前面也提到了,個人專案的重點在於練習技術,在於要儘可能地去積累經驗。很多同學在練習的時候重點就錯了,抱著已經會的東西反覆炒冷飯,不敢走出舒適區。
那麼個人專案要怎麼練習,既然重點在於練習技術,說的難聽點,我們個人專案這個東西不是拿來用的,所以很多事情我們其實用不著去考慮,不需要需求檔案,測試檔案這麼多工程規範上的東西。筆者給大家介紹一位新成員,希望大家可以讓他加入你的陣營:實驗日誌。
具體怎麼操作實際上也很簡單,你在這個專案想到了加點什麼東西進去,效果怎麼樣,試驗是否成功,有哪些心得,你都可以記錄下來。比方說今天是10月17日,你在首頁上做了一個酷炫的大屏時鐘。明天是10月18日,你想到了想嘗試一下分頁表。具體模板筆者不會給大家,筆者之前就提到過,練習的時候最重要的就是創意,大家可以天馬行空隨便想象,只要儘可能挑自己不懂的練習。
筆者之前在做專案的時候,經常會出現一個問題,要做練習專案第一步就是整理需求,但是筆者發現一點都整理不出來,好不容易想出來一點需求,也都是些玩爛了的需求做了也沒太大意義,後來發現這就好比寫文章一樣,是需要時間積累的,畢竟靈感這個東西不是水龍頭,開啟就有。
不知道大家還記不記得,筆者在之前的文章裡反覆提到過養兵千日,用兵一時的問題,很多事情的積累都在平時,如果大家要上戰場了,這個時候發現腦袋空蕩蕩的,匆忙應戰把養兵和用兵壓在一起,實行以賽代練,那當然會非常痛苦,最後等來的只會是無窮無盡的加班。
簡歷上的專案
事實上我們接觸的專案是兩種,公司專案和個人專案,但是還有一個很特殊的專案,簡歷專案,我相信很多同學其實也希望筆者能回答這樣一個問題,事實上,簡歷上的專案是最麻煩的,因為簡歷上的專案需要同時具備商業價值和技術價值兩個條件,而個人專案只是技術的堆積,那怎麼寫到簡歷上,畢竟單純的技術堆積做出來的東西根本就沒法用。公司專案吧,使用者和領導其實也無所謂你技術怎麼實現的,他只要用的爽就行了。在前面筆者也提到了,有時候創造商業利益的東西往往要用到的技術也沒多複雜,有些時候可能一個if條件就可以解決了。
但是說實話,同學們所在的公司能夠有哪個專案符合這個條件,這個筆者幫不了大家,筆者自己都拿不到什麼好專案,那麼我們還是要回歸到老生常談的那個問題,掌握主動權。
之前筆者提到的實驗日誌問題,大家在不斷地練習中積累到一定地步以後,就要學著做一個同時具備技術價值和商業價值的專案出來,筆者之前也提到,個人專案這個東西不是拿來用的,所以很多事情我們其實用不著去考慮,不需要需求檔案,測試檔案這麼多工程規範上的東西。但是這個專案我們是需要整套工程規範的,從需求檔案,概要設計,詳細設計,專案運維,一個都不能少,要儘可能地按照企業專案的要求做,當然我相信大家經過大量的實驗訓練,這個時候閱歷已經比較豐富了,同學們這個時候除了一些基礎的需求以外,要儘可能從自己的訓練裡找出那些既有商業價值又有技術含量的需求出來,最後協調整合成一個結構完整,需求豐富,技術複雜的專案出來,這樣的個人專案才是真正能夠作為籌碼寫上簡歷的
當然,筆者告訴大家這個專案週期會很長,所以我希望大家看到這篇文章的時候就能開始做準備,不要拖延症晚期,也不要心浮氣躁。
附註
那麼今天就和大家聊到這裡,希望筆者可以給大家帶來一些幫助,筆者接下來會更加努力的工作,給大家帶來更多的經驗分享,希望同學們工作順利,早日升職加薪、當上總經理、出任CEO、迎娶白富美、走上人生巔峰,想想是不是還有點小激動呢