當前位置:
首頁 > 知識 > 四五十歲之後,還在編程的程序員都有誰

四五十歲之後,還在編程的程序員都有誰

美國勞動力的中值年齡是42歲,而StackOverflow的一項有關年齡的調查表明,40歲之後的開發人員只佔開發人員總數的13%。那麼其他人到哪裡去了?他們被解僱了或者上升到管理崗位了嗎?軟體開發對於過了40歲的人來說,是不是就意味著終結?

本文羅列了10位年齡超過40歲的老程序員們的故事,他們都是頂級的軟體開發者,拒絕從事管理崗位,仍然活躍在開發一線,將編程作為生活收入的主要來源。

查看原文:

SOFTWARE DEVELOPERS AFTER 40, 50 AND 60 WHO ARE STILL CODING

https://belitsoft.com/php-development-services/top-software-developers-after-40-50-and-60

Rob Fletcher,

Netflix(Los Gatos,CA)

的高級軟體工程師,

45歲

專長:Web開發、測試驅動開發、敏捷軟體開發、Grails、Groovy、Spock以及AngularJS。

「我已經寫了16年的代碼,做了幾年獨立承包商之後,在42歲那年加入Netflix,成為一名高級工程師。

我每天都寫代碼。目前最喜歡的語言是Kotlin。我想學習Go語言,平常用得比較多的是Java、Scala和Groovy。我一直在學習新的東西,哪怕是很小的事情。我知道自己會是一個糟糕的管理者,所以我壓根沒有想往管理方向發展。

很多事情取決於你的態度。不要成為厭惡新技術的老技術人,也不要嘲笑那些正在使用新技術的人。在進行技術選型時,你的經驗應該成為決策的基礎。如果選擇了老技術,那是因為它們正好適合當前的需求,而不是因為要保護你那積攢了多年卻即將過時的專業知識,也不是因為害怕那些後進者帶著NodeJS和Go語言來搶奪你的工作。」

在Quora上關注Rob Fletcher。

https://www.quora.com/profile/Rob-Fletcher

Ebbe Kristensen,

Prevas A/S(Denmark)

的高級軟體設計師,

62歲

專長:開發實時嵌入式軟體、軟體配置管理、構建測試用例(系統測試和單元測試)。在實時嵌入式系統、Linux和Windows(包括.NET)方面有豐富的寫作和文檔經驗,擅長C、C++、Python、C#和Pascal。

「我在1980年獲得了一個電力系統的電子工程學士學位,從我的第一份工作開始,我就以開發軟體作為我的謀生手段。因為專業學位的問題,我花了將近一年的時間才找到第一份工作。但從那個時候開始,我一直是一名軟體工程師。

我幾乎天天寫代碼,不處理任何與管理相關的任務。事實上,在很早之前我就意識到,我在管理方面沒有什麼競爭力。

作為一名程序員,我很喜歡這個角色,我也很勝任這份工作。如果讓我做一名管理者,肯定會有大麻煩,而且我一點也不享受管理工作。

我的同事里只有兩個人年紀比我大,其他的(包括上司們)都是比我年輕。我的直線經理不到40歲,而他是我見過的最好的管理者之一。

我在58歲那年得到了這份工作,不過我並不是年紀最大的僱員,有兩個同事年紀比我還大,儘管如此,他們還是被公司錄用了。

有時候,你幾天甚至幾周都不會學進去什麼東西,而有時候幾個小時學進去的東西就可以把之前「損失」的時間彌補回來。重要的是,你總是想方設法地去學習,時刻準備著,等待機會的出現。」

在Quora上關注Ebbe Kristensen。

http://https//www.quora.com/profile/Ebbe-Kristensen

John Brothers,

Make&Build(Atlanta,GA)

的高級軟體架構師,

47歲

專長:企業架構和開發、敏捷教練、數據可視化軟體。信用卡處理、IT服務和 移動應用開發 。

「我喜歡解決問題,而且我喜歡尋找新的方式來解決問題。正因為如此,我似乎具備了與時俱進的技能。

我最近正在使用Node.JS開發一個項目,之前也用過Hadoop、NoSQL,開發過Android應用,也寫過Go語言代碼,還熟悉JQuery和Bootstrap的各種特性。

我也關注Java的最新動態,還有Spring、JMS、REST、JSON和JPA,以及其他相關的技術。

