整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          為前端工程之崛起而編程!

          為前端工程之崛起而編程!

          者 | 螞蟻保險體驗技術團隊

          責編 | 胡巍巍

          本文經授權轉載知乎“相學長”

          曾經在知乎的一個問答《從事前端真的沒有后端工資高?》中談到自己對前端工程師的天花板的認識:

          我覺得,隨著互聯網產品越來越多,用戶們必定也會不斷的索取更好的用戶體驗,前端同學也會扮演著越來越重要的角色。責任越來越重,天花板就越來越高(誒,自己說的話,貌似也沒必要加什么引用......)。

          當時的角度主要注重產品體驗上。現在入職螞蟻1年左右,對其又產生了一些新的想法。雖然前端的能力越來越強,技術棧要求也越來越高。但從工程角度出發,前端目前還處在一個較低的階級水平。

          首先,我們作為前端工程師,是怎么定義這個“工程”的呢?

          何謂前端工程

          我剛畢業的時候,在一家創業公司做全棧,職稱是Web開發工程師。當時前后端未分離,而我內心的工程,就是我手頭整個前后端工程代碼。當時對前端工程是沒有概念的,對我而言,前端就是JS+CSS+HTML,它脫離了服務器就沒了意義。單把這些代碼拎出來,我也無法稱之為工程。

          后來三大框架出現,前后端逐漸分離,開始出現“前端工程化”的概念。2017年初時,曾面試過一家小創業公司,面試官問我前端工程化怎么做?

          當時我回答:“前端工程化就是:代碼模塊化、功能組件化,打包、構建、發布自動化、流程化。”在后面的一年中,我的工程化概念,大致還是如此,可能還會加上一個開發規范。

          在這個“工程化”概念下,我所認為的“前端工程”,就是我眼前的 “前端代碼”,它的最終目的是為用戶輸出前端頁面。

          我最關注的即是:如何更高效率、更高質量的為用戶輸出體驗更好、能力更多的頁面。這些年前端Coder圍繞著這點也做了很多:

          高效率:

          1. ES6+
          2. 多端統一
          3. 接口管理與Mocker
          4. 框架、工具庫、組件庫

          高質量:

          1. 開發高質量
          2. Git
          3. Code Review
          4. 開發規范
          5. 線上質量保證
          6. 監控系統
          7. 應急-快速回滾能力

          更好的體驗:

          1. 多尺寸適配
          2. 小程序
          3. 高性能

          能力更多:

          1. 復雜交互
          2. Native能力
          3. 動畫、游戲

          當然這其中也有一些交集,比如三大框架的出現既為高交互頁面提供了可能性,也提高了整體開發效率與質量。比如圍繞高效率與高質量會統一建設一個前端迭代管理系統,負責工程迭代、構建、發布、回滾。

          其實我也就隨便列列,有很多東西都沒涉及,但也能感受到這幾年前端領域的突飛猛進。再站在現在這個時期,看前后端未分離的時期,那段后端兼職JS、視覺兼職CSS的上古年代,確實不能稱前端代碼為“工程”,更不太好意思說前端程序員為“工程師”。這也難怪很多高校老師、后端同學不屑前端。

          但立足現在,前端所涉及的范圍已經遠遠超出了當年,我們的“工程”復雜度與其能擁有的能力也超出當年的想象。我們可以驕傲地說自己是一名前端工程師了。但我覺得,我們似乎離軟件工程師還差一點點。

          前端工程師,首先是軟件工程師

          網上有很多人,都說過這句話。說的似乎很有道理,卻又沒啥體感。而近幾天我對這句話感受日深,這其中很大原因歸功于螞蟻在Node上的豐富實踐。

          螞蟻應該是實踐Node比較多的公司了。目前螞蟻的大部分移動端業務,都有對應的體驗適配層BFF層,也即大家通俗理解中的Node中間層。

          它的主要職責為:銜接頁面與后端,聚合后端接口,做好數據轉化,輸出最滿足頁面期望的數據結果。

          它的主要目的為:讓后端更專注于領域模型,將頁面數據的設計交與前端,彼此更專業高效。更通俗點說:讓業務開發更快!

          而加入螞蟻后,BFF層可以說給我增加了很多工作量。我們需要開始給自己頁面設計接口,需要對接多個后臺系統。新增接口,可能需要考慮拓展性;舊的接口變更,需要考慮兼容性。

          如果涉及后端變更,需要評估其變更影響,需要評估系統的依賴與發布的先后順序。此外還需要考慮需求上線時,Node層與前端的灰度方案、監控方案、應急方案。

          所以在我們組,業務需求所涉及的前端變更是需要做系統分析的,后端系統分析也是要參加的,這些涉及了上述所說種種。

          尤其是當需求變更較大、波及較廣,甚至還同時涉及了多個系統間的遷移、升級、重構,這其中的復雜度便會迅速上升。對于體量較大、用戶量較多的業務,這就是對工程師的一個考驗了。

          當你不斷的經歷這些挑戰,可能突然有一刻,會有種感覺:作為一名工程師,以前都只關注自己手頭的前端代碼,對于整個軟件系統工程的思考實在太少了。

          在這個軟件系統中,前端所涉及的工程扮演著哪些角色?哪些系統影響著它?它影響著哪些系統?它們的變更都會產生什么影響?

          所以前端工程師,其作為一名軟件工程師,應該從整個軟件系統工程去看。前端工程師不僅僅是完成自己的前端工程,而是完成了整個軟件系統中的一部分,它也不會脫離整個系統而獨立。

          而作為整個系統工程的一部分,前端工程要懂得去索取,懂得去影響,了解整體工程的能力與痛點,思考整體工程如何去提高。

          這時候再來看這句話:前端工程師,先是軟件工程師。不知道大家能否多了一些體感。

          前端地位低

          但如果我們從整個軟件工程來看,這時候我們就會意識到一個慘痛的事實:前端工程在整個系統工程中的地位太低了。

          在螞蟻,前端工程師往后走了一步,多了一層Node層,在整體系統工程中擴大了自身占比,還算好一些。

          而對于大多數只涉及Web頁面工程的同學來說,望著這個巨大的軟件系統工程,即使有心,似乎也無力。

          其實我覺得很多前端工程師是很厲害的。尤其是這幾年,越來越多的優秀畢業生加入了前端。

          有時候我會覺得,前端的交互邏輯如此復雜,其對代碼水平的要求比后端大部分的業務場景高到不知道哪里去了。

          但純粹的代碼水平并無法決定前端工程的影響力。即使你能用0和1敲打出一個天花亂墜的頁面,那它也就是一個頁面。

          前端工程在一個軟件系統中是處于最上游的(用戶入口)。因此,也就沒有其他系統需要調取前端系統的服務。

          在整個軟件系統中,前端對接的系統少,所影響的系統也少,工程地位低。不像后端,它既需要為前端提供能力,又需要問中后臺、數據層索取能力,也可能需要問其他業務后端索取能力,對接系統很多,工程地位自然也高。

          由此又會導致,前端往往不是產品能否實現的決定性因素。在軟件系統中,需要上游系統調取下游系統服務。

          換言之,上游依托于下游。這自然而然的導致技術評估從下游開始。到前端評估時,已經是最后一道坎了。

          而這一道坎,業務方往往是無論如何也得過的。如果坎比較高(交互視覺難以實現),最終也是通過降低交互復雜度與用戶體驗,來保證產品功能先上。

          有很多同學認為前端對業務的參與度太低了。但我們自我感覺對業務參與度也挺高呀,我知道產品都有哪些頁面,都有哪些功能。

          但了解并不是參與,影響才是參與。前端的工程影響力以及業務影響力,導致了前端對業務的參與度本質上是很低的。

          在這種情況下,說白了,很多前端只是流水線工人。視覺稿來了,實現它。

          實在實現不了,打回換一份更簡單的視覺稿。可不甘心做一個流水線工人啊,似乎都能看到年紀大了以后被裁員的結局。那這又該怎么辦呢?

          前端的焦慮

          前端仿佛一直處在焦慮當中。前兩年我們的主要矛盾是日益爆發的前端新技術同前端程序員學不動之間的矛盾。

          而這一兩年前端技術棧趨于穩定,輪子相對也少了。加上前端程序員也比較拼,學不動的感覺也隨著無數個夜晚的學習而漸漸逝去。

          這時候前端又開始了新的焦慮,前端的天花板是不是太低?工資是不是沒后端高?前端開發的壁壘在哪里?

          我認為我們的主要矛盾已經發生了變化,變成了前端日益增長的工程地位訴求同前端工程局限性之間的矛盾。

          聰明或勤奮,再加上時間的積累,總是能解決“學不動”的問題的。但前端工程地位訴求怕是自身再怎么努力也不一定能解決的。

          解決當下前端焦慮的辦法只能是打破前端工程局限,增加前端工程影響力,拔高其工程地位。最終讓前端人員也能在軟件系統工程中當家做主,平等的參與到軟件系統建設當中。

          只有前端崛起,前端工程師才能擺脫焦慮,而這不是一兩個人的戰斗,需要大家一起去努力實現。我個人想了三條計策。

          崛起三計

          1.無中生有

          能從現有工程中發現痛點,創造出一個系統或服務,提高效能、促進業務出成果。

          典型的如Node層,利用Node服務端能力,搭建一層為前端服務的BFF層。于是便在一個軟件系統工程中,硬生生造出一層系統,拓展了前端工程師的工程地盤。

          2.遠交近攻

          在一個系統工程中,我們多做了一部分工作,自然就有人少做了一部分。現在我們無中生有的,是人家不愿意做的“臟活累活”。

          如果我需要侵占下游的核心能力時,他們便不一定讓步了。這時候我們可以采取“遠交近攻”。如果我們能直接對接下游的下游,同時又能擁有下游的能力。

          那我們下游還有什么存在的意義呢?現在流行的FaaS似乎就給我們提供了一個Idea、亦或者就是個契機。

          3.反客為主

          前端雖然是上游系統,但可以通過提高自身工程能力,主動地放大業務可能性。將可能性的瓶頸下拋,進而促進下游系統提高自身能力。

          化被動為主動,改接受為影響,進而提高自身工程地位。典型的如小程序。小程序最初是由客戶端同學去實現,最開始其實也是致力于平臺生態問題。

          因其技術棧基本與前端契合,極大了利好了前端開發者(而不是客戶端開發)。前端開發同學瘋狂涌入后,一方面做了非常多基建工作,極大提高了小程序開發效率。

          另一方面,大量的小程序讓業務看到小程序的無限可能。進而對小程序本身能力也多了很多訴求,如微信小程序支持了NPM包。社區里,前端程序員在小程序建設上不斷努力,如今說到小程序,大家似乎都在夸前端厲害。

          相信隨著無數優秀的前端同學不斷的奮斗,幾年以后的前端工程師必然又是另外一番成就。

          希望屆時,我們可以驕傲的稱自己為一名軟件工程師。我們依舊會不斷學習,但學習的背后不再是因為焦慮,而是純粹對于工程與代碼的熱愛~

          加油吧前端程序員們!讓我們一起為前端工程之崛起而編程。

          疫情以來,身邊很多程序員接私活,表示已經賺麻了。

          有程序員發出了這樣的動態:工資一年20萬,私活一年八十多萬,真感覺本職工作失敗。

          還有網友講述了其身邊接私活的案例:之前職業區也有個做私活的哥們,說是去傳媒產業園挨家敲門,談下五家廣告公司的技術外包合作,全年就爽了,那哥們說10個月純收入40萬!


          達內Java程序員:

          我Java程序員,工作兩年,月薪13K,私活20K。”

          “之前在單位上班,工作清閑,私活接了無數,然后就忙不過來了… 干脆辭職邊進修邊接活兒,自由職業了,賺的還比在職多!”

          “做程序員的第一桶金就是幫朋友寫小程序,后來才去上的班,上班以后也一直接,私活月入5k!”

          ……


          如果你的工作相對沒那么費時間,可以空閑的時候去接點私活。或者是還沒有找工作之前,可以通過一些平臺接一些兼職,
          一來能夠賺錢,發展自己的副業。二來通過接項目,大量的實踐,可以為你積累實戰經驗,面試時也會比他人更有優勢。

          今天給大家分享一下程序員如何接私單!


          01

          程序員接私活的渠道


          下面就跟我一起來看看有哪些兼職平臺吧~國內遠程工作平臺,接單平臺:


          CODING 碼市

          著名的Coding旗下的互聯網軟件外包服務平臺,平臺以外包為主。


          開源眾包

          開源中國的眾包平臺,主要是以眾包為主。


          什么是軟件眾包


          目前軟件眾包分為簡單任務和復雜任務,簡單軟件眾包的任務可以由個人來承擔,比較復雜的軟件可以同時協同多人完成的任務。

          它的流程是:首先發包人對任務進行細分,分解到最小后,然后分包出去,按照各自的能力和知識水平領包,最后完成任務,發包人通過審核通過之后,項目才算完成。


          豬八戒

          找兼職的地方,主要是入門級項目,不適合專業程序員,上面各類需求發布都有不限于軟件開發行業,更適合新手。


          程序員客棧

          程序員,產品經理,設計師等互聯網相關人員,都能在上面找到適合自己的項目。支持自由、遠程和兼職工作,還可以按需雇傭,工作模式非常多 。


          英選

          雖然是外部平臺,當他們還是針對外部項目的一些長期令人詬病的問題進行了一些優化。


          開發邦

          特點:服務范圍明確,IT開發項目垂直度高,能吸引到一部分需求明確的客戶。

          平臺也致力于利用互聯網軟件技術為客戶提高效率、降低成本、提升效能、優化管理。


          猿急送

          平臺特點:追求高質量的雇主和工程師,匯聚了知名互聯網公司的技術、設計、產品大牛,通過實際坐班、遠程等方式,一對一為創業公司解決問題,提高創業效率。

          人人開發

          基于可視化快速開發平臺 - 捷得(Joget)/捷得云(Joget Cloud)(PaaS),集眾多開發者資源,為企業提供企業管理軟件服務。


          外包網站大全

          • 1.豬八戒:https://zbj.com
          • 2.靠山云:https://www.kaoshanyun.com
          • 3.猿急送-程序員兼職平臺:https://www.yuanjisong.com/
          • 4.程序員客棧:https://www.proginn.com
          • 5.CODING 碼市:https://mart.coding.net
          • 6. 快碼眾包:http://www.kuaima.co
          • 7. 碼易眾包平臺:http://www.mayigeek.com
          • 8. 一早一晚平臺:https://yizaoyiwan.com/
          • 9. 開發邦:http://www.kaifabang.com
          • 10. 人人開發:http://rrkf.com
          • 11. 厘米腳印:http://www.limijiaoyin.com
          • 12. Sxsoft:https://www.sxsoft.com/
          • 13.開源眾包:https://zb.oschina.net/projects/list.html
          • 14. 實現網傳送門:https://shixian.com/
          • 15. 智城外包網:http://www.taskcity.com/


          02
          程序員接私活的注意事項


          第一:接私活注意要點

          沒有金剛鉆,別攬瓷器活。接私活之前評估自己的能力,切勿超過自己的能力范圍。目前缺口比較大的技術: c/c++,java,python,R,matlab,stata,spss,eviews,jupyter note,hadoop,匯編,底層,軟件,數據分析,數據挖掘,模型。


          第二:急單勿接

          任何不付定金的單子都是耍流氓。目前定金比例在40%左右正常,當然定金預告越高保證質量,塑造口碑。有口碑之后,業務的質量和數量便會越積越多。


          第三:代碼復用


          重要的事情說三遍:一定要學會代碼復用,一定要學會代碼復用,一定要學會代碼復用。學會這一點賺錢速度會提升好幾倍!


          第四:評估時間

          如果你工作目前是996了,日常工作強度也大,那建議還是不要接私活,熬夜會影響第二天的工作狀態,最后工作丟了就得不償失了!


          03
          私活價格怎么定


          計算出你正職工作的時效,比如你正職工作工資12000,每個月工作160小時,每小時就是75元,然后估算出私活需要工作多少個小時,然后再乘以接單系數,接單系數考慮一下因素,時間緊迫性、難度、后期維護難度以及次數、是否有現成模板等,接單系數一般建議2-5之間。

          先詳細了解客戶需求,然后準確計算出需要多少工時,是否有可復用的代碼,綜合前面三步,得出基礎價格、工時、接單系數,計算出總的費用,報價給客戶。
          最后祝各位程序員爆單賺的盆滿缽滿!

          近新型冠狀病毒肺炎期間,大家都在家自我隔離,但是很多人,尤其是沒有存款的年輕人開始慌了,在家休息沒有收入怎么辦,花唄怎么還?這個時候體現出存款的重要性了,有網絡兼職的小伙伴可能還好一些,比如程序員。

          今天我來帶大家看看程序員是怎么在網上接私活的。

          非誠勿擾:正在學習python的小伙伴或者打算學習的,可以私信小編“01”領取資料!

          1. 程序員客棧:

          https://www.proginn.com

          程序員客棧中國非常領先的自由工作平臺,為中高端程序員、產品經理和設計師等等互聯網相關人員提供穩定的線上工作機會,包括自由工作、遠程工作和兼職工作,還支持按需雇傭,工作模式非常多,感興趣的推薦大家嘗試一下。

          雖然名稱叫程序員客棧,但是除了程序員,像產品經理,設計師等等互聯網相關人員,都能在上面找到適合自己的項目。感興趣的可以體驗一下。

          2. CODING 碼市:

          https://mart.coding.net

          Coding 旗下的互聯網軟件外包服務平臺,平臺以外包為主。

          3.開源眾包:

          https://zb.oschina.net/projects/list.html

          開源中國的眾包平臺,主要是以眾包為主。

          4. 豬八戒:

          https://zbj.com

          找兼職的地方,主要是入門級項目,不適合專業程序員,只適合新手。

          5. 英選:

          http://linktion.cn

          平臺以定制開發外包服務為主,也是外包項目平臺。

          6. 快碼眾包:

          http://www.kuaima.co

          7. 碼易眾包平臺:

          http://www.mayigeek.com

          8. 人人開發:

          http://rrkf.com

          9. 猿急送:

          https://www.yuanjisong.com/

          注意

          首先判斷項目是否靠譜,直接說給我開發一個什么軟件,不說具體需求,沒有需求文檔的都不靠譜,這樣的項目不要接。

          需求文檔越詳細越好,如果暫時還沒有需求文檔,但是需求方有這個意識,能夠一起寫出一個詳細地需求文檔,在需求文檔的基礎上進行項目排期,預算等等的制定也是可以的。

          不給錢不開工,這一點一定要記住,否則很容易付出了勞動得不到應得的收入。

          不給完錢,不交完整代碼。你的成果就是代碼,如果沒給完錢,就把代碼交給了對方,也容易被坑到。

          分成比例一定要合適,做一成給一成的錢,做到七八成才能給兩三成的錢的項目不接。一定要按期結款,設定幾個結款節點,到對應的節點完成相應的工作量,收取對應的款項。


          主站蜘蛛池模板: 亚洲无删减国产精品一区| 伊人色综合视频一区二区三区| 肥臀熟女一区二区三区| 日韩精品一区二区三区中文3d| 中文字幕AV一区二区三区人妻少妇| 精产国品一区二区三产区| 亚洲一区无码精品色| 日韩一区二区a片免费观看| 国产午夜精品一区二区三区| 卡通动漫中文字幕第一区| 一区二区在线观看视频| 中文字幕亚洲一区二区三区| 久久久国产精品无码一区二区三区 | 2014AV天堂无码一区| 天堂一区二区三区精品| 91成人爽a毛片一区二区| 中文字幕一区在线| 亚洲成av人片一区二区三区| 综合一区自拍亚洲综合图区| AV无码精品一区二区三区| 国产一区二区电影| 亚洲线精品一区二区三区| 久久婷婷色综合一区二区| 在线电影一区二区| 国产乱码精品一区二区三区麻豆| 久久久久人妻一区精品色| 亚洲一区二区三区偷拍女厕| 国产一区二区三精品久久久无广告| 国产精品一区二区久久沈樵| 成人精品视频一区二区三区尤物| 韩国一区二区视频| 精品国产一区二区三区无码| 人妻少妇精品视频一区二区三区| 久久无码精品一区二区三区| 亚洲国产成人久久一区WWW | 日韩内射美女人妻一区二区三区| 亚洲国产精品一区二区三区久久| 一区二区高清视频在线观看| 亚洲av午夜精品一区二区三区| 国产激情无码一区二区三区| 国产综合一区二区在线观看|