專訪|騰訊UI工程師@張鑫旭

前言php

前端早讀課第十一期專訪來了,今天要分享的是常常在微博曬釣魚,博文高產的 @張鑫旭童鞋,今天的故事你必定喜歡的,趕忙搬張凳子看起來~css

正文從這開始~前端

1)自我介紹、如今所服務的團隊、負責的項目css3

我叫張鑫旭,網名也是張鑫旭,因自認爲待人真誠,沒有必要遮遮掩掩,因而一直使用真實姓名。我其實有個曾用名,名叫張旭,後來算命的掐指一算,我五行缺金,得,父母果斷加了個金最多的字-鑫,看你還缺不缺,故得張鑫旭。程序員

如今在騰訊科技ISUX-社交用戶體驗部上海設計中心主要從事UI開發相關的工做,「UI開發」這個職位名稱起得好啊,聽上去即高大上,又把工做內容包含進去了,搞設計的,可是是經過開發(技術)來實現。其實呢,拿出程序員的自嘲精神來說,就是個寫頁面的。可是呢,能成爲一個設計師承認和喜歡的UI開發,仍是須要不少積累以及一些編程之外的東西。若是正在閱讀的你以爲你就是這樣的人,歡迎簡歷我(zhangxinxu@zhangxinxu.com),加入國內頂尖的設計團隊。面試

真巧,正好說到團隊,咱們能夠從閃亮亮的title提及——「上海設計中心」!爲何是上海,恩,由於辦公的地方在上海;設計,代表團隊的小夥伴都是設計師……纔怪,實際上由國內很是頂尖優秀的視覺、交互、用研以及目前獨苗UI開發,也就是我組成;中心,帶有支援各方的意味在裏面,所以,基本上,上海這邊與社交相關的產品咱們設計中心都會參與。編程

就我我的而言,負責的項目主要是QQ企業產品(歡迎你們說服本身老闆購買)以及QQ公衆號(應該不用多久就會全面開放,到時候歡迎你們體驗,能夠直接向我反饋任何問題或建議)。網絡

2)自己是生物信息技術專業,到如今作前端開發,這期間你是如何思考並做的選擇?ide

說穿了,就兩個字:「興趣」!svg

專訪|騰訊UI工程師@張鑫旭

一件事物可以成爲興趣,天然是要本身可以作得來,有成就感,釋放能知足自身愉悅感的激素,而後才能上癮並鍥而不捨走下去。

你們趕快搬好小板凳,我腦中的畫面開始filter:blur(0px)→filter:blur(20px)模糊,之前的畫面開始浮現出來了,故事即將開始……

我這我的很隨性的,不少很重要的決定都是憑感受走的。比方說大學填志願,咱們是分數出來再填志願。結果知道分數後,花功夫去研究學校、研究專業了?屁來,連一個動畫幀的時候都沒用過,幹嗎去了呢?那還用說嗎——釣魚,巴不得睡在河邊上。得,要填志願了,屁顛屁顛跑到學校,徹底沒準備怎麼辦?啊,我機靈勁來了,點兵點將,點到誰誰就上,哦,不是否是,點到誰就上誰。老夫看你骨骼驚奇,就你了,華中科技大學;至於專業,翻開本子,從上往下看,有生物字樣的(我原本想成爲一名生物學者,野外生物探險專家那種),從上往下一個一個填。而後第一志願第一專業進去了。當時有思考嗎,沒有,反正就是,先進大學再說,至於之後要幹嗎,看天數。

而後,從小孤家寡人長大,沒人指引,大學要幹嗎,之後要幹嗎,徹底沒概念徹底沒想法,用一個詞形容就是「迷茫」,以致於作什麼都沒有激情,沒有參加任何社團,籃球場上的眼神防守專家,同窗提起我,別人會「哦~~我知道,就是最後一排一直睡覺的那個」,成績也是高不成低不就,穩定的中間游擊手,固然,毋庸置疑,是單身狗。

