小公司的前端應該怎麼作?

前言

近期工做生活比較漂泊,從上海換到了成都,這個是以家庭爲單位的重大決定,離開一線城市對於職業生涯和技術前沿來講是有必定問題的,可是出於房價考慮(主要是買不起房子)與生活溫馨度來講,回蓉彷佛是一個比較好的選擇,況且成都的互聯網也還行。css

隨着能力的提高,負責的工做種類會逐漸增多,考慮的方向也會有所不一樣,這個時候不太會有太多單獨的知識點成爲阻礙了,工做中碰到的問題要麼太「大」,總結起來費力,要麼太「小」,不適合單獨整理成文,這種現象反而形成了一段時期的博客空白期,總的來講就是又開始懶了,思惟又開始懈怠,人又開始想待在安逸區了。前端

由於開始懶了,因此沒能學習到新知識,天然出不了新文;由於開始懶了不肯意再對工做中的問題一個個深刻研究、深刻挖掘天然出不了新文。node

因此人仍是得不停的鞭笞本身啊,不能讓本身陷入「瞎忙」的境地,得有效的利用時間,才能走的更遠!!!編程

如今我在一家小公司作前端,由於公司以及職位的變化,對於在小公司如何作前端有一些心得,拿出來與各位作個分享,但願對處於小公司的前端有必定用處,也鞭笞本身從新學習總結。json

什麼是優秀的前端團隊?

團隊初期缺什麼

在公司中,層級越高對業務關注比例越高,反而不太關注我的成長,因此評價一個leader是以團隊爲單位,團隊成員比他強是應該的;對於我的來講的話,要多關注自身能力成長,而後能力匹配本身的職位,甚至超出本身的職位,這樣的團隊的話,戰鬥力是比較強的。gulp

主管(包括前端主管)設定目標必須可量化 ,好比你作一個業務,kpi是多少,那麼技術就須要考慮如何才能達成,細化到研發甚至前端層級,就是所謂技術kpi了。後端

好比,今年H5站想達到單日平均出票量10000,那麼這個就是業務目標,須要消化分到各個業務團隊,能夠是:跨域

① SEO優化瀏覽器

② SEM優化緩存

③ 營銷廣告

④ 微信&支付寶&手機百度流量接入(微信錢包是十分優秀的流量入口,能夠極大程度的增長流量)

⑤ 實地推廣

......

以上固然只能解決部分問題,具體到前端,可能咱們就要從頁面轉換率入手,創建訂單漏斗模型,作性能優化,作交互優化,每個具體的層面都須要轉化目標。

這些都是直接可量化的東西,由於當前業務已經到了一個瓶頸,或者公司已經到了一個瓶頸,業務上就須要作不停的嘗試,對應到技術就是須要你快速迭代,低成本迭代,不斷的容錯試錯。

這個時候就會提出不少問題:

第一是你的團隊在相似高壓下會不會主動加班去實現公司的目標、我的的kpi。

第二是你的團隊在這輪高壓拼搏後有沒有留下什麼東西?

根據以前經驗,沒有團隊能夠無休止的承受高壓加班的壓力

以以前攜程無線高壓迭代的經從來說,就算是那麼優秀的團隊事實上到後期也是疲憊不堪,疲憊的時候容易犯錯,亢龍有悔,盈不可久。

第三是如何幫助新人快速的融入團隊,如何讓1+1=2。

咱們都清楚,好的項目毫不是堆人能夠堆出來的,如何讓一個項目能夠分解到各我的手中,如何讓參差不齊的同事能夠更好的協做,這個是咱們須要考慮的。

要解決這些問題是要靠平時的積累,具體體現到前端是:

1 在不停的迭代中,你的業務流程是否是最優(產品到設計到前端到最終上線流程)
2 在不停的迭代中,是否沉澱出來了公共服務與工具化服務

好的前端是什麼樣的

首先,好的前端是必定願意加班的,同時,好的前端是會找辦法讓團隊少加班的。

和一些朋友作過交流,不少好的點子,改善工做效率的點子都是幾我的討論後私下晚上搞出來,而後反覆實踐用於生產的。

通常來講業務kpi對於能力強的朋友來講不會太難,因此對他們的期待也會更多:

有強烈的意識,能深入瞭解到當前項目性能的缺陷,開發效率低下的緣由,並會找尋處理辦法