我也適當關注技術生態系統的其他部分。在過去的幾年,我使用了IntelliJ、Eclipse、Sublime、Emacs和Vi這些開發工具,我很喜歡使用這些工具來解決各種問題。

我一開始使用的是CVS,後來學習了Subversion,最近在學習git。我也有AWS相關的經驗。我還是一個獲得認證的Scrum Master、產品經理和開發者。

我寫過很多自動化單元測試(在構建一個系統時,以測試驅動開發是我最喜歡的挑戰之一)。

我不害怕學習新東西。我使用Ruby on Rails/Grails開發Web應用,使用Perl、 PHP和Python開發應用解決業務問題。我也有SOAP和AOP的相關經驗。

我嘗試著要成為一名全棧的開發者。我熟悉Unix,經常編寫shell腳本。我喜歡部署應用、伺服器和工具,不管是為了開發還是為了生產。

我熟悉SQL和NoSQL,並且知道它們各自的優缺點。我了解TCP/IP,我知道路由、DHCP和各種代理的基礎知識。我構建過MVC應用、消息驅動的應用、EJB和基於Spring的服務。

我也做過前端的JavaScript和CSS開發。我並不想成為一個可以拿獎的UX開發者,但最起碼可以完成基本的功能。

我計劃再干21年。如果我們從Web開發轉向基於D-ware伺服器的開發,我或許會落後;如果函數式編程最終一統天下,我或許會落後。不過真到了那個時候,我仍然心存希望。」

在Quora上關注John Brothers。

https://www.quora.com/profile/John-Brothers-2

Roger Whitcomb,

Actian公司(Palo Alto,CA)

的軟體架構師和軟體工程師,

60歲

專長:C、C++、Java

「在我準備成為一名律師的時候,我才開始學習計算機科學(如果你可以想像這是怎樣的一種情況)……現在,我通過編寫大量具有良好文檔化和功能性的Java代碼來獲得我的生活收入(起碼現階段是這樣的)。

在Windows 3.0時代(大約是在1986年前後,我也記不太清楚了)我就開始在Windows上做開發。大約是在10年前,我轉到Mac上,之後就沒有再回到Windows上。我感覺自己就是一個使用Macbook Pro工作的極客……使用C、C++、Java和Swift進行開發……

我最近的一份工作需要從頭設計一整個系統,這也是我第一次做這樣的事情。我現在要跟上Web和移動開發的速度有點吃力,但離「垂暮」還很遠,儘管我已經60歲了。

過去我也獲得一些「管理者」相關的工作,不過我都拒絕了,我還是更願意選擇編程工作……不過,我也知道,我的一些與我年紀相仿(或者年紀更大)但已下崗的同事在找工作時遇到了麻煩(「是因為經驗太豐富了嗎」)。

所以我知道人們是怎麼看待那些過了一把年紀的人,認為他們沒有未來。但是,我認為最關鍵的是,你要為你的僱主持續地創造價值。

我目前是Apache軟體基金會Pivot項目的PMC主席。作為一名Java開發人員(Java相關項目的提交者),我希望Java會永生。最起碼不要出現更好的語言,要我把所有的代碼都移植過去……」

在Quora上關注Roger Whitcomb。

https://www.quora.com/profile/Roger-Whitcomb

Scott Gartner,

Silverback Learning Solutions

(Boise,ID)

的高級軟體工程師,50多歲

專長:框架、解析器、建模、圖形、資料庫子系統的設計和實現,資料庫設計(SQL、DML、DDL和LINQ)、XML設計、單點登錄方案(SSO)、互聯網應用、Windows應用和動畫。

「我已經做了34年的程序員,而我的簡歷只要一張紙就可以裝下。所有超過5年的技術在簡歷上都只是一筆帶過。

我有第二張簡歷,上面列出了所有我用過的編程語言和開發工具、資料庫、動畫系統,等等。這樣,大家可以更容易了解我。我只在被問到的時候才會拿出第二張簡歷。

在大公司里(至少對於我來說),老程序員一般都想轉到管理層,這也是很常見的一種現象。我一直面臨著類似的選擇,但我不擅長管理,我只喜歡成為一名程序員或架構師。