後來本身想了想,這樣蹉跎下去不行啊,反正時間都是同樣的過,那就作點本身想作的事情。因而,我去幹嗎了呢?哈,沒錯,有人猜到了,去釣魚,翻過學校可能會斷子絕孫的鐵柵欄,去後面的東湖釣魚;還有串巷,隨便搭一輛公交去陌生的地方走街串巷;以及一些沒想到會對本身職業生涯有影響的事情,比方繪畫,圖書館全部繪畫相關的書都看過,素描,彩鉛,水彩都自學過,屢次通宵做畫。大二能夠有電腦了,而後,對着80年代電視機模樣的1024分辨率顯示器自學photoshop, 暑假同窗都回家避暑了,我一我的練PS技術;下學期開始搗騰flash,搞些酷酷的效果本身得瑟下。

如今想了想,本身是個典型的內向的人,上面那些想作的事情都是一我的完成的,不須要交流損耗精力的,不須要邏輯思惟損耗能量的,兩年下來看似無所事事,實際上一點一點積攢了不少精神能量,厚積薄發一觸即發。

故事即將進入高潮……

大二暑假,在河邊上,釣了一個暑假的魚,順便思考了一個暑假的人生,忽然就想通了,男人有實力纔是王道。大三回到學校,整我的精神暴走,憑藉本身純粹興趣使然學的點PS和Flash技術分別進入了校義工部作平面設計,校網絡應用研發中心作網站(flash方向),沒錯,應該是別人大一干的事情,我起步比其餘同窗慢了2年。因此,基本上,天天早起晚歸,拼命追趕,沒有任什麼時候間的浪費,天天時間都不夠用,作設計作動畫。而後還得了義工之星獎勵,標識設計還拿獎,班級籃球隊也得了冠軍,彷佛個人大學生活開始有了亮彩。

在網絡應用研發中心,讓我開始接觸互聯網,接觸網頁,當時找我進去值作flash特效的,當時這種酷站挺火的。然而,進入後,flash沒什麼活,到是有不少外包的寫CSS的活,人手不夠,我就主動請纓,幫忙寫頁面,花擦擦,全是通宵搞,不要太有激情。那個時候,我還不知道,這玩意是能夠幫你找工做的。

轉眼大四了,我擦,校招來了,對於從沒踏出校門的我來講,第一次有個認識外面世界的機會。那個時候,我才第一次知道,原來世界上有一種職位叫作前端開發,須要懂PS懂CSS懂JS,雖然哥JS很挫,但AS寫得不錯,我當時就high了,這不是給我量身定作的職位嗎,我大學瞎折騰的不就是這些鬼嗎!當時那個激動啊,要是興趣能當飯吃,我就能夠上天了。

此時我看了一眼個人專業「生物信息技術」,愛過。而後,我就決定走前端這條路了。

告訴你們一個祕密,我其實還猶豫過要不要去作網頁設計,職位要求要會PS, 最好懂CSS,好像挺符合的嘛。後來我爲啥放棄了呢,某天興致勃勃來到社團辦公室,而後你們在圍觀團隊裏工設專業第一設計師妹子的網站改版做品,我也跑去湊熱鬧,當我看到做品的那一瞬間,我一會兒懵逼了,忽然意識到,原來人和人的差距能夠這麼大,一會兒明白有些東西不是有興趣有幹勁就能超越的,遂放棄。

固然,畢竟比別人晚兩年,且一直沒出去看看,眼界什麼的狹隘,加上本身的表達能力是羅永浩的補集,校招慘敗。舉個例子:興致勃勃,西裝筆挺跑去面試阿里,老激動了,年輕人嘛,爲了想展示本身能力很強,說話嘛,有時候分寸拿捏很差。

「我一天就學會了CSS?」

「你肯定你學會了CSS~」

我愣了1秒,吧嗒吧嗒個人大眼睛,補充道:「恩,我是1天就學會了!」

而後一男一女兩個面試官就在面面相覷咯咯咯咯的笑。

當時我就嘀咕了:「笑毛線啊,靠,尼瑪之後請我去你那兒上班我都不去,太不禮貌了」!因此,不少年後,當阿里和騰訊offer同時擺在我面前的時候,你們都懂的。

由於起步慢,校招不順利,纔有了後來大四我去實習,畢業時候,辭去實習工做,去閉關學習php和JavaScript,第二年也就是10年纔開始正式參加工做的經歷。也就是,雖然我09年畢業,但10年才正是從事前端這個崗位。

期間遇到的挫折和迷茫仍是至關大的,後來,是憑藉俞敏洪,喬布斯以及羅永浩的勵志演講,以及對前端的真愛才走下來的。不過那是後話了。

