8年+的經歷or高學歷,都並非資深軟體工程師的定義……

2020-12-11 讀芯術

全文共2703字,預計學習時長8分鐘

來源:Pexels

近幾年軟體行業日新月異,變化很多。

其中,我最喜歡看到的變化就是公司不再期待軟體開發人員有特定的學位,甚至沒有學位都可以。

不管對於個人還是企業,這都是一個很棒的消息。

因為進入這個行業最重要的是這個人究竟能幹些什麼。如果申請人不能解決編程問題,那他是否有學士學位還是碩士學位並不重要。如果他們不理解MVC模式,那他們能否解釋大O符號是什麼也並不重要。

親身體驗:我有一個計算機科學學位,在我作為軟體工程師的時候,除了面試,我從來不需要計算大O。如果你是一個網站可靠性工程師,每秒得處理成千上萬的請求,或許你需要計算它,但我猜我們大多數人從沒處理過大O。

人們進入這個行業和成長所需的信息,都可以通在線資源配以手寫軟體的經驗找到,這就產生了對學位期望的轉變。

但我認為期望的轉變不能止步於此,尤其是尋找資深開發人員的時候。成為一個團隊裡的資深軟體工程師的要求有很多,遠不止豐富的經驗……雖然經驗多是好事,但是一份工作描述不能把「8年以上的工作經驗」作為衡量自身工程師的標準。

會有人工作了9年,但技能不達標,但與此同時也有人只工作了5年,卻能掌握所需的所有能力。

不妨把這種數字上的硬性條件替換成幾件對團隊更有價值的事情。除了成為軟體工程師的必備條件之外,以下是我希望資深工程師有的特質:

良好的編程能力

希望這一點是所有人都能想得到的,最好是都不用出現在這裡,因為這是一個「理所當然」的要求,但它往往是區分好工程師和優秀工程師的基本要素。

像給變量和方法命名這樣簡單的事情可以大大提高效率。牢記SOLID原則(註:S:單一職責原則;O:開發封閉原則;L:迪米特法則/裡氏替換原則;I:接口隔離原則;D:依賴倒置原則),不斷尋找重構候選代碼和死代碼是必要的。確保測試和功能代碼一樣重要,這些事情都是十分有價值的。

資深工程師是團隊裡可以在代碼的易懂性和有效性上找到平衡的那個人,並且確保團隊能保持這種平衡水平。

來源:Pexels

堅持不懈

一個人成功與否最常提到的因素就是他有多少「毅力」。定義如下:

「毅力是對長期成就的熱情和持久的堅持,與此同時對回報和別人的認可沒有過分關注「

這也是作為軟體工程師最重要的品質之一。我們都遇到過這種情況……你發現代碼裡的漏洞,想要去解決它。你的第一次,第二次,甚至第五十次嘗試都失敗了……挫敗感席捲而來,沒過多久,你就開始問自己,到底還能幹這行多久。

某位技術領頭人曾經跟我說,他們把隊伍裡的資深人員視為團隊中的「苦力」。

聽起來有點慘,但是重複嘗試一個步驟失敗50次後,仍然能深呼吸,吃點巧克力,終於在第五十一次嘗試成功,這是成為資深工程師的必要素質。

資深工程師是那些能帶領團隊走過軟體開發的風風雨雨的人。

如果你還不是一名資深工程師,但那是你的目標,可以從這開始。

開放學習新事物

技術行業可以說是世界上革新最快的行業之一了,甚至就是最快的那個。每一兩年,就會有新技術、工具,或者是語言出現,它們會帶來新的問題,甚至是擴展那些本就存在的問題。

作為開發人員,要跟得上瞬息萬變的軟體工程業,我們必須一直在學習新事物。

最讓人嘆息的莫過於一個人固步自封,堅持用同樣的方式,或同樣的技術工作多年,還覺得沒有必要學習新知識,或者嘗試新東西。

我經常聽到「我想使用A語言,因為B語言我操作得不太溜」,我可以理解這一點,但或許B語言就是更適合這個問題的陳述呢?或者是其他隊友都擅長B語言,還可能了解一種語言的語法和技巧在軟體工程中並沒那麼重要,重要的是思維過程和對系統的理解,以及它各個部分是如何相互作用的……我們總是可以在StackOverflow上查找語法或技巧。

