了解自己
與很多人的看法不同,所有的程序員都是不一樣的。了解您是哪一種類型的程序員對找到合適的工作是很關鍵的。盡管您也許能完成許多不同類型的編程 任務,但您對這些任務的興趣卻是不同的。做并非真正喜歡的事情在短時間內是可以的,但對于需要長時間持續做的事情,您需要有興趣,對所做的事情感到興奮。 最好的程序員對他們的工作充滿激情,對于興趣一般的事情,您是不會真正產生激情的。
如果您不能確定自己是否喜歡,可以問自己以下問題:
■您是一名系統程序員還是一名應用程序員?
系統程序員與保持計算機系統運行的代碼打交道,這些代碼包括框架、工具、編譯器、驅動程序、服務器等。另一些程序員是他們自己的主要聽眾,他們 很少與非程序員打交道。應用程序開發者與此不同,他們所編寫的程序被非程序員用來完成其工作,他
■您是一名架構師還是一名編碼人員?
每一個編碼職位都需要某方面的設計能力,但 某些工作比其他工作更需要設計能力。如果您喜歡設計甚于喜歡編碼,軟件架構師的職位可能更有吸引力。 也就是說,架構師的職位可能涉及許多與他人的互動,較少涉及編碼或根本不涉及編碼,盡管您需要很好地理解如何進行編碼才能有效地進行架構設計。除非您接受 軟件架構方面的正規培訓,否則成為一名架構師的一般途徑就是先參加編碼工作,然后展示出您在設計和項目各部分集成方面的才能。
■您喜歡測試嗎?
測試也稱為品質保證,或縮寫為QA,常常遭到缺乏經驗的程序員的詆毀,但那些有經驗的程序員非常看重獨立測試的價值。好的測試人員很難找到。編寫工具和自動化的測試用例常常需要編程技能。
前面這些問題涉及您對哪一種類型的工作感興趣,下面的問題與編程無關,但也是需要考慮的:
■您對管理有興趣嗎?
某些程序員的長期目標是成為一名經理,但另一些程序員對這個想法會產生恐懼。但如果您的目標是成為管理者,就需要培養自己的領導才能,并展示出 您在處理技術問題的同時,也能夠管理軟件開發中“人”的問題。如果您的目標不是成為管理者,請尋找那些提供良好的技術職業發展途徑的公司,這樣在提升時就 不需要被迫去管理人。
■您想為小公司工作嗎?
薪水可能少一些,但隨著公司的發展和成功,從底層進入一個新公司肯定對將來有好處(可能會帶來相當大的報酬)。當然,不好的一面是大部分新的嘗試都會失敗,您可能在一兩年內失去這份工作。
■您想為大公司工作嗎?
在大的公司中工作既有好的一面也有不利的一面。例如,大的公司通常能夠提供更大的工作穩定性,以及某種類型的職業發展途徑。它也可能擁有非技術人員知道的品牌。但在另一方面,您也可能對大公司中常常發生的繁文縟節、要求嚴格和公司內部斗爭感到窒息。
■您更喜歡開放源碼項目嗎?
絕大部分編程工作通常都涉及知識產權,封閉源代碼的項目,某些程序員是反對這一點的。現在有一些向更開放的軟件開發轉變的傾向,為像您這樣的人提供了更多的機會,可以參與開放源碼項目并同時獲得報酬。
■您希望參加長期的項目還是短期的項目?
某些程序員渴望改變,最多在每個項目上花上幾個月的時間。如果您喜歡短期的項目,而且不介意出差,那么成為一名咨詢公司的雇員可能比成為一名傳 統公司的雇員要更好一些。重要的是您必須明白,這些問題沒有標準答案,沒有正確或錯誤的答題方式。但是,您在這些問題上對自己越誠實,就越有可能找到真正 喜歡的編程工作。
上一篇 偉大的程序員是怎樣煉成的?
下一篇 做java程序員有出息嗎