天天看點

如何成為專業的軟體開發人員1.你是哪類軟體開發人員2. 如何成為專業人士3.總結

上一篇:https://blog.csdn.net/weixin_42523774/article/details/104085835

· 本文是分享《軟技能:代碼之外的生存指南》一書中,對我印象深刻内容和讀書心得的第二篇。我可以毫無疑問的說,這本書改變了我對自己職業生涯的看法,給我撥開前方的層層迷霧,指引着我職業生涯的正确方向。

· 今天分享的就是,這本書中的職業生涯的第二篇——如何成為專業的軟體開發人員。

1.你是哪類軟體開發人員

1.1 專業化很重要

· 有大量的軟體開發人員并沒有具體的專業方向。事實上,大部分軟體開發人員完全以自己使用的程式設計語言來定義自己的專業性。

· 這種專業分工太寬泛了,并不足以說明你能勝任哪種類型的軟體開發工作。

· 你也可能會害怕專攻軟體開發的某一領域,擔心自己陷入很窄的專業領域,進而與其他的工作和機會絕緣。雖然專業化确實會把你關在一些機會的大門之外,但與此同時它将打開的機會大門要比你用其他方式打開的多得多。

· 從表面上看,身為 “ 專才 ” 後,潛在雇主和客戶群都變小了,但是實際上你對他們更具吸引力了。隻要你專業能力雄厚,市場沒有過渡飽和,與那些自稱為 “ 軟體開發人員 ” 的人相比,你能更輕松地找到工作或者赢得客戶。

· 假設你正在你所在地尋求一份工作,并且你是一個 Java 開發人員。很多大都市對 Java 開發人員都有相當大的需求,是以開始的時候你會擁有一個很棒的大水池 —— 你可以得到很多工作機會。但其實你并不需要所有的這些工作機會,隻要一個就夠了。

· 假設你所在的地區目前有500個Java相關工作機會,而Java web方向還有250個工作機會,而更專業一點,你選擇專攻了Java web 開發棧為方向,這可能讓你的工作機會降為了50個。雖然相比于500個工作機會,你的潛在工作機會的數量變少了,但是你獲得這50個工作機會的機率增加了。

1.2 你的專業類别

· 軟體開發人員有很多不同的專業分類。比較明顯的分類方法是按照開發語言分類和按照平台分類,但是也可以按照方法論分類、按照技術或業務種類分類。

