要做軟體工程師,而不是前端工程師

李CHENGXI發表於2018-03-08

原文連結

default

最近幾個月一直有些事情沒有想通,但可幸的是,有些問題的答案逐漸開始明朗起來了。好久沒寫文章,籍此獻上一篇短文。

當初準備畢業的時候,其實並沒有想過要當前端工程師,畢竟當時基本都是全棧(PHP + jQuery)。但由於並不是科班出身(大學讀Business),自信心不足,以及機緣巧合,就成為了一名前端工程師。

選擇這份職業,其實也領略到它所擁有的魅力,更快捷的開發方式,更緊貼時代的發展,跨端的相容等等,可以算是享受了前端這幾年飛速發展的紅利。但工作三年之後,也逐漸發現只是圍繞前端來發展,有很大的侷限性。

大約是有那麼兩件事觸動到我吧。

第一件事是, React Native, Weex, Node.js 這事技術的發展,彷彿是給前端鋪平了進入客戶端和後臺的道路。但真正開發過的人才知道,在這些技術裡玩得溜的,其實還是從安卓、IOS轉過來的客戶端開發或者從JAVA, C++轉過來的後臺工程師。

第二件事是,如果未來,需要你帶技術團隊,只懂前端技術足夠嗎?其實是不夠的,精通前端技術,然後懂點後臺、客戶端皮毛呢?我覺得也是不夠的。就這樣,能與後臺和客戶端達到更良好的技術溝通與理解嗎?能在他們給出非最佳方案的時候提出自己的見解嗎?萬一部門的前端人力富餘了,有能力帶團隊做後臺嗎?做些客戶端的東西呢?能做,但能做得優秀嗎?如果沒有技術儲備,我覺得上述的問題完全解決不了。

image

所以,未來一兩年,希望自己能朝著軟體工程師方向發展,而不僅僅是將自己侷限為前端工程師。不過,一個人的精力真的有限,未必能把各方面的技術都學得很透徹。但我對自己的要求是,精通一門端技術和一門後臺技術應該是比較好的搭配,這樣整個產品的技術開發都基本能 Hold 得住。不過,具體怎麼搭配,可能還是跟自己的職業發展和興趣愛好有關,同時掌握端兩門端技術、後臺 + AI 技術、等等,我覺得這些搭配也不差。

技術能力拓寬之後,你未必能馬上能管理團隊、更好地掌握一些跨端技術,儘管如此,你在前端領域的一些想法,可能會有更不一樣的轉變。

image

比如說,如果公司內的團隊,每個人都至少掌握一門端技術和一門後臺技術,好多時候人力都可以動態調配,聯調的時候也能減少。某個需求,如果後臺人力太緊,導致聯調時間滯後,之前前端團隊最喜歡的做法是,我們來寫個資料Mock平臺,自己在上面寫一些假資料,調完之後,後臺好了,再跟後臺調。但如果我本身就會這門技術,我直接把介面寫好就行了,在介面傳假資料,雖然可能還要跟後臺的資料對接,但總體來說,實質上還是少了些Mock的功夫。

image

由於動態調配帶來的好處除了節省開發時間,其實是更有利於技術部門組建 feature team。國內許多大公司主要都是將技術分得很細很細,每個組的成員,幾乎就只會一門技術。如果一個部門裡缺少了某種技術的組,或者儘管有但人力不足,要孵化的新專案需要這項技術,估計就因找不到合適的人才而難產了。

看完我所說之後,結合自身的發展,不知道是否也有所感觸呢?

如有謬誤,懇請斧正。

相關文章