不少團隊在快速迭代中會開始「欠帳」,時間久了就不肯意還,問題的存在擱置須要想辦法去解決,團隊成員是看獲得問題的,沒人說,沒人作是由於知道那是坑,你若是能解決的話,一到二次便能提高本身在團隊中的位置。

好的前端應該有良好的架構設計能力

首先,好的前端能向人清晰有條理的描述本身的技術方案,而且讓人聽得懂!

而後架構設計能知足長久的需求發展,就算業務頻道擴大了10倍,用戶量增長了100倍,也不會有根本的變更。

好的前端應該具備良好的交流能力

對內,好的前端須要瞭解團隊成員的性格與能力,作出適當的任務分配分解;對外,須要搶佔業務還不能產生利益衝突,這類人是項目推動的主力。

小公司的前端應該怎麼作

不是全部的小公司都這樣,可是我見過的小公司的前端都在撲業務,而且疲於奔命,這個是個惡性循環,第一次作業務:

加班趕業務-業務結束輕鬆一週-加班趕迭代-業務結束輕鬆一週-加班新業務-業務結束輕鬆下......

偶爾你會問這些朋友爲何沒有什麼積累,獲得的答案基本是一致的,忙啊!他們忙起來的時候是真的很忙,可是第二次若是依舊這麼忙的話就有問題,第三次還這樣就是團隊不健康了,一個好的作法是:

① 完成先後分離,這步作不到,後面也不用作了
② 造成幾套UI庫
③ 根據業務形態,造成公共業務
④ 前端重複工做工具化
⑤ 造成優化體系
⑥ 造成統計體系
⑦ 創建頁面轉化漏斗模型
⑧ 作ABTesting方案
......

首先,不管出於什麼考慮,先後必定要作分離,若是有SEO需求,那麼再後續推動nodeJS方案,畢竟如今不給錢想排前面仍是很難,SEO基本沒意義。

其實,小公司有不少坑能夠佔住,這個會幫助你創建團隊威望,下面我舉幾個細節點說一說。

UI庫

UI庫的造成與UI庫的多少將決定你後續項目重複工做量的多少,這個UI庫須要注意幾點:

① UI是否可重用

② UI是否可定製

好比讓不少朋友去作這個時間選擇器,作出來就真的是時間選擇器,若是讓他換成城市選擇器,就全傻眼了:

③ UI是否可拆分,可聚合

仍是以上面UI爲例,這個組件事實上是一個聚合組件,由一個select組件與一個彈出層組件組成,你的UI是否是可拆分是評價他質量的一個很大考慮點。

......

公共服務

公共服務能夠說成一個大一點的「UI組件」,可是他是與業務相關的,UI來講通常不會與業務產生耦合,以上面的日期選擇器來講,不管他裝的是日期仍是區域都是能夠的,而且不該該請求服務,他是純淨的UI組件。

而公共服務是不純淨的是必定與業務相關的,移動端比較常見的公共服務是:

passport

包含登陸註冊、我的資料管理,甚至包含一些認證相關的,與公司帳號相關的操做,登陸註冊是各類活動,各類業務頻道均可能會使用的業務,這種東西是必須服務化的,可是不少小公司都沒作。

由於公共的特色,頁面設計最好中性一點,其中幾個經常使用的頁面,好比登陸須要包含如下設計

① 樣式可定製化(彈出層、獨立頁面什麼的都是常事)

② 回退可定製,其實全部的公共服務回退按鈕都是須要定製的,登陸成功去哪一個URL登陸失敗去哪一個URL,點擊瀏覽器回退去哪一個URL都得約定,少一個都不是公共服務

③ 單點登陸,事實上初期根本用不到什麼單點登陸,甚至你們都不是跨域的,因此後續須要再支持便可

還有不少與passport同樣的公共業務,好比:

① 錢包服務,包括用戶支付訂單相關管理

② 城市列表,這個要考慮參數如何傳遞

③ 反饋系統

④ 公司介紹

除了面向C端的公共頁面服務,還會有面向B端的統計平臺相關。

前端工具化 

靜態資源處理

評價一個前端團隊是否優秀成熟的評判多以團隊工具化的程度,一個簡單的例子是:

① 大家前端靜態資源是如何組織的、如何打包的

② 大家前端靜態資源是如何解決緩存的(比較好的方案是MD5)

