偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

成為高級程序員的 10 個步驟

開發(fā) 后端 前端
成為一名高級軟件工程師是非常難的。這需要大量的時間和精力。不同的人他們的學習速度也不盡相同,但是平均來說,大約需要 10 年時間才能成為一名可靠的高級開發(fā)人員。你付出的各種投資最后必將給你帶來巨大的回報。

[[126223]] 

What

軟件工程師的職業(yè)生涯要歷經(jīng)以下幾個階段:初級、中級,最后才是高級。這篇文章主要是講如何通過 10 個步驟助你成為一名高級軟件工程師。

Why

  • 得到更多的報酬!因為你的薪水會隨著你水平的提高而增加

  • 提升你的職業(yè)生涯。成為了高級軟件工程師之后,就可以朝著架構(gòu)師、團隊負責人、CTO 等職位前進

  • 歷經(jīng)更大的挑戰(zhàn)。隨著你的成長,各種影響力也會提高。

How

軟件工程是很難的。這一行業(yè)在不斷變化中,所以你必須緊跟它的步伐。你必須不斷地投入時間和精力,因為你需要學習的東西總是比你能吸收的多。很多新 手工程師甚至都不曾意識到他們?nèi)绻胍实切袠I(yè)的高峰,要學習的東西、要付出的努力得有多少。不過,不用擔心,下面我將指出一條“明路”有助于你成為一名 高級軟件工程師。

步驟0:選擇你的道路,堅持下去!

做一件事,就要把它做好。——Doug McIlroy《Unix Philosophy》

關于這一點,我真的是強調(diào)得不能再強調(diào)了。選擇好你將與之并肩作戰(zhàn)的專業(yè)和技術堆棧非常重要。堅持不懈,不要分心。至于應該怎么做請看下面:

  • 選擇專業(yè)。也就是你想做的事情。例如:Web 開發(fā)、移動開發(fā)、DevOps 等。

  • 選擇專業(yè)中的實用技術。例如:如果你選擇了 Web 開發(fā),那你就需要在 Ruby on Rails、Python、Django,JavaScript 和 MEAN 等之間做斟酌。如果你選擇的是移動開發(fā),則需要在 iOS 和 Android 等之間做出選擇。

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

我的意思并不是說除了你的主要專業(yè)以外,你就不必熟悉其他的了。那種首屈一指的軟件工程師通常對其他的編程語言和技術都非常了解,當然首先他們對他 們自己的主要專業(yè)了解得非常剔透。當你確定好主要專業(yè)之后,接下來要做的就是學習,閱讀所有相關的書籍、練習各種必要的技能,這可能需要很多年的時間。但 是千萬不要氣餒,一步一個腳印,一個一個攻克難關,量變才能達到質(zhì)變。關于技術,我的推薦是:Ruby on Rails 之于 web 開發(fā),iOS 之于移動開發(fā)。這是我是以一個過來人的身份告訴你的寶貴經(jīng)驗。不過我還是想補充一句,可能每個人的口味不同,我的經(jīng)驗也許并不適合你,你完全可以選擇其他 的技術,不過這樣的話,你要閱讀的書籍可能就和我的推薦不一樣了。

步驟1:奠定基礎

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

步驟2:掌握你的編程語言

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

《The Swift Programming Language》之于 Ruby 開發(fā)人員,以及《Programming Ruby 》之于 iOS 開發(fā)人員。

步驟3:學習框架

選一個,然后好好學習:

對于 Rails 開發(fā)人員——《Rails Tutorial 》by Michael Hartl

對于 iOS 開發(fā)人員——《iOS programming: The Big Nerd Ranch Guide》

步驟4:掌握文本編輯器/ IDE

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

步驟5:使用版本控制系統(tǒng)

我建議使用 Git。下面是我喜歡的資源:Pro git——免費的在線電子書,詳細講解了 git 的各個方面。

步驟6:做好測試驅(qū)動開發(fā)

將 TDD 添加到你的技術堆棧中。養(yǎng)成每天 TDD 的習慣。高質(zhì)量的代碼源于良好的測試。

對于 Ruby on Rails 開發(fā)人員——《Rails Test Prescriptions》

對于 iOS 開發(fā)人員——《Test Driven iOS Development》

步驟7:將重構(gòu)養(yǎng)成習慣

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

步驟8:學習軟件架構(gòu)

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

步驟9:展示命令行的力量

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

步驟 10:code code code!

只有不斷地練習學到的知識,你才能真正掌握它。

總結(jié)

眾所周知,成為一名高級軟件工程師是非常難的。這需要大量的時間和精力。不同的人他們的學習速度也不盡相同,但是平均來說,大約需要 10 年時間才能成為一名可靠的高級開發(fā)人員。你付出的各種投資最后必將給你帶來巨大的回報。軟件工程師的錢途很美好,其就業(yè)市場的需求一直居高不下,薪資水平 也根據(jù)經(jīng)驗程度在提高。這是一個快速增長且相對較新的領域。軟件工程師的每一天都在面臨挑戰(zhàn):挑戰(zhàn)改變?nèi)藗兊纳睢戆?,各位軟件工程師,首先挑?zhàn)成為一 名高級軟件工程師吧!

英文原文:10 Steps to become a Senior Software Engineer

責任編輯:林師授 來源: 碼農(nóng)網(wǎng)
相關推薦

2014-12-22 09:59:05

程序員

2010-12-21 15:15:01

完美程序員

2021-04-16 10:28:54

SQLJava代碼

2013-07-18 09:58:18

C++程序員

2015-10-30 09:49:30

2016-01-29 10:03:43

優(yōu)秀程序員黃金法則

2015-06-12 11:22:52

程序員程序員跳槽

2014-03-03 15:32:32

程序員資源

2015-05-13 14:06:03

程序員糟糕的程序員

2015-02-13 10:52:48

Java程序員

2015-03-23 09:57:48

程序員

2020-10-05 21:13:37

程序員技能開發(fā)者

2014-03-31 11:01:39

2013-07-11 17:18:17

程序員習慣

2015-12-30 11:10:24

高級C++程序員

2015-06-25 09:32:55

JavaScript程序員

2012-01-11 13:37:37

程序員

2023-11-06 07:19:11

程序員GitHub社交媒體

2015-05-13 10:42:21

程序員代碼

2010-12-27 09:24:45

JSP程序員
點贊
收藏

51CTO技術棧公眾號