iOS開發人員如何在枯燥的工作中尋求技術的提升(進階篇)

來源:互聯網
上載者:User

標籤:現在   負載平衡   需要   使用   互連網   upload   一段   寫代碼   fpm   

技術成長是很多同學面臨的問題,一些工作了幾年的同學會遇到成長瓶頸,覺得自己進步緩慢,無論是公司業務的原因還是個人原因,覺得自己的技術水平得不到成長了。或者一些剛工作沒多久的同學和在找工作的同學,都想在一個好的環境下工作,提升自己的能力。

如果你有一個好的平台,你可能做一個很小的功能就會有幾十萬幾百萬的使用者使用。做一個新產品,從主線產品稍微匯入一點流量過來可能就有幾十萬幾百萬的訪問。你不僅要將功能開發出來,還要考慮到效能問題,能支援多少的訪問,是否需要水平擴充,是否需要做負載平衡等等問題。每次不斷有新問題不斷有新挑戰,就可以不斷成長。

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

如果你沒有這樣一個平台,可能你們公司運營了1、2年的產品才有幾千、一萬的使用者,有些技術問題你根本連遇到的機會都沒有。使用者量沒有上去,業務不複雜,什麼分庫分表、讀寫分離、負載平衡、分布式設計等等和你無關,因為公司產品還沒有發展到那樣的層級。

我偶爾會聽到一些在二線城市的朋友說:“做技術就在北上廣待著,別回來,小城市的項目不養人。做的東西沒什麼挑戰,沒幾個使用者,都是CRUD,時間久了人就廢了。”

這是外部原因,不得不承認,一個好的平台對一個人的發展至關重要,無論什麼職業。我個人對技術提升有一些自己的見解,我們高中物理都學過「勻加速直線運動」,他的公式是這樣的:

 


 

我們都學過這個公式,S是位移,V0是瞬時速度,a是加速度,t是時間。在技術成長之路上,S是你的技術能力,V0是你當初決定鑽研技術的熱情,a是你技術成長的加速度,t是時間。你技術的能力有多少,不是你一時的熱情決定的,而是你成長的加速度和時間決定的。t很好理解,如果你堅持學習,隨著時間的推移,現在的你一定會比以前的你更有能力。

a是我認為最重要的一項,它指的是技術成長的加速度,由兩部分構成:

你所在的平台,這一點我剛才已經提到了,一個好的平台很重要。

個人的學習

當你同時滿足這兩點時,你才能在相同的時間內比別人學的多很多。然而並不是每個人都會有一個好的平台,畢竟BAT就招那麼多人,明星互連網企業就那麼點,不是每個人都能進去。還有大量的二三線城市的開發人員,可能他們的業務做的並不是那麼大。

當你沒辦法保證你的第一項時,你只能想辦法讓自己的第二項足夠優秀。這樣,你的整個a才能不至於比別人小很多。

怎麼通過個人學習來提升自己呢?我們都知道一定要學以致用,學了的東西如果不用,過一段時間就忘了。如果你平時經常寫PHP,突然一段時間因為工作原因去寫Golang了,等再回來寫PHP的時候發現手生,寫起來沒有以前流暢了。

你看了《高效能MySQL》,看了《Unix網路編程》還看了《深入理解Nginx:模組開發與架構解析》,你不去實踐,你是很難更深層次的理解他們的。但你所處的環境又涉及不到這些怎麼辦?你就是個寫業務層代碼的,你們公司產品沒多少使用者根本用不上這些,你只是一個小外包公司做網站的,功能要求能用就行。我覺得這些根本不是你追求更深層次技術的借口,或許你現在用不上,但總有一天你會用得上的。只是你現在的方式可能有一些問題。

你需要先從你手上的工作開始。

如果你是一個寫業務層API的,每天的工作就是照著套路去寫代碼,按照一定的規則一個一個的寫。或許你可以嘗試一下讓自己不再去做這種重複性的體力勞動,能不能寫一個程式,讓這個程式自己產生API,而你每次只需要做一些簡單的配置。這樣騰出的時間可以去做自己感興趣的事情,可以學習一些新東西。你的領導發現後,你也會有機會做更有意思的事情。

同樣,你也可以閱讀一下你所使用的架構的原始碼,學習一下別人的設計思想,如果你覺得哪裡有問題或者不夠好,你可不可以給作者提交一個Issue或者PR。

平時用到的Apache、Nginx、fpm這些,你知道他們的master進程是怎麼管理worker進程的嗎?他們是怎麼接收請求的,select、epoll這些你瞭解嗎?

你平時開發解決的一些特殊情境,例如加解密、支付介面調用、Excel匯出、繪圖等,可不可以單獨做成一個庫,開源出來和大家交流學習?

你有寫部落格嗎?或堅持寫部落格嗎?

或許我們表面上在做著一些枯燥乏味的事情,這些沒有辦法協助我們成長,但我們自己要有極客精神,我們要用極客的手段釋放自己的勞動力,我們要樂於分享樂於學習,能從簡單的事物中發掘它的本質。工作大部分都是重複性的、枯燥的,不同層次感受都是一樣的,你每次設計功能知道怎麼支撐並發怎麼高可用,重複這一套大同小異的東西,你一樣也會覺得沒什麼意思。我們不斷在這種枯燥的工作中尋找有趣的事情,才是有價值的。

和團隊的同學聊天時的感悟,即興而寫,希望對你有一些協助。

iOS開發人員如何在枯燥的工作中尋求技術的提升(進階篇)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.