• <wbr id="d259a"><table id="d259a"></table></wbr>
  • <i id="d259a"><bdo id="d259a"></bdo></i>
  • 導航切換

    聯系電話:
    0898-66785667

    二維碼

    當前位置:首頁>>新聞動態>>行業要聞

    軟件工程師需要具備哪些能力?

    日期:2021-11-23 17:32:32

    過去二三十年,互聯網改變了世界,巨大變化的背后站著一個職業,那就是軟件工程師。

    軟件工程師這一行有很多“英雄出少年”的例子,比如比爾蓋茨、扎克伯格,年紀輕輕就做出了開創性的研發與設計。看起來,這一行頗有些“出名要趁早”的特性

    但其實,一出手就站在金字塔塔尖的年輕人只是極少數,可以說是鳳毛麟角。大多數的軟件工程師,都是需要在這金字塔里,一個臺階一個臺階往上走得。

    如果我們把軟件工程師的金字塔分為四大臺階,那它分別是:新手階段、進階階段、高手階段和行業大神階段。這四個階段分別對應這樣幾種能力:執行力、設計能力、會貫通的能力、沉淀方法論和開創新領域的能力。

    圖片

    不同階段,所需要具備的能力是不同的。比如,在高手這個階段,更需要前瞻能力和取舍能力;進階階段,需要獨立完成需求的能力;新手階段,需要保質保量完成分配到手上的任務。

    執行力字面理解為:執行并完成任務的能力,在西點軍校中有一句經典語言“沒有任何借口”,也是對執行力進行完整的詮釋。

    新手階段強調執行力。就好比你剛進入公司,還是新人的時候,被分配一些任務。指派任務的上級,會非常明確地告訴你任務是什么,用什么樣的方法,去達成什么樣的目標。

    圖片

    然后,干就完了!你按照方法一步步操作,保質保量去完成,這就是執行力。

    小姜是個同事眼中的“老法師”。上班遲到了,會說“路上堵車”、“鬧鈴沒響”等等;工作協作不好,會說“這項工作太復雜……”、“這個我不會,沒學過”;工作沒業績,會說“政策不好”或“我已經盡力了”等等,事情做砸了有借口,任務沒完成有借口。

    最后,公司業績下滑需要裁員,“老法師”小姜首當其沖被開掉。究其原因,就是工作沒有執行力,對公司的經營發展毫無意義。

    同事小莫則不然。初進公司,就有一位前輩曾告誡過他:不管接到什么工作安排,你都要想辦法干。只有強有力的執行上級的命令和要求,才能不斷地提高自己的執行力和工作效率。

    虛心聽從建議的小莫,三年工作中始終堅持高度的執行力,正因為這一點,他被部門經理賞識,推薦給高層,很快就做到了總經理助理的崗位,前途不可限量。

    在現實生活中,需要的正是那種想盡辦法去完成任務,而不是去尋找借口的執行力。

    與新手階段不同的是,進階階段強調設計能力。這個時候,上級布置給你任務,就是你要獨立完成一個工作模塊、獨立設計程序,上級不會告訴你步驟,你需要自己方法解決問題。

    這個階段的關鍵能力叫做設計能力一一你要學會分析需求,弄清楚模糊不清的問題:你要學會做技術調研,找到最佳解決方案;你要學會對問題進行抽象和拆解;你要學會搭建原型、設計架構。

    一旦進入進階通道,你在工作上不再止于做執行,而是要更多地發揮創造性,獨立設計和優化;在團隊里不再止于埋頭完成自己的事情,而是要做好一個項目從頭至尾的把控,協調內外部的合作關系;在學習上不再止于跟別人學、片式地學,而是向內精進,搭建起自己的知識體系。

    這就好比寫作文時,老師給你一個命題,你來構思作文結構怎么搭幾個段落、每個段落表達什么主題,它們之間如何承接。

    設計程序也一樣,客戶一個需求來了,你要考慮怎么把它用程序現出來,一個程序分成幾個不同的模塊,每個模塊干什么它們之間怎樣協同配合。

    客戶只是提出一個需求,而你要給出合理的、科學的解決方案。

    很多軟件工程師在高手階段會認為,只要做到全面細致,把代碼寫得足夠好就沒問題了。但其實,作為高階工程師,這遠遠不夠。

    高手階段最重要的能力有兩個:一是前瞻能力,二是取舍能力。核心是具有前瞻能力。

    也就是說,你得知道為什么系統今天是這個樣子,以及未來它會朝著什么樣的方向去演進,對未來有預判,根據預判對技術選型做一些決策。

    比如一個系統大概要解決未來兩年的問題,那么在未來的兩年內,外界和底層技術會發生什么樣的變化,你要采用什么樣的技術去完成,這都需要心里有數。

    圖片

    想要擁有前瞻能力,第一要有知識的廣度,需要去讀論文,讀業內各大公司的資料,還要去各個公司做廣泛的交流,保證有足夠多的不同的信息進入你的視野。

    第二多做跨行業的交流,跳出自己的圈子,跟其他行業的人,特別是投資人、創業者等見多識廣的人群多交流。

    除了前瞻能力,高手階段的軟件工程師還需要具備取舍能力。所謂取舍,就是確定自己要干什么,以及不干什么的能力。

    要想做好取含,關鍵在于兩點:明確目標、學會預測。第一是明確目標。一個問題可能有很多種解決方案,但是每種解決方案都不可能完美。這時候你就要分析,哪個對最終目標可能產生的負面影響更大,然后選擇影響更小的那個。

    第二是學會預測。有時候即使你的目標很明確,不好取含,難點在于很多數據你并不能提前知曉。這時就得預測一下,到底哪個方案帶來的結果是更優的。

    這里的預測和前面說的前瞻性不太一樣,它不是指大的時間軸上預測未來,而是說基于現有信息做出一個測,然后完成取舍。最終取舍得好不好,就看你預測得不準。

    比如,出租車公司想要把起步價提高1元,總收入會增加還是少?如果有個人覺得打車上班花15元比較合理,你漲了這1元就超出了他的心理價位,他不能接受了一個用戶。

    如果有個人覺得漲1元無所謂,他一點兒也不在意,那就相當于出租車公司增加了1元錢的收入。

    至于要不要漲這1元錢,需要你具備類似于“人腦大數據”的功能,在對用戶和系統的理解的基礎上做出預測。

    而一旦進入大神階段,大家都公認你是這方面的權威,你對這個方向的判斷是非常準確的。同時你還能夠總結出一個方法,這個方法不只適用于當前的領域,別人把你這套東西拿過來,還可以解決另外的問題。

    大神階段最重要的是創新能力,能夠開創新領域??梢哉f,幾乎計算機、互聯網領域出現的每個重大里程碑,都是軟件工程師開創新領域的結果。

    比如業界公認的行業大神,美國科學家肯湯普森( Ken Thompson)在20世紀70年代作為主創者之一開發出了全新的操作系統UNIX(這一系統不僅可以用于網絡操作,還可以作為單機操作系統使用,后來被廣泛使用于工程應用和科學計算等領域),就是開創新領域的代表。

    進階軟件工程師,就要具備以上所說這幾種能力。而且,從這幾個臺階來講,越往上走,要求越高,能達到的人越少。

    從執行到設計,可能60%以上的軟件工程師都可以跨越但從設計跨越到融會貫通,就大概只有30%;再從融會貫通到形成方法論、到開創新領域,1%都不到。越到金字塔的頂層,人越少。想進階軟件工程師,就去努力學習,好好培養自己的能力吧。

    本文主要參考資料:《這就是軟件工程師》,來源于網絡、。


    精品人妻伦一二三区久久_日韩精品一区二区三区中文字幕_成人看片黄a免费看在线_亚洲中文字幕久久无码精品A

  • <wbr id="d259a"><table id="d259a"></table></wbr>
  • <i id="d259a"><bdo id="d259a"></bdo></i>
  • 日韩中文字幕v亚洲中文字幕 | 自拍视频一区二区三区在线 | 伊人久久大香线蕉综合爱首页 | 日韩免费码中文字幕在线 | 精品综合一区二区三区 | 了久久国产精品久久 |