當前位置:
首頁 > 最新 > 原來成為高級程序員有這些因素,著實少走了很多彎路

原來成為高級程序員有這些因素,著實少走了很多彎路

什麼是軟體工程師?

軟體開發工程師是從事軟體開發相關工作的人員的統稱。 軟體開發工程師的技術要求是比較全面的,除了最基礎的編程語言(C語言/C++/JAVA等)、資料庫技術(SQL/ORACLE/DB2等)、.NET平台技術、C#、C/S B/S程序開發,還有諸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING、J2EE、WEB SERVICE、STRUTS等前沿技術。

軟體工程師

職業生涯

軟體工程師的職業生涯要歷經以下幾個階段:初級、中級,最後才是高級。

怎樣去做?

軟體工程是很難做的。因為這一行業在不斷變化中,所以你必須得跟上時代的腳步,不要被時間拋棄在後頭。你必須投入比其他人更多的時間與精力,把它當成你生活中最要的一部分,因為你要學的東西永遠大於你要吸收的東西,也有很多無止境的東西讓你去學習。很多出入門檻的工程師都不曾意識到她們需要攀登的將是一門高峰職業,需要去學習的東西、得需要付出多少的時間與精力去獲得,且有時候你付出的不一定正比於你得到的,因為這一行往往看你的悟性。不過,不用太過於擔心,下面我給大家分享一些經驗讓大家至少不會走很多彎路。

首先

條條大路通羅馬。既然你選擇了這行,你就必須咬牙堅持下去,而不是半途而廢。做人貴在原則,做事貴在堅持。就像Doug McIlroy《Unix Philosophy》中所講到:做一件事,就要把它做好。我想,這樣的道理很多人都知道,但是又有多少人堅持下去了呢?

Doug McIlroy (left) with Dennis Ritchie(right)

。選擇好你將與之並肩作戰的專業和技術堆棧非常重要。堅持不懈,不要分心。至於應該怎麼做有以下看法可供參考:

選擇專業。也就是你想做的事情同你感興趣的專業。只有在自己喜歡或者感興趣的前提下,你才會有動力堅持下去,這就好比你喜歡什麼樣的女孩,什麼樣的女孩是你喜歡的你才會去追求。這一塊也是這樣,你對哪項專業感興趣,你喜歡哪行專業,你才會一直堅持下去。例如:Web開發、移動開發、DevOps等。

選擇專業中的實用技術。這就要看是不是符合自己的自身情況了,哪一項技術你覺得你更能入手,哪一項自己能夠接受就選擇哪一項使實用技術了。這就好比汽修,有汽車美容、汽車維修等等,如果你覺得你更能夠接受汽車美容,就選擇汽車美容,而另外即是如此。通過這個實例來放在這塊上面也是一樣的,你覺得你更能夠接受哪塊,你就選擇哪塊。例如:如果你選擇了Web開發,那你就需要在Ruby on Rails、Python、Django,JavaScript和MEAN等之間做斟酌。如果你選擇的是移動開發,則需要在iOS和Android等之間做出選擇。

堅持下去,直到掌握這門技術。

當然,在這裡我的意思並不是說除了你自己的專業之外,就不要熟悉其它的了,熟話說的好,技多不壓身。那種首屈一指的軟體工程師通常對其他的編程語言和技術都非常了解,當然首先他們對他們自己的主要專業了解得非常剔透。當你確定好主要專業之後,接下來要做的就是學習,閱讀所有相關的書籍、練習各種必要的技能,這可能需要很多年的時間。但是千萬不要氣餒,一步一個腳印,一個一個攻克難關,這個是靠慢慢積累而來的,並不是當即見效。量變才能達到質變。關於技術,我的推薦是:Ruby on Rails之於web開發,iOS之於移動開發。這也是僅僅是個人的看法,可能每個人的口味不同,你完全可以選擇其他的技術,不過這樣的話,你要閱讀的書籍可能就和我的推薦不一樣了。

一、奠定基礎

《The Pragmatic Programmer 》對於我們掌握軟體是一個很好的起點。該書總結了高水平的實踐探索。這與我們使用的是什麼語言/技術無關。無論你選擇的是哪種技術堆棧,其主要原理都是一樣的。

The Pragmatic Programmer

二、掌握你的編程語言

你以後每天需要面對哪種編程語言取決於你今天選擇的技術。但是編程語言總有主次之分。例如,Ruby on Rails開發人員主要使用Ruby,AngularJS開發人員大多數時間用的是JavaScript。確定編程語言、掌握編程語言對你的職業生涯發展至關重要。因為以後你每天都會使用它!推薦你先閱讀有關書籍。