更不用說,學習新的東西也意味著新的體驗和新的思考方式。新的角度總是應該受到歡迎的。

有全局觀念

這有時直接關係到個人在公司能呆多久,我共事過的最好的資深工程師,都能夠在腦海中對整個系統有一個詳細的認知。因此他們能快速理解一個功能可不可以以及如何實現,甚至能更進一步,快速確定是什麼導致了缺陷。

我曾經的有個隊友,我們一起處理一個bug的時候,他看都不看代碼就能直接告訴我,可能是第二十五行的文件A或第四十七行的文件B有問題。太神奇了。

這個例子可遇不可求,但對系統有一個整體把控的好處不言自明。

分享知識

我始終相信資深工程師最重要的責任之一就是幫助團隊成員,讓他們儘可能快的提升自我。

這包括但不限於:

· 和隊內其他開發人員一起編寫程序,確保自己不只是團隊的能力儲備庫。

· 執行複雜的任務時,與團隊中的其他人分享解決方案,這個過程可能在單獨會議上進行。(許多團隊經常在電話會議結束時進行知識共享,以分享他們學到的或團隊需要知道的東西)

· 知道讓隊友在掙扎中學習和支持他們之間的區別,同時平衡好自己的態度,讓隊友感受到自信而不是不足。

其實我認為資深工程師讓初級工程師獨立完成某項工作後,要儘可能少地通過非個人化的代碼審查進行教學。

有共情力

最後一點,也是個人認為最重要的,就是一個資深工程師一定要有共情能力。

要理解隊友在盡他們的全力嘗試。每個人都還在學習,並且要一直學習下去,包括你自己。不要做一個沒有感情的代碼審查員,要看到隊友想法的相關性和潛力。這些行為別人沒法教,想要建立一個充滿信任的團隊,讓每個人都感到安全,這還有很長的路要走。

彼此信任的團隊可以成就很多。

希望當我說「8年以上的工作經驗並不能讓一個資深人員變得資深」時,不會有人誤解。我確實相信經歷是十分重要且有價值的。但我也相信從資深工程師的位置開始,個人軟實力開始變得非常重要,我想在文章中傳達的是這一點。這些技能應該是我們這一行的每個人一直在努力學習的東西,也許有一天工作描述將不僅僅是白板面試和8年以上經驗,而是一些能夠對團隊產生更大影響的東西。

當然,這只是筆者個人的一點看法,如果你有什麼自己的建議,歡迎在評論區分享給大家喲~

留言點讚關注

我們一起分享AI學習與發展的乾貨

如轉載,請後臺留言,遵守轉載規範

