1. 程式人生 > >iOS 程式設計師進階架構師必備的 6項 硬技能!這些你都知道嗎?

iOS 程式設計師進階架構師必備的 6項 硬技能!這些你都知道嗎?

前言:

之前很多人問過我這麼個問題,說怎樣才能成為一名高階iOS工程師?我覺得這是一個很好的話題,技術人的職業規劃不管如何發展,總歸是一個從初級到高階的過程,不要妄想從初級一步跨越到架構師、CTO,產品經理 之類的職位,所以高階工程師這個過渡階段顯得就很重要了,那麼今天就來給大家說說你們還差在哪裡!

作為一個開發者,有一個學習的氛圍跟一個交流圈子特別重要這是一個我的iOS交流群:638302184,不管你是小白還是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經驗,討論技術, 大家一起交流學習成長!

1. 工作經驗與技術積累

說到高階工程師大家的第一印象自然就是工作經驗豐富,技術夠牛逼。

注意這裡說的是工作經驗,並不是指工作時間。有的人踏踏實實做專案,業餘時間想著多學點新技術,堅持讀書,認真寫部落格總結,多實踐,加上自己本身悟性又不差的,2、3 年的時間都可以有別人 3、5 年的工作經驗,成長為公司的高階工程師水到渠成。而有的人混日子,做的專案得過且過,業餘時間玩遊戲,追劇,也許你在公司工作了 10 年看起來兢兢業業,然而你對自己沒有更高的要求,安於現狀,不求進步,這類人即使有 10 年的工作時間,卻只能止步於此。

靠著自己持續不斷的學習,以及工作經驗的積累,一步一步,見得市面多,踩的坑也多,技術越來越牛逼也是理所應當的事,而技術是一個高階工程師最基本的要求,然而我卻認為只要不是傻子,對技術有點追求的人,想達到這點不難,只是時間長短問題而已,除了技術,你跟那些真正的高階工程師還有其他方面的差距!

2. 責任心

高階工程師責任心一定很強,責任心是體現一個人的態度問題,對於一個 bug ,他們永遠都會重視,想盡一切辦法找到原因並儘快解決,而有的人對於 bug 卻是得過且過,解決 bug 的態度就是嘗試,認為從表面上解決了就 ok 了。

我們 CTO 大幾年的軟體開發經驗,有使用者反饋 bug ,不管多忙,不管什麼時間,一定停下手頭上的事情,去找到原因並解決。我在薄荷的經歷,曾不止一次跟著他為了解決一個 bug 搞到深夜,有幾次深夜發現一個導致使用者不能付款的 bug ,我都躺床上睡覺了,被 CTO 喊起來半夜趕往公司去修復的經歷,當時還覺得不理解,時間長了,我才意識到這種責任心是職業素養,現在也深深的被感染,在任何時候、任何時間,我的手機、電腦都是不離身,出問題一定第一時間進行響應!

對比下你們,你們的責任心夠強麼?

3. 主動

有沒有這種經歷?就是專案做完了,感覺沒事可做了,那就刷刷微博,聊聊 QQ 吧。

然而那些優秀的工程師是怎麼樣的?

他們專案做完了會想著哪裡程式碼寫的不夠好,會想著重構下。

自己在趕某個功能的時候太匆忙了,剛好利用這段時間看看有沒有更好的辦法實現。

這個專案做完了,學到了不少東西,又踩了不少坑,寫寫部落格總結下。

做完這個專案感覺架構方面的知識挺缺乏,自己趕緊學習下相關的知識吧。

初級工程師是等著被分派事情做的,分派的事情做完了感覺就沒事可做了。而高階工程師會自己主動找事做,他們永遠不會覺得自己的時間多餘,重構、優化、學習、總結等等等,有一大堆可以主動做的事。

4. 敢於承擔

初級工程師在拿到一個稍微複雜點的需求的時候第一印象就是好複雜,我實現不了,哪怕這個技術別家證明可以實現。而高階工程師則不會不做技術調研就說 no ,敢於接受挑戰,除非在做過充分的技術調研之後,確信確實實現不了,否則都會付出 200% 的努力去實現它。

對於技術如此,同樣的對於一些解決方案、架構設計、歷史遺留問題的解決甚至專案負責人等的挑戰都會勇於承擔,你不逼下自己,給自己點壓力,你永遠不知道自己的潛力有多大,而就是在這一次次攻克難關的過程中,你的成長是飛速的!

所以,不妨試著讓自己承擔一些有挑戰的工作!

5. 團隊合作精神

如今這個時代再也不是英雄主義時代了,團隊才是一切,任你能力再出眾,但是跟一個團隊比起來,你還是寡不敵眾。所以,優秀的高階工程師永遠有團隊合作精神,永遠以團隊利益為優先,任何時候,不要做拖團隊後腿的那位!

富有凝聚力的團隊是一個公司最具競爭力的核心武器,所以,請從思想上讓自己有這個意識,團隊永遠大於個人!

6. 參與業務、產品

我見過太多的程式設計師,產品經理給出需求的時候,悶頭就開始寫程式碼,中途需求變動了,然後就開始在心裡大罵產品經理傻×,簡直就是所謂的「碼農」,雖然我們都拿「碼農」來自嘲,但是我相信我們都不希望成為真正的碼農,我們要做的是工程師!

而工程師跟碼農的區別就是,他們不只是悶頭 Coding,他們會參與產品、參與業務,雖然我們的主要職責是開發,但是如果能在需求階段跟產品經理一起討論,也許在產品、業務上你不專業,但是可以從技術的角度來一起思考,一起參與進來,儘量幫忙把需求更完善些。

初級工程師拿到需求會直接開始做,然後做著做著發現有問題了,要麼技術實現不了,要麼邏輯有問題。

而高階工程師拿到需求會考慮很多,技術的可行性?對現有業務有沒有幫助?對現有技術架構的影響?擴充套件性如何?等等...之後才會再進行設計編碼階段。

所以好的工程師是可以對產品有很大的幫助作用的,而且跟產品經理多進行溝通交流,除了技術外,對產品、對業務、對商業你也能學到不少東西,以後的路會更廣。

所以,不要做悶頭 Coding 的碼農,做關心業務、產品的工程師!

最後,以上是我總結的優秀的高階工程師的一些標準,別總說你跟那些人只是技術上的差距而已,除了技術,其他地方可能差的更遠。技術可以靠時間來彌補,但是其他幾個方面可是時間無法彌補的,希望大家自己對照下,不管是所謂的高階工程師也好,還是之後的小組 Leader,甚至再之後的架構師、CTO,這些特質是必須具備的,問問自己,你們的差距還有多遠?

作為一個開發者,有一個學習的氛圍跟一個交流圈子特別重要這是一個我的iOS交流群:638302184,不管你是小白還是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經驗,討論技術, 大家一起交流學習成長!

文章來源於網路,如有侵權,請聯絡小編刪除。