碁峰資訊

多數軟體開發人員發展個人職業生涯之初會犯幾個很大的錯誤,迄今為止,最大的錯誤是沒有把自己的軟體開發職涯視為企業來經營。你不該再欺騙自己,當你為了生存一頭栽進程式碼的世界裡,就跟中古世紀城鎮裡開打鐵舖的鐵匠沒什麼兩樣。雖然時代變了,多數人變成是在某家公司裡任職,但我們依舊擁有自己的能力和技藝,永遠都能隨時隨地重新開始。

這樣的思維對管理職涯來說非常關鍵,當你開始把自己視為一家企業,就能做出好的商業決策。人若習慣於領取一份固定的薪水,而薪水又與工作績效無關時,很容易就會陷入一種消極的心態。雖然在職業生涯的特定期間,我們確實是特定公司的員工,然而,重要的是別讓特定職務角色侷限了個人本身與職涯發展。

因此,最好的作法是把雇主當成你軟體開發事業裡的一名客戶。當然,你現在可能就只有一家客戶,所有收入也都來自於目前的雇主,但改以這樣的觀點來看你和雇主之間的關係,你的態度就會從原本對工作的無力和依賴,轉變為自主和自我導向。

如何從企業的角度思考?

讓我們先思考何謂企業組成。多數事業要成功都需要一些因素。首先,你要有一項產品或服務,這樣才能賺錢。所以請先思考:你打算要賣什麼?你的產品或服務是什麼?

身為軟體開發人員,你或許真的有一項數位產品可以銷售,但多數軟體開發人員銷售的是開發軟體的服務。從廣義的專有名詞來看,開發軟體涵蓋各種不同的活動和個人服務,但一般而言,軟體開發人員銷售的是自己的能力,就是以數位化的方式實現想法。

你所提供的服務就是創造軟體

想想身為一家企業你能提供什麼樣的產品或服務,只要改以這樣的方式思考,將明顯影響你檢視職涯的做法。企業會不斷修改產品,並且對其加以改善,你也應該仿效這樣的做法。身為軟體開發人員,你所提供的服務確實有其存在的價值,你的工作不僅是傳達服務本身的價值,還要使其與眾不同,不同於其他成千上萬軟體開發人員所提供的服務。

這會牽扯到行銷,重要的是,你至少要意識到只有產品或服務還不夠,如果你想賺錢,就要讓潛在顧客實際了解你的產品或服務。全世界的公司都了解這項關鍵的企業真理,所以他們投入大量金錢與精力在做行銷。既然軟體開發人員是提供自己的服務,當然也必須關心行銷。越能好好行銷你所提供的服務,就能收取越高的費用,吸引越多潛在的顧客。

你可以想像得到,絕大多數軟體開發人員開始發展職業生涯時,並不是採取這種思考方式。沒有雄心壯志的一聲巨響,反而讓自己變成沒沒無聞,請不要陷於這樣的困境之中。

反而應該讓自己:

■ 專注於你所提供的服務,並且了解如何行銷這項服務。

■ 思考你能改善服務的方式。

■ 思考你是否能專為某個特定類型的客戶或產業提供服務。

■ 專注於成為專家,提供一套非常專門的服務給特定類型的客戶。(切記,軟體開發人員要找到一份好工作,真的只需要先找到一位好客戶。)

還要思考如何以更好的方式宣傳你的服務,進而找到顧客。多數軟體開發人員的做法,就是先寫好一份履歷,然後旋風式地丟給一堆企業和人力資源公司。當你把自己的職涯看成一家企業,真的會認為這是最好的做法嗎?這樣真的有希望找到潛在的客戶嗎?顯然你也不認為這是個好的方式。最成功的公司會想辦法讓顧客自動來買他們的產品,而不是自己出去追著顧客推銷。

思考未來:設定目標