我發現我的記憶力大不如前,也沒辦法記住大型系統的全部模型。不過,我發現我那些豐富的經驗變得越來越有價值。

我們不得不承認我們的整個職業生涯必須不斷地接收訓練成長,世事變化得太快,如果止步不前,終將被淘汰。

每兩年我就會學習一種新的編程語言,有一些是我自己想學的,不過大部分是因為技術發展的需要(也有的是因為新工作的要求)。這樣很有趣。目前我在學習數據倉庫(OLAP)、ETL處理、Star Schemas和Cubes。」

在Quora上關注Scott Gartner。

https://www.quora.com/profile/Scott-Gartner

Brian Bowman,

SAS(Cary,NC)

的首席軟體工程師,

56歲

專長:專利文件系統或資料庫的內部組件、持久化數據結構、目錄和索引搜索技術、伺服器管理、DASD IO驅動、機器碼生成或跨架構的代碼轉換、對象持久化、客戶端與伺服器端的介面、多租戶、分布式緩存,以及大規模的授權系統(實施、管理和日誌)。

目前在SAS Viya平台上做Cloud Analytics Service方面的研究、設計和編程工作。

「我目前團隊成員的平均年齡為50歲,而且每一位成員都有超過20年的系統軟體開發經驗。

我和我的同事們花了很多時間在編碼、調試、測試和解答系統架構問題上面。有些同事還涉及硬體技術評估、在大會上呈獻演講,以及為開源社區貢獻力量,等等。

在過去兩年,我一直是某軟體公司精英團隊的成員之一,這個公司有很多非常出色的工程師,很多都有高級的計算機和應用數學等專業的學位。

在那之前,我在一個小型的團隊里工作了超過10年的時間,我們從無到有設計開發了一個多線程的元數據對象集群伺服器。

團隊里與我的關係最為密切的同事比我大5到6歲。在那期間,我獲得了4項美國國家專利……那些都是在我40歲之後獲得的。

只要我還能做出有意義的貢獻,我就會一直工作下去。我多次給我的職業生涯充電,從最早的學習和研究,到後來的工作崗位的需要。這是我的本性,也是激勵我持續進步的動力。

我不認為現今的技術只能讓我干到70歲。我的職業生涯從1983年開始,我通過四項主要的計算機技能生存下來。

彙編語言級別的大型機系統編程。

基於C語言的多主機平台的可移植編程,包括桌面、中型Unix網路、小型機的後續產品(如VAX),以及大型機。

多層集群伺服器環境,由後端的多線程C以及處於中間層滿足高可用要求的Java組成,主要面向Windows伺服器和Unix環境,也包括Linux。

基於多線程C的大規模並行網格計算,滿足虛擬的無限伸縮。

雖然我所擁有的這些技能可以干到退休,但在未來的幾年,我還會將我的專業知識領域擴展到機器學習方面。

或許在10年之後,對普通程序員的需求會大幅下降。如果一個人真的喜歡計算機技術,但是在編程方面達不到更高的水平,那麼可以考慮成為一名經驗豐富的系統管理員。他們總有很多工作要做,比如配置、部署和維護系統。」

在Quora上關注Brian Bowman。

https://www.quora.com/profile/Brian-Bowman-17

Alec Cawley,

DisplayLink

(Palo Alto,California)

的首席軟體研究員,

60多歲

專長:嵌入式、多線程、多進程、驅動、通信棧、C/C++、Java、Python、硬體。軟體架構師/工程師,特別是在與硬體緊密接觸的軟體系統,與硬體工程師一起工作,最大化發揮軟體和硬體的效能。

「在我62歲的時候,我已經是公司里年紀最大的開發者了,其他人大都是40多歲或50出頭。

我最年輕的同事應該是20多歲,他們與我有35年的年紀差別,不過這不是問題。

我們要擁抱技術。現在的世界與我的職業生涯剛開始的時候(穿孔紙帶時期的Fortran)已經很不一樣了,而變化仍然在持續。

但反過來說,需要解決的問題總是很相似的,無非就是如何將人類的需求轉成計算機可以做的事情,以及如何避免犯錯、如何找出不可避免所犯下的錯誤。

編程語言、開發環境、工具套件、API等東西只是解決問題的手段,我們只是在需要它們的時候才去學習如何使用它們。