總結下就是:當年我是個很普通的屌絲,一事無成,同窗都很優秀,各類獎學金拿到天上去。後來陰差陽錯遇到前端,發現這玩意門檻低,好入門,進入大學這麼多年,終於發現一件能夠作得來的事情,因而有了興趣,而後在」follow your heart」這句話的激勵下,披荊斬棘在前端這天路上走了出來。至於專業,不念到博士難有大成,想都沒想過。

3)跨專業作前端開發這幾年中,你以爲你最大的收穫是什麼?以及跨專業對你有什麼影響?

最大的收穫嘛,往高大上方向講,就是經過不斷地分享,讓不少前端同行的獲得了學習和成長,也對整個前端行業的發展作出了一點本身力所能及的貢獻;若是往世俗方向講,有了本身的車子,雖然是小車,有個本身的房子,雖然在鄉下,有個嬌妻,沒有雖然,而後還有兒子一枚,哈哈哈,沒錯,我就是傳說中的人生贏家。低調低調。

跨專業嘛,只能說跨半個專業,作前端,計算機專業對我仍是幫助很大的。雖說,當年在大一學C語言,根本就不知道,在黑底框框上敲一些白字都有些什麼用啊,沒興趣,可是,畢竟是專業課,計算機的理論什麼的,程序基礎都仍是知道的。因而,當我學習flash發現as能夠實時呈現一些動態效果的時候,個人天窗被打開了,原來程序是這麼個東西,興趣也起來了。因此,我一直認爲,大學應該先學JavaScript這種所見即所得的程序語言,先培養興趣,而後在C/C++走起。

至於跨專業的生物,我原本想說沒怎麼用心學,不影響,後來一琢磨,不對,影響很是大!正是由於我選擇了生物信息,我才能遇到了個人室友宏達,因而纔有了下面的對話,「鑫旭,你最近都在幹嗎?」「在弄網站。」「是嗎?那很好啊,互聯網頗有前途的!」就是這麼不經意的一句話,若是沒有這麼一句話,前端界說不定就看不到個人身影,從一點上講,跨專業影響巨大,哈哈!

不過,我忽然一想,大學裏有「前端開發」這個專業嗎?貌似沒有吧,你們應該都是跨專業的吧~~

4)博客這麼高產而且研究的問題還很細緻,在這點上,你是有什麼特別的學習方式嗎?

這個問題,以前有人郵件或其餘方式問過我相似的:「哥,我寫技術文章比女人生孩子還難受,半天都憋不出一句話,你有什麼訣竅嗎?」

個人回答都是「這個嘛,多寫寫就行了!」 其實心裏真實的想法是:「這個是須要點天賦的」。

爲何當年我看到工業設計專業第一妹子做品的一瞬間就放棄了呢?有些東西是很難逾越的,一個是不少年的積累,二是內在的天賦。有些事情要想作得好,勤奮就能夠;可是要想頂尖,天賦是必不可少的。

我想說的是什麼意思呢?博客爲何這麼高產,戳穿了,由於寫做自己也有天賦同時有不少的積累,寫篇文章就跟吃頓飯同樣稀鬆日常。小學時候就開始在國內期刊發表做品,拿獎,一直筆耕不輟。以我如今的眼光來看,與本身以前內向敏感細膩的性格有關,藝術氣息濃郁的人,每每內向孤獨。因此,小孩子性格內向,並非一件壞事情。

一樣的,存在這樣的人,說話頗有天賦,任何場合都能即興演講,像說相聲同樣,語言表達頗有天賦。你問他有什麼特別的學習方式嗎?估計他的回答也就是「多練練」,實際上,我是很清楚的,人家語言區邏輯思惟很強,汪涵可不是人人都能作的。

第二個小點,「研究問題細緻」,仍是與人特質有關,我能一個成天坐在河邊,像個傻子同樣,看着魚漂一動不動,估計不少人是作不來的?可以長時間靜下心來專一在某件事情上,這是作研究很是重要的特質。因此,性格活潑外向,很是能說會道的,可能管理有道,可是通常技術爾爾。

而後,還想補充一點,興趣很重要,寫文章作研究是件很辛苦,而且沒有明顯收益的事情,若是隻想把前端開發看成吃飯的工具,而不是真正發自心裏熱愛它的話,是很難堅持下來的,這個時候,才能體現」follow your heart」這句話的價值。