上面兩點可使用grunt/gulp一類的構建工具輕鬆作到,若是有公共框架文件還會須要引入種子文件的概念

跨域問題

另外,全部前端團隊都會遇到跨域問題,特別是先後分離後,服務器端只提供API接口,前端代碼隨便在哪都能運行,那麼這個時候你是怎麼作呢?

① 使用fiddler&charles作代理

② 提供測試服務器

③ 支持jsonp跨域

④ 支持cors跨域

那麼這些方案,哪一種最適合團隊,哪一種成本最低(通常來講是代理),是咱們須要考慮的

tips:我以前使用fiddler,如今換mac了使用charles,兩款工具十分優秀,正則一塊的處理很好,推薦使用

移動端適配

從後端轉到前端的同窗通常在業務邏輯上有一些天生的優點,可是每每在CSS一塊比較弱,如何在開發人員無感的狀況下引入rem,如何與現有機制無縫的使用less,如何處理單頁應用中css的污染,這個是框架底層須要考慮的。

模塊化&組件化開發

團隊上規模後,如何使用模塊化開發處理協做問題;業務代碼複雜度上升後,如何使用組件化編程思惟簡單開發複雜度,這些須要應用到項目實踐中,而且路徑是可複製的;

一些優化手段,也須要工具化,框架化,讓開發人員無感。

先後端協做

前端與服務器端,開發速度未必同步,事實上不少時候都不是同步的,在已經約定了接口格式的狀況下,接口尚未寫好,可是前端依然能寫交互,團隊是如何寫這種假數據,這個方面實現會大大的提高工做效率。

訂單降低分析

若是在某一個時間段,全站的流量或者全站的訂單量降低了,你如何跟蹤此次降低的緣由,如何最大程度上避免下次出現相似的現象,這個時候數據統計會避免咱們成爲瞎子,因此得儘快創建統計平臺,轉換率模型。

快速迭代,經過迭代來優化產品,可是若是每個迭代都徹底顛覆了以前的設計,不少時候公司就是原地踏步,每邁出一步你要清晰的知道前一個版本哪裏出了問題,針對問題作優化,而不是頻繁改版。

此次改版後,你如何知道此次優化就比上一次的好,而不是其它因素形成,ABTesting方案應該是每個成熟團隊必須的,持續優化這些都是創建在有效的數據監控與意見反饋機制上的,咱們不能作完網站變成瞎子。

結語

由於好久沒有寫博客了,又由於最近恰好來到了小團隊,有一些想法以水文的形式發出來與各位討論,但願對各位有用。

誠然,對於一個前端來講,要推進上述工做仍是有一點難度的,但並非不可能,前端對本身的定位要變,從前端工程師到軟件工程師。

我經常聽到不少前端本身都在質疑本身,或者就是膨脹到以爲本身團隊沒有什麼能夠作了,那麼這個時候能夠考慮下:

大家團隊的自動化、安全性已經到位了嗎,效率就真的徹底沒有上升空間了?

前端的重視程度須要你我一併努力,在大公司作前端難,在小公司作前端更難,你我共勉,最後補充下爲何回成都,以及回來的一些感覺。

從一線城市到二線城市

幾年前,懷着想學點新東西的想法,我來到了上海,在這邊也確實學到了不少東西,關於學習有幾個必要條件:

① 好的項目

② 好的團隊

③ 加班總結

不少時候不是一些朋友不努力,可是PV上億的項目國內真的很少,創業團隊這種機會就更少,因此根本沒有這種機會,這個時候看人家作的不少優化就是看熱鬧,彷佛懂得了什麼,其實什麼都沒懂。

就算是攜程最好的時光,依舊有不少團隊沒有跟上好時候,好比不在無線的團隊,那麼無線團隊的經驗包,若是不是真正好學的人是接收不了的,就算我處於無線團隊,native團隊中不少經驗包都是遺漏狀態,並且不管怎麼打聽都是打聽不出來的,就好比native資源更新機制,我就前先後後關注了兩年,從各處零碎的獲得了不少知識,如今看來依舊不夠系統,不可謂不遺憾。

又好比有一次攜程全站出現了一個重大BUG,由於是server端的問題,本身當時目光短淺沒有去深刻,到如今想深刻都沒有案例了,只能說機會稍縱即逝啊!!