我是從穿孔紙帶開始的。即使是到了磁碟文件時代,我仍然是最早從行式印表機里讀取程序的人。後來就有了普通文本編輯器。現在我使用具有語法高亮功能的IDE。

我認為,在10到20年的時間裡,仍然需要軟體開發人員。在我看來,軟體開發者的工作就是把客戶的需求轉換成計算機執行的指令,而這樣的工作是不可或缺的。

這個世界總是需要一些高手,他們在計算機方面比普通人懂得更多,並且掌握了大量與工具相關的知識(軟體包、API、介面,等等)。

在選擇公司方面,我是幸運的。我的大部分時間都花在了軟體開發上,而且總能做一些以前沒有做過的事情。軟體開發里總有一些重複性的工作,我可以想像得出那樣做是很無聊的。不過,如果你總是在做新的東西,那就不會無聊了。

我所在的嵌入式領域似乎比應用程序更加能夠扛住潮流的沖刷。應用程序每幾年就會有新的東西出現,有些幾乎是曇花一現,有些會持續一段時間,經歷巔峰,然後逝去。

而嵌入式一直保持堅挺,以C語言為基礎,再融合一點C++。另一方面,硬體也在持續發生變化,這讓事情變得更加有趣。」

在Quora上關注Alec Cawley。

https://www.quora.com/profile/Alec-Cawley

Victor Volkman,

Proquest(Ann Arbor,MI)

的高級軟體工程師,

54歲

專長:編程方面擅長Python、Linux、C/C++、.NET,資料庫方面精通MS Access、MySQL和所有基於SQL的環境,還有TCP/IP、企業系統自動化和分布式計算方面的經驗。

「架構與管理是兩道平行線。在超過250人的公司里,技術人員一般都會有這兩條路可以走。

你喜歡你正在做的事情嗎?如果是,那麼就繼續做下去。為了一點薪水而放棄你所喜歡的事情,整天擺弄會議和郵件,這樣會讓你得不償失。

每過兩年,遊戲規則就會發生變化。不過不用為此感到苦惱。花3到4天時間學習新的編程環境,然後用它們來支持業務。在過去的30年,我幾乎每4年就要學習新的東西。我所在的團隊有6個人,年齡從48歲到56歲。我們經歷了3到8次的技術更新。

以下是我的職業概覽。

從使用C和彙編語言編寫MS-DOS代碼開始

學習使用C++和MFC開發windows應用程序

學習使用Unix Perl開發基於CGI-BIN的Web應用

學習C#

學習Java和JSP

學習智能手機開發:iOS/Android/Blackberry

回到Unix,開始使用Python

AWS開發(EC2、RDS、SQS,等等)」

在Quora上關注Victor Volkman。

https://www.quora.com/profile/Victor-Volkman

Kurt Guntheroth,

軟體工程師,

50多歲

專長:Windows、Linux/Unix、嵌入式;演算法設計、C++、C、多線程和分布式、電信、安全、套接字編程、標準委員會成員、產品計劃和概念落地;TQM、ISO 9000、敏捷開發和傳統開發方法論。

「軟體開發仍然是一個年輕的領域,工具和技術仍然在發生快速的變化。如果軟體開發人員不能持續地更新他們的技能,在不到20年的時間裡,他們就會過時。

所以,一個40歲的老程序員很快就會發現自己已經無法勝任工作,而且前途堪憂。

好的開發人員會持續學習,直到他們退休,比如Ken Thompsons和Bjarne Stroustrups。不過,我們大多數人(特別是40歲左右的)最終都會意識到,我們並不能成為行業的大神。

C++變化很大,每幾年就會有新版本出現,並且包含了全新的特性,我從來沒有停止過學習。也就是說,我已經成為了一個非常有經驗的C++開發者,擁有超過20年的全職系統編程經驗。

如果有人要我給自己的經驗打分,從1分到10分,那麼毫無疑問,我會給打自己9分,因為比我更了解C++的人只有那些寫書的人。後來,我寫了一本有關C++優化的書。

編程是一件很容易的事情。你告訴它們做什麼,它們就做什麼。它們是可以信賴的,也是可靠的。對於代碼來說,無所謂好日子,也無所謂糟糕的日子,它們存在的意義就是在你與它們發生交互的時候。

代碼可能會是難啃的骨頭,它們要求對細節的重度關注和相當程度的腦力付出。