最後,分享下我作研究的些心得吧。其實呢,咱們作前端技術研究,跟大學裏作科學研究是同樣的。首先,明確研究對象,比方說我想研究CSS中的層疊上下文,OK,1. 先去找資料,官方文檔或者MDN等外文站點(科研是找文獻);2. 驗證資料中的觀點,例如,inline元素覆蓋float元素,此時能夠設計實驗,在網頁中就是寫demo,看看是否是這種覆蓋關係,必定要親自驗證,其餘地方的文章會有錯誤或者觀點過失;3. 提出資料中沒有的本身的疑惑,例如,層疊上下文的層疊順序是哪一個級別?我以爲貌似是z-index:auto級別,好,爲了驗證這個觀點,咱們再次設計實驗,讓幾個z-index:auto的元素與之重疊,且前後順序不同,看最後的表現,獲得咱們的結論。

其實如今想一想,我實際上是個作科研的好手,只是學校的教育沒能及時吸引個人興趣,若是走本身的專業「生物信息技術」,一直研究下去,應該對人類的貢獻更大。很差意思,扯遠了~

5)在前端技術的深廣度上,你以爲在這條路怎麼走?

我就說說我本身在前端技術的道路上如何積累深度廣度的吧。

關於廣度的學習廣度學習,在我職業生涯早期,通常都是關注不少知名前端團隊的官方博客。後來,發現,這些博客一是大部分都堅持不了多久,二是內容已經不能知足個人胃口的,三是加上工做事務愈來愈多,後來,這些團隊博客基本就放棄了,轉而集中關注國外知名的前端學習站點。

包括:http://www.sitepoint.com/, http://maxdesign.com.au/, http://www.smashingmagazine.com/ 以及https://css-tricks.com/

基本上,每個月都會花幾天時間,認真瀏覽每一篇文章,以爲有價值的,就是記住,或整理成文章,或者編輯成小tips微博備忘或傳播。

因爲本身有刷微博的習慣,所以,還有不少新的知識,是微博上一些積極傳道的同行小夥伴傳播的,本身或轉發或評論,等須要的時候,就能夠找到。

關於深度的學習就我我的而言深度學習在於多想和多寫。

而這裏的深度,又包括兩方面,一是上面廣度內容的深度學習;二是基本知識的深度學習。

① 廣度內容的深度學習

咱們都會見到或聽到一些新的屬性、名詞或者特性或者技術實現。通常的同窗都是看一下,知道有個這麼回事。

而我本身,必定會本身親自實踐,至少整個demo什麼的,若是在實踐的過程當中發生一些有意思的事情,必定會整理篇文章,和你們分享下。一來思路提煉,二是知識備忘,三是往後用到的時候能夠快速上手,四是幫助其餘同行的學習。

② 基本知識的深度學習

這裏基本知識就是咱們日常常用的一些東西,看上去簡單、樸實,實則深有學問。學習的關鍵就是多想,就是多提幾個爲何?這須要必定的前端敏感度。比方說,一個普通的標籤裏面有個圖片,結果圖片下方會有幾像素間距,這個間距是怎麼來的?

通常的同窗遇到問題都是去度娘或谷哥搜索,找到解決方法,而後就沒有而後的。並無去深究背後爲何會這樣。

爲何呢?由於,越是簡單的東西深究起來越麻煩。就比如問爲何1+1=2這樣的問題。可是呢,前端這東西門檻低,若是你沒有這些深刻的理解,如何跟其餘茫茫多普通的前端作區分,從而迎娶白富美,走上人生巔峯呢?

項目這麼緊,哪有閒工夫去研究這些看不到價值的事情,相似這樣的心理致使學習老是遭遇瓶頸,若要在技術領域有所成,這樣的心理必定要有所轉變。

而我會犧牲幾十個小時的釣魚時間,去思考:會是什麼緣由呢?而後不斷寫demo,變換屬性等方法驗證本身的想法,看看能不能解釋得通;網上會找資料,尤爲外文,有沒有相關解釋;會去CSS官方文檔尋找蛛絲馬跡。直到所有梳理清楚。

而後,很重要一步,就是要把所想所得記錄下來,必定要記錄。由於咱們都不是天才,過了一段時間,都會有所遺忘,惟有筆耕不輟方能彌補。