相關焦點

  • 定位「高級軟體工程師」!傳智播客重新定義IT培訓行業人才輸出標準
    7月11日,IT培訓企業傳智播客舉辦了2020年夏季課程產品發布會,其主題為 「生而顛覆,9為就業」,當日僅Bilibili平臺人氣超十萬。在此次發布會上,傳智播客正式對外發布聚焦培養高級軟體工程師的課程。同時,傳智研究院百位成員也在發布會上進行了首次亮相。
  • 中國資深工程師VS美國資深工程師,差距就在這八點
    下面以工程建設行業為例,我們將中國的資深工程師和美國資深工程師做一下對比:1、關於加班中國工程師:中國工程界不成文的規矩就是施工單位沒有休息日,夏頂烈日、冬迎霜雪、天天加班,日復一日,年復一年,毫無怨言。
  • 學歷還是證書?用人單位更看重的是什麼?這次資深hr說實話了
    資深hr說出了實話。至於用人單位更看重哪一點,作為一名有著十餘年人力資源從業經驗的資深hr,劉女士表示,這要取決於用人單位的類型。如果是服務行業和製造業,比如快遞、餐飲、倉儲、酒店、家政、工廠等基層工作,對學歷或者證書的要求都不高,但往往待遇一般,發展前景也受限,而大型的國企事業單位、高校教育或科研攻關研究院、大型三甲醫院等這類型的用人單位,一般對學歷的要求是非常高的。
  • 高合汽車:軟體定義汽車
    自詡劃時代的高合,給出的應對方式是:用場景定義設計,讓車燈聰明一點。 乍一聽有點「玄學」。 實際上,每項功能背後,一套高規格的「感知—計算—執行」硬體必不可少。但決定硬體運行邏輯,或者說,決定以何種方式將硬體運轉起來以實現特定功能的,卻是背後的程序,即軟體。就PML可編程智能大燈和ISD智能交互燈而言,如何探測路況或判定駕駛場景、特定路況或場景下啟用何種照明方式、投射或顯示何種圖案,都由系統中運行的軟體決定。
  • 杭州軟體工程師培訓符合什麼條件才算好?杭州軟體工程師培訓去哪
    怎麼樣的杭州軟體工程師培訓算是靠譜的?和盈小編在這裡給出了幾個判斷條件,幫助大家篩選靠譜的杭州軟體工程師培訓班,希望能幫助到大家。我們需要注意的是,過度的理論教學和過度的項目練習對於學員自身發展都是沒有促進作用的,合理的應該是兩者相輔相成。2.師資團隊老師直接影響了學員吸收知識的速度,好的教學方法能夠讓學員快速的學會難以理解的知識。
  • 軟體測試工程師是什麼?
    IT行業至今還是如火如荼,軟體測試是IT行業的一個細分類目,軟體測試工程師是軟體測試工作的執行者。最近看tester指導猿的文章,學到了。1.什麼是軟體測試軟體測試的經典定義是:在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟體質量,並對其是否能滿足設計要求進行評估的過程。
  • 計算機專業大專學歷能不能報考2021年一級消防工程師
    2021年一級消防工程師備考已開始,將於11月6、7日舉行考試,如果您想參加2021年一級註冊消防工程師考試,那麼你知道考試報名條件嗎?一級消防工程師考試報名條件對專業是否有要求?滿足哪些條件才能報考2021年一級消防工程師?2021年新報考條件是否已經公布?帶著這些疑問和小編一起來看看吧!
  • 軟體工程師除了寫代碼,還能做什麼工作?
    面向客戶的崗位 人際交往能力是一項軟技能,很多職業都能從中受益,軟體工程師也不例外。但有很多軟體工程師並不甘於此,我採訪過的一些人不希望整天靜靜地坐在那裡寫代碼。如果你希望你的職業道路有更多的機會與人交流,可能以下工作會適合你。
  • 中專學歷可以申報中級工程師嗎?
    關鍵詞:中專學歷、中級工程師最近有學員諮詢中級工程師,因為公司要求必須有中級證書才能接手項目,但是自己的學歷不高,只是中專或者高中畢業,可以申報中級工程師嗎?因為很多從事建築工程的人員,對於中級職稱年輕的時候沒有注意,隨著政策的變化,公司要求,或者給員工加薪,又或者是企業為了競標鼓勵員工積極考證,等等。
  • 軟體工程師的困境
    我從本科系畢業,出社會第一份工作就是軟體工程師,一路升到項目經理,創業後成為老闆,當然也變成了 Sales,需要賣服務給更多的老闆,以下就我看到不同的面向與大家分享臺灣軟體工程師的困境。例如團隊、資源 … 等如果新公司沒有這些條件,工程師是否能發揮該有的價值?通常新公司會抱持懷疑的態度。即使高薪也無法選擇小公司雖然有些小公司願意提出高於市價的薪水,但這薪水能持續多久?裡面有能一起討論的同事嗎?未來的發展好嗎?寫在履歷上好不好看?朋友都沒聽過這間公司?….除了薪水以外的一堆疑慮都跑出來了。
  • 軟體工程師的衰落與程序技術員的興起
    世界上第一個計算機科學繫於 1962 年在普渡大學(Purdue University)成立,在之後的 15 年內,世界上仍舊只有屈指可數的幾所大學開設了計算機科學系。直到 20 世紀 80 年代,計算機科學仍然被認為是數學或通用工程學下面的一個子學科。然而,早在 20 世紀 40 年代,我們就有了電腦程式員。這些早期的先驅者都是些什麼人?他們又做了些什麼呢?
  • 軟體工程師薪水知多少?
    Bjiednc基本數據根據IDC的報告,2018年全球大約有2230萬名軟體工程師,其中1165萬名全職軟體工程師,635萬名兼職軟體工程師,430萬名非專業人員。Bjiednc再把這些數字應用到各個國家,美國的軟體工程師最多,有651,017人; 緊隨其後的是中國,183,805人; 印度排第三位。
  • 傳智播客推出高級軟體工程師課程標準
    此次發布會後行業內的IT培訓課程有望陸續升級至9個月,且主要培養方向由初、中級向高級軟體工程師轉變。  疫情發生以來,更催化了網際網路企業對IT從業者技能要求的急劇攀升,初級軟體開發人員求職變得愈加困難,傳統針對初級軟體開發人員的培訓模式已不符合當下用人市場的要求。  基於此,IT培訓機構如何破局?傳智播客給出的答案是:將技術深度、課程容量、項目廣度全面提升50%以上,以此達到培養「高級軟體工程師」的標準。
  • 明知故問 | 2020熱門職業——軟體開發工程師前景如何?
    軟體工程師的涵蓋比較廣泛,狹義上講包括軟體開發工程師和軟體測試工程師,廣義上則還包括UI設計人員、產品經理等等。軟體開發工程師又分前端開發工程師和後端開發工程師等等。他們的前景雖然都很好,但是具體還是有一些差別的,今天我們著重聚焦的是軟體開發工程師。
  • Java開發工程師就業前景有多好?
    8月份明明是畢業求職季,但不少小夥伴卻愁到不行。因為受疫情影響,大環境下經濟發展不景氣,求職這個「副本」的過關難度,以肉眼可見速度提升了!與很多行業裁員情況嚴重相比,相反,IT網際網路行業受到影響較低,倒是迎來了紅利期。像騰訊這種大廠,2020年第二季度的財報營收甚至是超過預期。
  • 初級工程師(助理工程師)職稱怎麼評定?含金量高嗎?
    在目前中國的現狀下,職稱主要代表社會地位,有高職稱的人享有較高的社會經濟和福利待遇,與實際技能未必有直接關聯。職稱通過申報、評審,由主管部門授予,一般認為決定是否授予職稱是由主管部門領導決定,主要是評審形式。初級工程師職稱含金量高麼?有沒有必要評一個初級職稱呢?
  • 法學專業大專學歷滿足什麼條件能考2021年一級註冊消防工程師
    2021年一級消防工程師備考已開始,將於11月6、7日舉行考試,如果您想參加2021年一級註冊消防工程師考試,那麼你知道考試報名條件嗎?一級消防工程師考試報名條件對專業是否有要求?滿足哪些條件才能報考2021年一級消防工程師?2021年新報考條件是否已經公布?帶著這些疑問和小編一起來看看吧!
  • 我們熟悉的這些明星居然都是高學歷?
    宋茜早年在韓國著名的經紀公司sm旗下當訓練生,最後在公司的培養下和其餘三個成員組成了一個叫fx的偶像團體,這個偶像團體風靡韓國,愛看韓劇的人應該都知道崔雪莉和鄭秀晶吧,她們也是fx中的成員。,天天上綜藝節目甚至連睡覺的時間都沒有,但是最終還是堅持下來了,現在回想起來那個時候還是覺得很充實,覺得如果沒有當初的努力就沒有現在的自己。
  • 軟體工程師的衰落與程式設計師的崛起
    對開發人員的需求高得離譜,能夠獲得計算機科學四年學位的人數相對較低,我們現在需要這個領域的程式設計師。不管怎樣,我們必須該滿足需求,所以我們只是降低了標準。顯然,現在人人都能成為「工程師」,我們盲目地希望得到最好的。表面上,真正的軟體工程正在消失,而幾乎沒有正規教育的「編碼」和「黑客」正在取代它。這是一個簡單的答案,許多受過正規培訓的工程師(包括我)都願意相信。
  • 臺灣的軟體工程師
    從網絡上或是前輩口中所得到的大部份資訊裡,不難看出大多數的軟體工程師對於自己的職業生涯並沒有過於高深的期許;因為寫程序只不過是賺錢的手段之一,可以的話還是買買股票看能不能賺得比較飽。以下,就我所看到的例子,來嘴炮一下大部份臺灣軟體工程師的心聲吧。如有雷同,純屬巧合。二十歲之前「程序是什麼?」