既然你已經開始把自己的軟體開發職涯視為一家企業來經營,接著就要為這家企業設定目標。每個人的目標當然不盡相同,你的職涯目標可能和我截然不同,但不管你想實現什麼目標,首要之務當然是先釐清目標是什麼。確實,說的比做得容易。我發現多數人都隨波逐流(其中當然也包含軟體開發人員),沒有具體意識到自己的人生目標或嘗試想達成的事。其實對大部分的人來說這是天性,多數人對於要把焦點放在哪,往往沒有足夠的想法,最終就造成自己的行動缺乏目的或方向。

請思考一下,假設你正駕駛一艘船,航行於汪洋之中,跟多數人一樣,你在船上揚起風帆,但如果沒有明確的目的地,就無法決定船要駛往哪個方向,最後只能在海上漫無目的地漂流。或許最終船會駛向偶然發現的島嶼或其他陸地,但除非你決定好要往哪個目的地,否則永遠無法有腳踏實地的進展。一旦你知道自己的目的地,才能利用所有你能掌握的工具,積極地將船駛向前往目的地的方向。

很明顯地,很少有軟體開發人員會定義自己的職涯目標。為什麼?雖然我也是猜測,但我想絕大多數的軟體開發人員都害怕為自己的職涯規劃長遠的願景。他們希望自己擁有各種選擇,害怕如果選擇其中一條路走下去,就再也不能回頭。萬一走錯路了,該怎麼辦?萬一這不是我喜歡的方向,又該怎麼辦?這些確實都是令人害怕的問題。

有些開發人員連一丁點的想法都沒有,抱著自生自滅的心態,往往只選擇眼前已經規劃好的道路。因為要開創自己的道路很艱難,所以人的天性會傾向於逃避,選擇做第一份能獲得薪水的工作。

不管你尚未替職涯定好目標的理由是什麼,現在正是你起而行的最佳時機。沒有明確的方向,你所前進的每一步都是浪費。

我曾立下一個大目標──減重一百磅。我為自己設定的小目標是每兩週減掉五磅,所以每兩週我就能達成一個小目標,讓自己逐步朝大目標邁進。

如果你持續推動各個小目標,就能逐步驅動自己朝大目標的方向前進,最終到達你所設定的目的地。重要的是,有各種大小的目標,才能引導你找出大目標的方向。例如,你制定了年度的讀書計畫,預定要閱讀許多技術書籍,或學習新的程式語言。年度目標會由許多小目標組成,引領你朝向更大的目標「成為資深開發人員」;也就是說,這個年度目標可能會拆成幾個更小的閱讀目標,像每個月閱讀一本書,或每天進行一些預定的進度。

小目標能讓你保持在正軌上,並且持續激勵自己朝更大的目標前進。如果你一開始就立志要完成大目標,卻沒有設定過程中要完成的小目標,當你發生脫離正軌的情況時,最終可能會沒有時間修正錯誤,導回正軌。此外,小目標還能經常給予我們獎勵,激勵我們實現目標。每天、每週的小勝利會讓我們覺得自己有進度,正在完成一些事,使自己感覺良好而且心情愉快,進而激勵我們持續向前。

如果你沒有花太多時間思考未來,甚至連一個清楚、明確想致力達成的目標都沒有,那麼請先為自己定義一些目標吧。我知道這不容易,但你一定會很高興自己這麼做了。(摘錄整理自《Soft Skills軟實力》)

 書籍資訊 

Soft Skills軟實力

軟體開發人員的生存手冊

John Z. Sonmez/著;黃詩涵/譯

碁峰資訊出版

售價:520元

 作者簡介 

John Sonmez

John Sonmez 為網站「Simple Programmer」的創辦人,他藉由這個網站努力地追求自己的想法──將複雜的問題轉化成簡單的解決方案。他也為線上培訓資源Pluralsight,提供超過五十項以上的開發人員課程,主題涵蓋iOS、Android、.NET、Java以及遊戲開發。

熱門新聞

Advertisement