你與高階工程師的距離還差多少?
怎樣才能成為一名高階工程師?我覺得這是一個很好的話題,技術人的職業規劃不管如何發展,總歸是一個從初級到高階的過程,不要妄想從初級
一步跨越到架構師、CTO 之類的職位,所以高階工程師這個過渡階段顯得就很重要了。總結巨人的經驗,裝B一把!
1. 工作經驗與技術積累
說到高階工程師大家的第一印象自然就是工作經驗豐富,技術夠牛逼。這裡說的是工作經驗,並不是指工作時間。有的人踏踏實實做專案,業餘時間想著多學點新技術,堅持讀書,認真寫部落格總結,多實踐,加上自己本身悟性又不差的,2、3
年的時間都可以有別人 3、5 年的工作經驗,成長為公司的高階工程師水到渠成。而有的人混日子,做的專案得過且過,業餘時間玩遊戲,追劇,也許你在公司工作了10 年看起來兢兢業業,然而你對自己沒有更高的要求,安於現狀,不求進步,這類人即使有 10 年的工作時間,卻只能止步於此。靠著自己持續不斷的學習
2. 責任心
高階工程師責任心一定很強,責任心是體現一個人的態度問題,對於一個 bug ,他們永遠都會重視,想盡一切辦法找到原因並解決,而有的人對於 bug 卻是得過且過,解決 bug 的態度就是嘗試,認為從表面上解決了就 ok 了。我們CTO 十幾年的軟體開發經驗,有使用者反饋 bug ,不管多忙,不管什麼時間,一定停下手頭上的事情,去找到原因並解決。有的人為了解決一個 bug 搞到深夜,可能當時覺得不理解、抱怨,但時間長了,才意識到這種責任心是職業素養
3. 主動
有沒有這種經歷?就是專案做完了,感覺沒事可做了,那就刷刷微博,聊聊 QQ 吧。然而那些優秀的工程師是怎麼樣的?他們專案做完了會想著哪裡程式碼寫的不夠好,會想著重構一下。自己在趕某個功能的時候太匆忙了,剛好利用這段時間看看有沒有更好的辦法實現。這個專案做完了,學到了不少東西,又踩了不少坑,寫寫部落格總結下。做完這個專案感覺某些方面的知識挺缺乏,自己趕緊學習下相關的知識吧。初級工程師是等著被分派事情做的,分派的事情做完了感覺就沒事可做了。而高階工程師會自己主動找事做,他們永遠不會覺得自己的時間多餘,重構、優化、學習、總結等等等,有一大堆可以主動做的事。
4. 敢於承擔
初級工程師在拿到一個稍微複雜點的需求的時候第一印象就是好複雜,我實現不了,哪怕這個技術別家證明可以實現。而高階工程師則不會不做技術調研就說 no ,敢於接受挑戰
5. 團隊合作精神
如今這個時代再也不是英雄主義時代了,團隊才是一切,任你能力再出眾,但是跟一個團隊比起來,你還是寡不敵眾。所以,優秀的高階工程師永遠有團隊合作精神,永遠以團隊利益為優先,任何時候,不要做拖團隊後腿的那位!富有凝聚力的團隊是一個公司最具競爭力的核心武器,所以,請從思想上讓自己有這個意識,團隊永遠大於個人!玩LOL也是講究團隊精神的喲.
6. 參與業務、產品
我見過太多的程式設計師,產品經理給出需求的時候,悶頭就開始寫程式碼,中途需求變動了,然後就開始在心裡大罵產品經理傻×,簡直就是所謂的“碼農”,雖然我們都拿“碼農”來自嘲,但是我相信我們都不希望成為真正的碼農,我們要做的是工程師!而工程師跟碼農的區別就是,他們不只是悶頭寫程式碼,他們會參與產品、參與業務,雖然我們的主要職責是開發,但是如果能在需求階段跟產品經理一起討論,也許在產品、業務上你不專業,但是可以從技術的角度來一起思考,一起參與進來,儘量幫忙把需求更完善些。初級工程師拿到需求會直接開始做,然後做著做著發現有問題了,要麼技術實現不了,要麼邏輯有問題。而高階工程師拿到需求會考慮很多,技術的可行性?對現有業務有沒有幫助?對現有技術架構的影響?擴充套件性如何?等等...之後才會再進行設計編碼階段。所以好的工程師是可以對產品有很大的幫助作用的,而且跟產品經理多進行溝通交流,除了技術外,對產品、對業務、對商業你也能學到不少東西,以後的路會更廣。所以,不要做悶頭寫程式碼的碼農,做關心業務、產品的工程師!
別總說你跟那些人只是技術上的差距而已,除了技術,其他地方可能差的更遠。技術可以靠時間來彌補,但是其他幾個方面可是時間無法彌補的,希望大家自己對照下,不管是所謂的高階工程師也好,還是之後的小組 Leader,甚至再之後的架構師、CTO,這些特質是必須具備的,問問自己,你們的差距還有多遠?