因此就算後來進入百度瞭解到了fis的好,可是真正想去深刻的話怎麼都摸不着門道,只能學習一些思想走;這個也是一個框架成型後若是後面的人來維護怎麼都維護很差的緣由,由於他們找不着精髓,後來的人甚至會噴框架的各類很差,本身卻找不出方案。

這個就是一線城市的一大好處:

一線城市,具備好項目(PV過億),好團隊的機會要好不少,只要你努力上進,就能收穫很大的經驗包。

這就意味着,只要你願意學,就必定能夠收穫很大的經驗禮包,這裏有不少熱心的大神,願意與你討論,願意與你分享,而你的分享也會帶給你快樂與成就感。

另外,外面的薪酬包也要比二線城市大得多,就我而言,回成都薪酬包只有原來的70%不到,若是此次沒回成都的話,待遇應該會有長足的漲幅,可是最後仍是選擇的歸蓉。

關於機會好的僞命題

不少人到一線城市打拼是以爲那裏機會好,事實上這是一個僞命題(在我看來),不能否認沿海的機會不少,但真心說不上好。

職場這個東西真心很差說,你能力強須要人賞識你,你上去了還得你的老闆上去,你老闆上去了,還得你老闆的老闆也上去了,若是中間有一個老闆失勢了,那麼新的老闆可能會洗牌,狀況好的話你留下,而且依舊使人尊敬,可是更多的狀況是可能你得捲鋪蓋走人,互聯網離職率高不是開玩笑的。

能力強不等於職位高,由於通常來講你的能力尚未那麼強,能玩轉公司的畢竟是少數,搞技術的更多的狀況仍是比較實在,想安安靜靜寫代碼,不多搞政治鬥爭,又心高氣傲,又比較脆弱,面對不合理的KPI,或者被產品無限制的坑,是很是容易離職的。

外面優秀的人扎堆,因此真的機會只是相對的,你若是抱着學習收穫經驗包的想法出來會收穫很大,若是你經驗包已經夠了,想更往上發展,那麼這個是很難的,由於管理或者交流未必是開發擅長的。

再往上會關注業務發展,關注KPI,須要大量的產品知識,本身甚至會成爲產品,這個時候搞技術的時間就會相對變少,但技術很差又很難讓技術員工服衆,光是技術好又上不去,居然有點矛盾。

我身邊就有幾我的出去作CTO,結果團隊剛剛上軌道就被掃地出門了......

另外,就是外面leader很辛苦,特別是團隊上升期,好的leader會陪着團隊加班,會很晚,咱們以前好的老闆(35歲左右)都是陪着團隊加班的,總之錢很差賺,若是leader偷懶,幾年下來可能會廢掉,被淘汰掉,這個中年危機是不可忽視的。

雖然如此,一線城市的機會和成功的概率依舊比二線城市好得多,而你願意拼搏,善於思考,是能夠發展的很好的,那麼咱們爲何要去二線城市呢?

爲何去二線

去二線城市主要緣由就是房價貴,房價太貴,一樣的錢能夠在成都買三套房子了,並且一線城市買的房子很偏遠,上班得一個多小時,下班又得一個多小時,這樣來講是至關使人疲憊的。

而後外面工做節奏太緊張,甚至已經緊張到沒有生活了,有追求的人995是常態,996也是有可能的,這個會不斷的透支你的身體,年輕點還好,稍微上點年紀,有了家庭的話就不行了,會考慮的更多了。

好比在一線城市落戶的條件比較苛刻,小孩教育問題、父母養老問題都是你須要考慮的,想着想着,就會有一個想法,要不回老家算了,又不是找不到工做,因而就回來了。。。。。。

回成都後的感受

回成都後,次日便出差去北京,整個清明節都在加班,完了回成都也一直在加班,尼瑪這邊的工做強度一點也不比一線城市低啊!!!

可是,週末能夠過得很愜意,一個月老媽也會來一次作些好吃的給咱們吃,這種幸福感和歸屬感是外面沒有的。

今天,我8點就下班,在軟件園區信步而走,走了10多分鐘,而後坐着公交車20分鐘回家了,這種感受仍是很不錯的。。。。。。

二線城市依舊會面臨外面的各類挑戰,不想面對依舊上不去,在哪都是面對,那就回老家面對咯。。。。。。

相關文章
相關標籤/搜索