程序員是要專精,還是要廣度?
于一名優(yōu)秀的技術(shù)人員來說,究竟是專精一塊技術(shù)方向,做到深耕其中所向披靡;還是謀求“什么都能略懂一點”的廣度,成為一個全方位的人才?
這其實是一個職業(yè)發(fā)展和學(xué)習(xí)規(guī)劃路線的問題,許多同學(xué)都有這個困擾。
01
“更早地認(rèn)識自己和自己的方向,能更快地幫助我做出成績?!?/span>
02
“大部分的精力還是要用于鞏固自己的長處上,你一定要有競爭力的依憑。”
03
“我個人經(jīng)歷覺得,精進(jìn)一門技術(shù),不管是對于開發(fā)還是其他工作,都是重中之重!”
當(dāng)我剛畢業(yè)的時候,在一家小廠做Flash游戲開發(fā),由于當(dāng)時開發(fā)人員配比嚴(yán)重不足(qiong),所以不但要用AS3去寫前端游戲UI功能,還需要用NodeJS寫服務(wù)端游戲邏輯、SQL處理數(shù)據(jù)讀寫操作、HTML/CSS/JS寫后臺配置管理頁面,且一度在公司沒有招到測試的情況下,所有的功能測試只能通過自測來完成。
時間一長就有些膨脹了,自我感覺非常好,覺得自己就是全棧,覺得只有更大的舞臺才能配得上自己,進(jìn)入大廠應(yīng)該是輕而易舉的事情,于是開始往網(wǎng)易、阿里、華為一些大廠投簡歷,F(xiàn)lash游戲開發(fā)、H5游戲開發(fā)、Web前端開發(fā)、NodeJS開發(fā)、服務(wù)端開發(fā)、測試開發(fā)各種崗位都投了遍。結(jié)果就是被現(xiàn)實狠狠地打了臉,投的簡歷石沉大海,少有的幾個面試也都是一輪游。
后來總結(jié)反思了一下,在所有面試中,面試官經(jīng)常會問這么幾個問題:XX原理是什么?XX如何實現(xiàn)?對XX你是如何理解的?對于XX功能是否有更好的解決方案?面對這些問題,發(fā)現(xiàn)了自己其實對底層原理一竅不通,所有都還是停留在使用層面。
看清楚了這個問題之后,我暫時放下了其他域的學(xué)習(xí),專注在前端領(lǐng)域的學(xué)習(xí),從基礎(chǔ)的HTML/CSS/JS入手,到lodash/JQuery等常用工具庫的使用,再到Vue/React等主流框架的使用以及原理的學(xué)習(xí),以及ES6、TS等學(xué)習(xí)掌握。等熟練掌握了這些技能之后,再深入到瀏覽器工作原理、網(wǎng)絡(luò)通信機制、前端性能優(yōu)化、穩(wěn)定性安全保障等知識點的學(xué)習(xí)。一步一步從搬磚菜鳥變成了熟練搬磚工,然后繼續(xù)朝著搬磚磚家努力。
總的來說,在小廠,老板當(dāng)然希望能更省錢,巴不得一個人就能干完所有的活。而對于個人而言,精進(jìn)一門技術(shù),不管是對于開發(fā)還是其他工作,都是重中之重!
04
“不要把自己當(dāng)做業(yè)務(wù)研發(fā)的工具人?!?/span>
結(jié)語
如題,你們的觀點是什么呢?留言區(qū)歡迎一起討論。