人類與代碼完全不一樣,人類狡猾、變化多端,而且不可能充當工具使用。你不能直接告訴他們做什麼,你要去影響他們,這樣他們才會做你需要他們做的事情。

他們不會直接對你的輸入做出響應,而是間接地對你的鼓勵或者你所提供的一些獎勵物品做出響應。雖然人類對獎懲很敏感,但如果只是通過這種方式來管理人類並不會奏效。

管理應該要像與家人、朋友和同伴互動一樣。如果你喜歡與人打交道,那麼你就會喜歡上管理。如果你不喜歡與人打交道,那麼你就不會成為一個成功的管理者。

薪水高的管理者比薪水高的程序員賺得更多,不過他們需要有很多名校的學歷背景,擁有良好的人際網路和政治同盟,也需要有一定程度的冷酷無情來震懾大部分人。

而編程不需要這種冷酷無情,這也就是編程很好的一個方面。編程是關於創新,而不是操縱。

所以,你要問問自己,你更喜歡哪一種交互模式,是代碼的確定性和優雅,還是人類的友情和領導力?喜歡代碼完全沒有問題,那些高級架構師和CTO也能賺很多錢。」

在Quora上關注Kurt Hentheroth。

https://www.quora.com/profile/Kurt-Guntheroth-1

James Grenning,

軟體顧問,

60多歲

專長:面向對象軟體設計、測試驅動開發(C、C++、Java、C#)、嵌入式軟體、重構、極限編程、Scrum、敏捷開發、發布計劃、增量計劃。C和C++單元測試框架CppUTest的主要貢獻者之一。嵌入式系統大會和敏捷大會的演講人。Agile Manifesto的初始作者之一。

「保持學習。我62歲了還在編程,我喜歡編程。

我會花一些時間在管理上,這對我來說是很重要的。不過我還是決定把編程和軟體設計作為我的最愛。在我從管理上學了一些東西之後,我決定還是回到我最喜歡的軟體開發上。

為了保證你的價值,你要確保40年的經驗是不重複的。我們生活在一個快速變化的世界,不僅僅是技術,也包括我們如何構建軟體。

把東西做出來固然是好,但那樣還遠遠不夠。你還要讓產品和代碼更有用,能存活更長的時間。你要知道如何成為團隊的一員。要想讓職業生涯長久、成功,同時能賺到錢,只是把東西做出來是遠遠不夠的。」

在Quora上關注 James Grenning 。

https://www.quora.com/profile/James-Grenning-1

文章來源:

http://www.infoq.com/cn/news/2017/05/Forty-years-who-programming?utm_source=tuicool&utm_medium=referral

作者:Vladimir Kazankov

譯者:薛命燈

點擊展開全文

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

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


請您繼續閱讀更多來自 優才學院 的精彩文章:

玩大數據一定用得到的18款Java開源Web爬蟲
給Java開發者的10個大數據工具和框架
手把手Java入門:繼承
PHP 程序員的調試技術小結

TAG:優才學院 |

您可能感興趣

積累的編程知識在十年後將有一半沒用?一位 40 歲程序員的反思
有了這十五款編程遊戲,誰都可以學編程!
一個女程序員的編程之路
作為程序員,你在編程時吃了哪些數學的虧?
編程從古代就有,只是現在編程換了一個……
放棄年薪三千萬去學編程,這位程序員直接走上維密
編程超模小kk的晚間護膚秘訣分享,做一個能熬夜的最美程序員
編程測試,程序員過不去的坎?
不要做一個只會面向搜索編程的程序員!
程序員們,是時候面向故事編程了!
編程 25 年後,現實將我打回菜鳥程序員的起點
編程 25 年後,現實將我打回菜鳥程序員的起點
程序員的編程能力與編程年齡
編程從業五年的十四條經驗,句句樸實
20 年「碼齡」的老程序員如何看編程發展?
30歲自學編程,當上高級工程師,這幾個編程軟體是他最常用的!
最硬核的遊戲,完整還原編程的步驟,不會編程連任務都看不懂
9 月編程語言排行榜:萬年不變的前三,終於變了!
三歲學編程一點都不早,《兒童編程大冒險》,在遊戲中培養孩子編程思維!
玩桌游也能學編程?有這套「編程三劍客」就夠了