本文首發於歐雷流《一個前端的職業軌跡》。因爲我會時不時對文章進行補充、修正和潤色,爲了保證所看到的是最新版本,請閱讀原文。前端
從春節回來開始直到如今,公司就像開了閘的西湖水同樣進行着新陳更替,能夠說開發團隊算是重組了。眼看着身邊發生這種狀況,雖然沒有什麼想法但仍是有了點想法,因此想寫篇文章闡述一下。幾天前還在朋友圈裏撒下了種子——git
原本是打算着重寫「職場危機」的,但前幾天看到了「計算機之子」程劭非(winter)的文章,也就是在第二屆 FEDay 前端開發者大會上的分享的補充版,《一個前端的自我修養》以後有些共鳴,再加上最近在職業發展上有點思想上的轉變,因此這篇文章的主要內容就變成了講述「職業軌跡」。web
本文是從自身經歷出發,再結合對他人的瞭解所進行的總結,故標題中的「前端」能夠理解成「前端工程師」這個職業,也能夠理解成是我本身。面試
我是一個 80 後,準確點說是 85 後,再準確點就是 80 年代的尾巴。掐指一算,已經快 30 歲了,想一想有點小悲傷呢……編程
內向的我絕大多數時候不想動嘴,喜歡一我的靜靜地待着。安全
由於這種性格,我社交能力不是很強,也不喜歡隨隨便便就跟一我的創建聯繫;可是我思考總結能力略勝一籌,想象力也稍微豐富一些。沒辦法,普通人在社交能力和思考能力當中只能佔同樣,這是性格特色所帶來的「技能加成」,若是全佔的,不是天賦異稟就是自我訓練能力特強。前端工程師
由於作事方式,有些人會誤覺得我是處女座,然而並非,實際是跟下面這位同樣——閉包
借喬幫主的光,爲我指明道路。架構
我天生就是個好奇心重的人,對不少方面的事情感興趣,也願意去爲了感興趣的事物付出。我是一個興趣驅動的人,絕對相信只有對一件事情抱有興趣甚至愛上它纔可以作好那件事。框架
全部事情中,最激動人心的就是去創造一個東西!寫做是創造,繪畫是創造,編程也是創造,這些都是個人愛好而且一直堅持在作。但做爲職業,寫做和繪畫不太適合我。其餘的創造類的事情中成本最低的就是軟件開發了吧?去進行實物的創造須要不斷地購買原材料,試錯的成本較高;然而寫代碼就不同了,基本有電腦、電和網就差很少了。所以,填志願時我報的是軟件專業。
在實習時,我是作客戶端開發的,用的是 VC6,作起來非常枯燥,一點激情都沒有。後來開始寫博客了,想要個性化本身的頁面,發現可以很容易地將本身所想的用代碼表達出來,感受非常好玩,讓我充滿激情!以之爲契機逐步瞭解前端技術,記得那年是 2009 年。我是先接觸的 HTML、CSS,在找第一份正式工做時纔去學 JavaScript 和 jQuery。
第一份工做是在老家的一個算是外包公司的小做坊,每一個人成天到晚就是忙着工做,都沒什麼技術交流,在那期間沒學到什麼頗有用的東西,不到一年我就離開了那裏南下杭州另尋一片天空,據說走了不久那就倒閉了……
來杭州後的第一份工做是在濱江的一家 web 安全行業的公司,不是互聯網公司,作的是面向企業的 B/S 架構產品。由於作的不是互聯網產品,成就感就是差一些,而且沒太大的挑戰性,再加上客戶的性質,不適合我。
以後的公司是一家既作遊戲又作在線教育的公司,這兩個業務分別是不一樣的「子公司」在作,我是作在線教育的。當時的專職前端只有我一我的,沒什麼人交流專業技術,感到有些孤獨寂寞冷……另外,都兩年多了業務一直沒怎麼起來,所選擇的方向作起來有點困難,人生苦短,再耗下去我就完了……不過,這家公司在開發方面仍是有不少優勢的,氣氛也是比較緩和輕鬆。
再後來,就是作汽車電商的買好車了。入職後把代碼拉下來看了一下,給個人感受就是一個詞——混亂!不管是目錄結構仍是 git 分支。B2B 業務開始後,前端採起了新的開發方式,目錄和代碼的劃分更爲清晰;雖然還不夠嚴格,git 分支的管理也開始使用 Git Flow 了,提交規範也要搞起來。這些都在朝着好的方向發展。在這裏,我想也但願本身可以擔當團隊中一個重要的角色,不是 leader,而是幫助團隊增強生產力,引領提升總體水平的存在。
多年的工做經歷以及經過各類形式在跟其餘同行交流後,讓我對職業、職場和與公司之間的關係有了更全面更客觀地認識,看到了一些問題。
不管什麼時候何地,一我的在羣體中活動時須要有公共的規章制度進行約束,更須要我的對本身的制約,這是更爲重要的事情。在職場當中,就是職業素養,大概包含如下幾個方面:
職業道德;
職業思想;
職業行爲習慣;
職業技能。
前三項用通俗易懂的語言來講就是:忠於公司、愛崗敬業、遵紀守法、積極進取。無論從事什麼行業,這些都是共通的,是做爲一個職業人所必備的基本素質。第四項則主要包括平常工做技能及專業技能。一個白領在平常工做中應當可以書寫用詞得當、排版規整的工做郵件以及掌握辦公軟件的基本操做;關於專業技能的事稍後會說,這裏就不贅述了。
不得不說,「有些人」的職業素養真的不好!他們會有以下思想和行爲——
作軟件開發的工資高,這是不少人對軟件行業的認識。尤爲是分支之一的 web 前端開發,因爲近些年來互聯網行業和前端技術的發展,前端工程師的薪資水漲船高,一大批人涌進這個行業。
這些人中有不少是由於這個職業看起來薪資高且門檻低才選擇進來的,這催生了一些培訓機構和從培訓機構出來的人。他們對這個職業根本就沒什麼興趣,徹底是衝着錢來的。在面試時若是碰到稍微有些要求的公司,都會被 pass 掉。運氣好的話會遇到沒有專職前端的或者要求較低的公司順利經過面試,這頗有多是一家節奏較慢,不怎麼緊張的公司。
在一家沒有緊張感的公司待了一兩年,養成了懶散的習慣:常常性遲到,甚至是嚴重遲到;稍微感到不舒服就請假,即便年假已經用完;天天準時下班,就算當天的工做沒有完成;不思進取,專業水平跟不上也不去努力學習;沒法溝通,讓與他協做的人無語;工做時間的大部分是在聊天灌水而非工做或自我充電……
這種人上班就是去打醬油的,拿着公司給的工資而不做爲。這些惡習一旦養成,不管他們換多少工做也很難改掉。不過,恐怕離開了那個「安樂窩」,他們就再無去處了。
每一個從業人員都應關注自身成長,這不只關係到本身的專業程度和所體現出的價值,說得實際些,還關係到拿到手的 money 和圈內的聲譽名氣。
程劭非的那個分享的主題就是關於前端工程師的成長。他將成長分爲「知識」與「能力」兩個方面,比重分別是 20% 和 80%。「知識」中包括了比較穩定且幾乎不會被推翻的「標準」和變化很快的「技術」;「能力」裏包含了用代碼解決問題的「編程能力」、解決代碼規模問題的「架構能力」與解決協做問題的「工程能力」。這種劃分方式我是十分贊同的!
能夠看出,對於一個前端工程師來講,去閱讀理解標準和訓練培養能力纔是真正穩健並有益的作法,追逐突飛猛進的技術和框架是很膚淺浮躁的行爲。
技術或框架的誕生是爲了解決某個場景下出現的問題,有一百個場景就可能有一百個以上的技術或框架,它們是特定問題的解決方案,是工具。創造一個技術或框架,須要的是上文所提到的能力,而後遵守標準去開發。因而可知,標準和能力的重要性遠遠大於技術和框架。
不光光是前端工程師,只要是從事軟件開發的人就應該意識到,一名軟件工程師的核心實力不是懂多少語言會多少技術,而是編程、架構、工程等能力的高低。優秀的開發人員不會把本身侷限於某種語言或某個技術,那些都是能夠根據實際須要進行調整更替的,而能力是不可替代的。
遺憾的是,不少人在工做三五年後的關注點還是在技術、框架或工具上。這些人要麼是功利心過重,進入這行就是爲了拿高薪,沒有愛;要麼是沒去思考過職業規劃,別人學啥就學啥,隨大流;要麼就是不夠聰明,沒有看破軟件工程師這個職業的本質。他們要學的東西受市場需求影響很大。
寫進一家公司的招聘信息中的對應聘者所掌握技術的要求,是這家公司的技術架構所決定的,而其技術架構是公司裏的軟件工程師根據業務場景通過技術選型所制定的。也就是說,那些沒頭腦的「軟件工程師」的職業路線受軟件工程師所擺佈。
「軟件工程師」在進了一家公司後基本只能作作底層的苦力,核心業務啥的跟他們沒太大關係。還想拿高薪?先講講「閉包」是什麼?
若是能像賀師俊(Hax)那樣牛逼,你就是站在「金字塔」頂端的人!
在公司中的歷練對一我的的成長起着十分重要的做用,在不一樣類型的公司中待過以後,我以爲對於咱們寫代碼的人來講公司必定要精挑細選!我在各類場合不僅一次說過:
選擇到什麼樣的公司去工做是一件須要萬分謹慎的事情。進錯公司毀一輩子,我不是在開玩笑!不要小看人性的弱點和環境的做用。
是的,不要小看人性的弱點和環境的做用!
在「有的公司」裏會遇到以下狀況——
爲了節約成本會把不一樣崗位的事情都塞給你一我的去作,傻傻的你以爲這是一種鍛鍊,瞭解了多個崗位的事情……Are you kidding me?幹多我的的活拿一我的的工資,還以爲這是鍛鍊本身?要真想鍛鍊爲啥不利用業餘時間作些本身想作的項目?
工做從早忙到晚,作的竟是些重複性沒難度的工做,對本身的成長毛幫助沒有。公司沒提供有挑戰性的工做也就算了,還剝奪我的自我學習成長的時間。當別人問起工做咋樣,聽到本身工做忙像是挺好的樣子,實際啥都沒學到,白白浪費了青春。
你在公司的做用就是幹活的人肉機器而沒有發言權,提出的建設性意見在上級眼中就是屁,須要你去作的事情在討論需求階段不叫你去參加而直接分配給你任務去作……還談什麼參與感?!什麼把公司的事業當成是本身的事業?!
若是想要本身的事業路線走得順利,就要避免進入具有上述特色的公司。但這些在沒進去工做一段時間時很難知道,除非有認識的人或者經過其餘方式進行側面瞭解。不過,有些特色在網上查查或面試時問問就能知道:
是否爲互聯網公司;
是否是某集團下屬的子公司或已融資 A 輪以上的公司;
五險一金會不會全交以及繳納基數;
年假的天數多很少;
升級體系是否完善;
是否提供零食、飲料、水果;
有沒有健身休閒娛樂室。
要是一家公司有好幾點沒達標,那麼基本能夠把它斷定爲「不靠譜」,就沒必要考慮了。
有人會以爲 六、7 條就是扯蛋,有沒有那些又有什麼關係呢?固然有啊!它們的存在但是體現了一家公司對員工的人文關懷啊!也許你會問:「照你這麼說,那些公司就沒人去了?!」固然有啊!那是給「有情懷」的人去的。
固然,例外老是會有的。要是某初創公司的 CEO 從各方面被證明了人品性格好,富有卓越的遠見和優秀的行動力,即便只知足 一、2 點也是能夠考慮的。
本身所要走的職業道路的目標和規劃都是越早作越好。在踐行的過程當中不免會有偏離正軌的時候,但只要大方向上沒錯就沒太大問題,能始終如一是一件可貴的事情。
起初,我是想在技術上進行深刻研究,走在業界前沿,成爲一名佈道師處處進行演講,就像程劭非和賀師俊他們那樣。然而,如今個人思想中混入了對於科研型技術人員來講具備致命破壞性的「不純因素」——財富。由於我對將來生活的憧憬,我想要的那種生活須要一筆巨大的資金做支撐。
如今想一想,可以讓我在技術上進行深造的同時擁有大量鈔票的方法,能想到的只有在某個具有上市潛力的成長型創業公司中身居技術部門核心地位而且手握不少股權,當時最好是 33 歲左右。
那麼問題來了——如何分辨一家公司是否具有上市潛力,而且讓還算年輕的我可以在合適的時間通過努力奮鬥處於核心地位,是一件較爲困難的事情。
若是時間可以倒流,剛畢業那一兩年說死我也要進大公司去工做!一次面試不行就閉關一段時間後進行第二次,再不行就三次,直到進去了爲止!如果那時進了阿里巴巴,還有股票拿。
如今的我處在職業和人生的十字路口,該往哪走,且容我再好好想一想。