· 首先你得弄清楚一件事,自己想從事哪類軟體開發工作。你是想做應用程式的前端開發,設計和實作使用者界面,想做應用程式的中間件開發,實作業務規則和邏輯,還是想做應用程式的後端資料庫或底層操作開發?你甚至可以做到三者通吃,成為傳說中的 “ 全棧開發人員 ” ;但是在這種情況下,你還是應該專注于某一特定的技術棧。(例如,一位 Web 網站全棧開發者可能使用 C# 和 SQL Server 專門建立 ASP.NET MVC 網站。)

· 這幾歸納了幾種專業領域:

  • Web 開發棧
  • 嵌入式系統
  • 特定的作業系統
  • 移動開發
  • 架構
  • 軟體系統

1.3 選擇你的專業

這裡有一些技巧來幫你選擇自己的專業。就是依據是否目前是否有此種需求存在。

  • 在你現在或以前工作的公司裡,有哪些主要的痛點?你能成為一名專門解決這些痛點的專家嗎?
  • 有沒有一種特定的工作是無人能做,或者缺乏經驗豐富的人?成為這個領域的專家,你就會獲得大量業務。
  • 在各種會議上和使用者組中哪些話題最常出現?
  • 哪類問題你回複的最多,無論是針對同僚還是在csdn這樣的網站上?

· 無論你做什麼,首先確定你標明了某些專業方向。市場規模決定了你的方向有多麼具體,是以一定要讓它盡可能地具體。你會在這個細分市場上更搶手。别擔心,如果你需要,随時可以改變你的專業方向。

1.4 精通多種語言的程式員該怎麼辦

· 即使我推薦走 “ 專業化 ” 道路,也不代表我認為你不應該同時具備廣泛的技能。

· 這二者看起來似乎是沖突的,其實并非如此。做一個技術全面、多才多藝的軟體開發人員非常棒。能夠使用多項技術和多種程式設計語言,有助于你的職業發展,能讓你比那些僅了解一項技術或一種程式設計語言的軟體開發人員更有價值。然而,這種 “ 萬金油 ” 式的人才在市場上并不吃香。

· 學富五車,或者靈活變通并同時仍有所專長讓自己卓爾不群。如果你非要二選一,那先從專業化開始,再拓展分支。(先成為某一領域的專業人士,然後在拓展其他的領域。)

2. 如何成為專業人士

· 前面說的專業化是如何做事,這一節講的專業化是如何做人。

· 成為專業人士的全部在于:引人注目,恪盡職守,以及不屈服于挫折。成為專業人士,需要你克服自身的缺點,靜下心來作出盡可能最好的作品。

2.1 什麼是專業人士

· 簡而言之,專業人士會嚴肅對待自己的責任和事業,願意作出艱難的選擇去做自己認為是正确的事情 —— 往往還要自己承擔代價。

· 專業人士是我們都應該去努力的目标。專業人士是可以依靠的人,他們恪盡職守,精益求精,也不曲意逢迎。專業人士會讓你知道什麼事情是不可能的,什麼路徑是錯誤的。

· 專業人士不可能事事皆通,但他一定會潛心鑽研匠藝,旨在錘煉自己的技能。專業人士會坦承自己不知道答案,但是你可以信賴他會找到答案。

· 專業人士最重要的一點,也許就是持續穩定。專業人士為自己的工作設定了很高的品質标準,你可以期待他每一天都持之以恒地堅守标準。

· 下表中列出了專業人士和外行的差異:

專業人士 外行
遵守自己的原則 讓幹什麼就幹什麼
專注于正确完成工作 專注于完成工作
不懼怕承認自己錯了,不會文過飾非 不懂裝懂
持續穩定 無法預測,不可靠
用于承擔責任 回避責任

2.2 成為專業人士

· 如果想成為一名專業人士,你需要培養自己的專業習慣。

· 例如在“每日站立會議” 提前寫好要說的内容。而不是像我們大多數人那樣開會時随口說。這是專業開發人員要養成的習慣。

· 另一個強大的習慣是時間管理技能。每天提前做好計劃,就能養成有效管理時間的習慣。專業人士知道每天必須要做什麼工作,并且能估算出每項工作大約要花多長時間。

· 這隻是對于成為專業的軟體開發人員至關重要的習慣的兩個例子。為了達到自己在工作中所需的專業化水準,你得明确自己要養成哪種習慣。

2.3 堅守正道

· 一位專業人士需要知道在什麼時候說 “ 不 ” ,即使是面對自己的老闆。因為,正如 Bob Martin 所說,專業人士有着不可逾越的底線。有時,堅守底線甚至意味着被炒鱿魚,但這就是你被稱為 “ 專業人士 ” 要付出的代價。短期内,這可能是痛苦的,但如果你能持之以恒地選擇堅守正道,那麼與選擇其他路線相比,你的職業生涯會得到更大的回報,并且你也能睡個好覺。

· 有時候,專業人士必須對工作的優先級做出艱難的抉擇。不專業的開發人員經常浪費時間去畫蛇添足,因為他們要麼不能确定下一步要做什麼,要麼他們得一直讓别人來幫自己設定工作的優先級。專業人士會評估需要完成的工作,判定優先級後再開始工作。

2.4 追求品質,完善自我

· 作為一位專業人士,你必須不斷改善和提高自己的工作品質。你或許不能一直達到自己期望的工作品質,但随着時間的推移,持之以恒地堅持下,你終究會達到自己設定的标準。許多軟體開發人員犯的一個巨大錯誤就是,當無法達到标準時,他們不是完善自己、迎接挑戰,而是降低标準。

3.總結

· 本文介紹了如何在專業化的道路上穩步前行。還介紹了如何成為專業人士。成為專業的軟體開發人員是多麼重要,而成為專業人士,則需要堅守底線,養成習慣,提升品質。需積跬步,以緻千裡。從專業化,到專業人士,最後成為專家。

下一篇:https://blog.csdn.net/weixin_42523774/article/details/104085852

繼續閱讀