最後呢,很重要的一點就是:學習這東西必定是要肯花精力的,並且沒法一蹴而就,須要日積月累,貴在堅持!

有些同窗成長初期可能會疑問,人精力老是有限的,我是先專一於廣度的成長呢仍是深度的成長呢?從長遠來看,都是深度和廣度都是須要積累的,沒什麼差異,那麼初期應該側重哪一點呢,我我的以爲應該根據本身公司、本身從事的項目或者業務須要走。中小企業可能須要你是多面手,頁面寫的起來,開發也作得來,此時,廣度應該先重視起來;職位劃分很是細緻的大企業,須要你某一方面是頂尖的,顯然,深度的學習是優先關注的。

6)如今前端技術層出不窮,你對前端新人有沒什麼建議?

建議談不上,說說本身的見解吧。

從生物學的角度講,一個物種要想在地球上存活的久,多樣化很重要,不管是外形,性格以及食物。若是體型很大,須要能量就多,食物匱乏就慘了,優先餓死,此時矮人(侏儒)存活機率大; 再說性格,若是物種性格都是同樣的,很容易被利用和滅絕,比方說渡渡鳥,都不怕人,70年時間就被滅光了,若是隻要有中華田園犬這種程度的機敏,保證能夠活到今天; 食物更好理解了,考拉只吃桉樹葉子,一旦桉樹遭遇大規模死亡,考拉日子也很差過了。

扯這麼可能是想說明什麼呢?從宏觀角度看,對待新技術的各類態度並無誰對誰錯,這些觀點態度其實對於整個前端生態而言都是很重要的。我以爲應該用包容開放的心態看待不符合本身做風的態度,放下自尊,主動吸取對方之長,這對於本身的成長很重要。

就像投資同樣,有人喜歡價值投資,穩固保守;有人喜歡追逐熱點,快速收益,其實都是爲繁榮經濟作貢獻。

咱們作前端的在職場中打拼,雖說是作技術的,但最後世俗定義的成功,技術的能力只是一部分元素,一個加分項而已。基本上,公司裏管事的都不是技術最厲害的,而是當年技術作過貢獻,其餘領域如溝通,領導力也比較出色的人。可能幾年前,我會建議新人:「你想成爲技術大牛,在技術領域有所造詣,時髦的新技術能夠先不急着深究,夯實本身的基礎最重要,必定要系統學習,而不是靠有限的經驗積累。」可是,如今的我並不會這麼說了,由於每一個人追求的不同。比方說我,我更看重我的技術成長,對團隊的幫助以及對行業的貢獻。可是,很大一部分同行,追求的是升職加薪,若是某個新出現的技術對其職業發展頗有幫助,例如React.js幫助公司作移動開發。咱們還會要求這個小夥伴,不要跟風新技術,好好紮實基礎嗎?錯過了時機,會影響人家的職業發展,表現和升職的機會就會錯失。

因此說,對於前端新人而言,重要的是自我認知清晰,知道本身想要的是什麼,知道本身的特長在哪裏,這個很重要,必定要認識清楚,若是隻是盲目跟風,或許既不能收穫技術,也不能收穫職業發展度,那就比較不幸了。

7)若是讓你推薦你工做中所用到的工具,你會推薦什麼?

這個問題還真燒了我很多腦細胞,我並非一個熱衷於工具的人。非要推薦一個,那就Faststone Capture吧,截圖、標註以及量尺寸,是我使用頻率至關高的一個工具。其餘嘛,若是要錄製屏幕爲gif動圖,能夠試試使用ScreenToGif,我通常會再再Photoshop中再從新保存一篇,優化下大小。

「沒了?」

「是啊,沒了!」

「有點短,要再也不說一點?」

「這個……那我推薦下本身的博客吧,若是有想了解的前端知識,試試去我博客哪裏搜索下,說不定會有不同的發現!」

後語

看到這裏了,有什麼想分享的嗎?

其實早讀君蠻想了解你們是從哪一年開始作前端的?

點贊數前2的評論,將得到@圖靈教育贊助的《svg精髓》、@大漠贊助的《圖解css3》。時間截止到當日22點。

ps:在兼職上有遇到哪些問題呢?工做完成,尾款收不回來!!上實現網先付款後開工,輕鬆賺錢~~

相關文章
相關標籤/搜索