《The Swift Programming Language》之於Ruby開發人員,以及《Programming Ruby 》之於iOS開發人員。

三、學習框架

選一個,然後好好學習:常用的框架比較,用自己喜歡的框架

四、掌握文本編輯器/ IDE

再選一個,然後堅持不懈地掌握這個工具。如果你選擇的是VIM,那就要成為它的主人,讓它往東就往東。

五、使用版本控制系統

版本控制(Revision control)是一種軟體工程技巧,籍以在開發的過程中,確保由不同人所編輯的同一檔案都得到更新。推薦使用GIT。

六、做好測試驅動開發

將TDD添加到你的技術堆棧中。養成每天TDD的習慣。高質量的代碼源於良好的測試。

對於Ruby on Rails開發人員——《Rails Test Prescriptions》

對於iOS開發人員——《Test Driven iOS Development》

七、將重構養成習慣

隨著你不斷添加更多的功能,代碼庫也會越來越複雜。為了保持代碼庫的可管理化,你需要重構。如果你不重構的話,你很快就會進入兩難境地——即使是做很小的改動都很困難、bug沒法避免、沒有人願意處理這個凌亂的代碼庫。重構能讓你的工作更加輕鬆。事不宜遲,趕快養成重構的習慣吧。下面這本好書能教你該怎麼做:《Refactoring: Improving the Design of Existing Code》by Martin Fowler。

八、學習軟體架構

根據你上面選擇的堆棧,再學習相關的架構。我推薦Martin Fowler寫的《Patterns of Enterprise Application Architecture》一書。

九、展示命令行的力量

剛開始接觸命令行的第一感覺就是望而生畏。但是,一旦你學會如何使用,這將大大提高你執行一些基本任務的效率。而這本身就能讓你成為一名更好的開發人員,因為你能在更短的時間裡實現目標。然後你就能進入下一個水平。使用shell自動執行常見任務,建立自己的dotfiles。如果你使用的mac或者Linux發行版,那麼學會shell。下面這本書由Mark Bates所寫的書挺不錯:《Conquering the Command Line》。

十、code code code

只有不斷的實踐、不斷的充實自己、不斷的學習,你才能夠掌握它。

最後

大家都知道,想成為一名優秀的高級程序員是多麼的困難。你要付出比別人多出多少倍的時間與精力,且這是需要時間的沉澱的。「天才是百分之一的靈感,百分之九十九的汗水」後面那一句到底是什麼?有多少人知道?「但那百分之一的靈感是最重要的,甚至比百分之九十九的汗水都要重要」,的確有時候那1的靈感著著實實比那99%的汗水更重要,而把它引入這裡,那這1%的靈感就好比悟性,你再努力,如果你的悟性低,可能相對於那些比你悟性高的人來說,你可能需要更長的時間來成為高級程序員。軟體工程師的每一天都在面臨挑戰:挑戰改變人們的生活。來吧,各位軟體工程師,首先挑戰成為一名高級軟體工程師吧!

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 安卓網 的精彩文章:

用魅族手機這麼久,你真的會用Flyme輸入法嗎?
一分鐘讓你知道iOS11的幾大亮點!
手機發燙是件多麼危險的事!最新款散熱手機殼,蘋果華為才20
小米手機這個功能可以遠程控制別人手機,你知道么?
這個一鍵功能快速告訴你 你的蘋果手機是不是山寨版?

TAG:安卓網 |

您可能感興趣

這幾個超實用的小程序,應該能幫你不少忙!
斗圖?不吹牛,有了這個小程序,我從來沒輸過
我是新來的 是走程序還是直接笑
模特走一場秀到底有多少個程序?
小程序造就了拼多多們,它到底神奇在哪裡?
就是憑藉這十大優勢,小程序才能夠得到大多數商家青睞的
程序員找不到對象是因為還沒遇到一個有遠見的丈母娘
想嫁給軍人?其實沒那麼容易,面對這些程序「嚇壞」很多人!
這遊戲的策劃是要瘋了嗎?不但要玩死自己還把程序員逼成禿頂
小程序來勢兇猛,看看沖在前面的這些頭部大號玩得多溜!
程序員,除了代碼你還需要懂得這些!
你分享這麼多小程序鏈接,是不是很孤獨
上海車展新車太多看不過來?這款智能小程序至少讓你省半天時間
如果買房不這麼難,灣區程序員至少還能剩一半頭髮
有了這個小程序 再也不用愁公司如廁沒有坑位了
程序員這麼多,你還能找到工作嗎?
那些做了小程序的,是怎麼賺到錢的!+
一直加班的程序員這一次終於有救了
為什麼越來越多的程序員不願做做外包了
小程序上線了,讓你的手機來一場大瘦身!