中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

程序員不同階段的使命感

發布時間:2020-07-23 13:11:13 來源:網絡 閱讀:174 作者:sxt程序猿 欄目:編程語言

 我們現在工作的軟件開發行業很奇怪。明明每年都有新的從業人員涌入人才市場,但企業依舊訴苦自己迫切需要大量的開發。這種問題已經存在已久。
  軟件開發者這個行業非常年輕,也面臨著很嚴重的人才短缺問題。大部分的軟件開發項目無疾而終的原因是后期開支過于龐大。

  那些行業里的大佬是怎么建議我們的,他們說「世界上永遠存在解決問題的辦法,但我們還是會遇到各種難題。因為除非我們真正去嘗試解決,否則永遠不知道哪種方法奏效。」

  認識一個現實吧,當你從事開發工作三年以上,就可以稱呼自己為「高級開發者」。但實際上,有些人只是在這個位置上混三年,而他們只是虛有其表,水平嚴重不符合職位。

  一、開發者的高速成長期:

  身為一個程序員,我們生活在一個 IT 系統越發復雜且多變化的時代。有時候執行一個簡單的開源項目,都需要精準定義并耗費大量時間專注任務。尤其是當你身為一個新晉程序員,或者對手下的數據庫還很陌生的時候。

  菜鳥程序員很難當。你可能剛從一個還不錯的大學畢業,你覺得你已經掌握了基本的常識。但突然間,你在工作上面臨的是另一套嶄新的知識。在很長時間內,你都對自己所要做的工作沒有任何頭緒。而對于上司提出的要求,你似乎只能妥協,而且沒辦法作出有效質疑。

  在這個階段,你必須要做的是專注。而且盡可能地放開心胸,去努力學習。初級開發者在工作之初,需要大量的練習,指導、監管,以及需要一個能幫助他們的老師。缺乏以上的任何條件,初級開發者都很難很難邁過這個初學者門檻。

  你可以說這個階段,是戰略上的積累狀態,但就是要學習加積累,積累再學習,缺一不可。

  初級開發者必須要專注代碼本身,在這個階段,不要分心想任何其他亂七八糟的事情。在開發一個項目時,如果身為程序員想的是「我想讓自己的代碼在別人眼里看起來漂漂亮亮的」,而不是「我做的東西應該以用戶感受第一」,那么他本身就是一個初級開發。

  二、中級開發者的瓶頸期間

  當一個開發者脫離菜鳥階段成長為中級開發者時,他們能夠在項目失敗時反省整個過程(通常,他們會看自己所做工作部分)。而且會意識到,比起匆匆忙忙埋頭苦干完成任務,應該在項目最初就建立起一些規矩。甚至于如果最開始有人指正他們,整個項目就能在最初避免走向失敗。

  而中級開發者還會體驗另一個獨特心理過程,那就是當他們回首一年前的工作。發現盡管當時認為「哎呦,自己做的還不錯」,但現在會發現「這都什么玩意」啊。

  一個中級開發者是有能力通過以往經驗、文本資料、項目團隊討論等方式,摸索出「正確方法」做事的人。在這個階段,學習構建軟件的理論比學習構建代碼更重要。

  另一方面,中級開發者假如自作主張起來,造成的危害比初級開發者更大。初級開發者只會堆砌算法,一個好的中級開發者努力方向是「模式設計」和「范疇驅動設計」。這些技能是他們搭造 OO 系統的必備過程,學習完這些理論知識如果靈活運用,可以讓他們更好地構造項目。但如果僵硬使用,也會危害整個項目。

  有的時候,讓一名中級開發者搭造系統,他耗費的時間可能比初級開發者更長,而且更糟的情況是他可能帶整個團隊走向迷途。很可悲的是,很多項目開發之所以走向失敗,因為領隊者自己只是一個中級開發者,他們缺乏和高級開發者工作的珍貴經驗。團隊領導自己,而且團隊里其他人都沒有意識到這點。

  中級開發者很清楚自己在團隊中起到的角色,能認識到他們給團隊工作帶來的價值。一個好的中級開發者知道代碼是用來解決問題的,而不是用來終結問題的。然而,中級開發者總容易陷入一種認知上的金字塔,那就是他們會遵循一些「正確的方式」去解決問題。

  三、高級,甚至是大神開發者需要滿足的條件

  一個高級開發者,不夸張地說,他能記住自己每次的錯誤。他們甚至能在設計或者編寫代碼的時候,就能預見到很多失敗。他們會對錯誤進行非常敏銳地反饋,用一種誠實的方法去評估自己的成功和失敗。身為高級開發者,他會更傾向于熱愛復雜問題,但會癡迷于簡潔地解決它。

  高級開發者不會給其他開發者劃分等級。與之相比,他更多的是懂得。因為懂得,所以理解每個人在每個階段都有長處和短處。而他們也比別人更了解自己的長處和短處,力求把自己的優勢最大化。

  一個高級開發者會懂得,所有理論基礎都有背景支持。他們不會執著于「對的方式」去搭造軟件,而是把理論靈活運用于實際,理論可以變通用于為客戶、團隊和組織需要服務的工具。

  高級開發者會在項目過程中,設身處地了解客戶想要什么樣的工作結果,以及他們的喜好。畢竟這些東西,比開發者個人的偏好和成功更重要。他們永遠不會說「那不是我的工作」,也永遠不會推搡任務和責任。

  資深開發者會懂得一件事,那就是他們的工作是為了客戶提供解決方案,而不是埋頭寫代碼。而一位資深開發者永遠會把自己團隊能給顧客帶來多少價值放在考核標準。而不是把自己的努力和客戶需求放在對等的 PK 賽場里。

  誠然,因為這是一份工作,所以中間的過程總會非常枯燥和無聊。但資深開發者會退一步,思考怎么能解決和打破這些無聊的問題。他們會評估本源問題,直接解決它。或者他們會把枯燥情緒放在旁邊,修復日常必須要面對的問題。

  資深開發者也會懂得團隊工作的高效。沒有人能自己做一切工作,他們會致力于提升自己團隊的效率。他們把提高團隊效率所做的行為,視為提高自己軟實力的一部分。

  如果你的團隊中缺乏高級開發者,那這個項目基本都無一例外走向失敗。擁有中級開發者能讓你做事情非常快,但是在工作中你會發現,項目不僅僅只是搭造和維護程序。最終你只能關閉網站,或者用比預期中更高昂的價格維護它。只有高級開發者能選擇技術和網站,而不是任由他們來傷害你。

  很多需求很簡單,但大多數簡單需求后面,隱藏更復雜的需求。

  最重要的是,我們行業里需要新鮮的血液,需要招收那些剛從大學畢業充滿激情的年輕人。而即使給程序員劃分種類,也不可僅僅只看工作經驗。實際上我們招收程序員前,應該先思考團隊都需要那些人才。畢竟,我們招收的人才是為團隊服務。招聘到錯誤的人選,不過是給團隊和項目幫倒忙。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

陕西省| 柳河县| 凤翔县| 新河县| 内丘县| 宁德市| 南康市| 九台市| 赤城县| 开江县| 南平市| 蛟河市| 雅江县| 三河市| 黄浦区| 南昌市| 大姚县| 泾川县| 且末县| 江源县| 衢州市| 伊春市| 洞头县| 左云县| 清流县| 客服| 银川市| 阿瓦提县| 合作市| 余干县| 南岸区| 襄樊市| 大城县| 淅川县| 应用必备| 钟祥市| 浑源县| 韶山市| 文安县| 廉江市| 延长县|