回顧我的職業生涯(其實我還沒那么老,不過入行確實不少年了),確實有幾次人生拐點幫我更具職場智慧,并鞭策我成為軟件工程師或程序員,成為那種要么熱衷于提高自己的技藝,要么對混入管理層有興趣,要么只是簡單的期望擴大自己的知識面的人。我意識到,鑒于每個人目前的工作情況,有些建議可能并不適合于每一個人,尤其是假如你工作在一家對“誰可以和客戶談話”這種事都作出嚴格定義的公司的話。所以如果你現在做不到全部這些,也不必煩惱。也要注意,有時,你需要的只是開口去問!
貢獻到一個可行的開源項目
除非你與世隔絕,否則一定聽過開源項目,也許你已經在Github或SourceForge上有一些小型的開源項目了。所有這些都是好的,但是我所說的“viable open source” 是指應當嘗試在一個項目中做出重大意義的貢獻,你的代碼必須是通過審批的流程,如果被接受,將會在很多系統的系統中被應用到。你能從共享開源項目中學到的東西非常多。就我個人而言,它意味著:寫更好的代碼,更高效的溝通,有利的條件獲得更多的工作機會,更高的報酬,更多的贊譽,更多了解其他觀點和讓自己有更厚的臉皮。最后一點,是說,你的代碼在某些情況下會受到詳細檢查和批評。開源項目只是一個軟件,并不是你一個人的(假設你即使遇到了一個很好的項目,請盡力將自己和項目區分開)。所以把接受批評當作是一個學習的機會,并將事情做得更好而不是令自己生氣。不過這不容易做到,我自己有時也會與這種事情斗爭,但是我知道如果不去想這些代碼去誰寫的,這些代碼(和我)都能越來越好,而這才是最重要的。
參與開源項目者還有一個額外的優勢,從雇主的角度看,我會更容易雇傭一些在能在生產環境上找到他們提交代碼記錄的人。對于技能差不多的候選人,任何時候,我都會他們當中選擇開源項目貢獻者。
銷售你的軟件
是的,我從字面上的意思是你應該去做電話銷售,如果可能的話。換句話說,我認為你應該將自己放到極客的位置,時時的為他人用英語解釋明白你在做什么,而不僅僅是你的同伴。如果你都不能解釋清楚你做的是什么,其他人怎么能去購買它吶?
做前期銷售對我來說是一個非常寶貴的事,因為需要一個真實的、存在的、活生生的客戶站在面前,可以為他們解釋為什么他們應該購買我的軟件。在開始的幾次,我做到了,我非常緊張(毫無疑問的事實就是我的工作起步階段,我們也在嘗試做得更好),但是我通過了, 得到了一些鍛煉,得到了一些提升。
賣你寫的軟件會給你真正的觀點你正在構建什么和為什么構建, 它還能讓你接觸到大量的使用案例和真實反饋,什么是好,什么是壞。它也將磨練你,同事也會帶給你信心。你還可以得到更多的使用你寫的軟件而改善他們生活的人的尊重,另外,當代碼不正確時你也會是第一個感受痛苦的人,這也會使你希望自己寫出更好的測試代碼。最后,從長遠來說,它幫你看得更遠。
支持你的軟件
銷售你的軟件之后的另一件事就是支持它。找到一種你能工作在第一線的支持方式,或者至少參與到支持工作中,來使自己能夠真切的體驗到人們使用你的軟件的各種方式:好的、不好的、甚至丑陋的方式。錯誤報告和升級是一方面,直接從客戶聽取意見則是另一回事。除了需要社交技巧,你也需要能夠迅速的進入用戶的使用場景,了解他們看待你的代碼的方式,這將進一步告訴你哪些你做的很好,哪些你還需要改進。這也意味著要知道哪些該說哪些不該說,因為這是你和付費客戶打交道時要把握的分寸。伴隨著銷售,也會帶給你一個新的欣喜,即之前開發階段的辛勤工作沒有白費,它很好的支撐著軟件支持階段的工作。
寫/培訓與你軟件相關的內容
如果你還沒有弄明白我的意思,我將會解釋清楚一點:我十分重視那些不單單能寫代碼并且在公司內部和向公司外部人員解釋那些代碼是什么和為什么這樣寫的工程師。通過撰寫和培訓軟件相關的內容,你必須簡明、清晰地解釋復雜的技術細節。也需要經常強調那些從用戶的角度看是不對的地方。我說不出多少次在寫文章和培訓的過程中發現功能或特性不是十分正確,從而回去修改代碼。這種情況在API設計的過程中更加經常發生。
寫作也可以增加你的曝光并帶給你更廣的觀眾群體,從而得到反饋并令你的作品更上一層樓。有很多,很多的機會可以去為網站或出版社撰寫技術的文章。學著去推銷你的想法(看,你又在銷售了!)并堅持下去,下一步你就會發現你將會成為一名合格的作者并有可能從中獲得回報。
結交一些新朋友
也許對我來說,在學習和機遇兩個方面最大的一種變革力量,就是我對擴展自己人際網絡的明確努力 。當然這并不容易,而且這肯定涉及要“使你自己身心投入其中”,但回報經常是極為顯著的,而且以事后所見,其中的風險非常小。
如果在你直接接觸范圍之外沒有太多的人際網絡,我給你一些建議。首先最重要的,人際網絡的關鍵是你必須真誠的與新朋友會面,而且你必須除了這個新的關系之外別無所求。其次,許下承諾去維持這樣的努力數月乃至更久。當你獲得更多的自信并從任何失誤中獲得經驗之后,這將變得越來越容易。第三,做你自己,但要注重傾聽他人。第四,這也是我最弱的方面,獲知并記憶名字。我很少忘記一張臉,但如果我不努力去學習別人的名字,這些名字就會在我腦中溜走,所以記住別人的名字,讓別人知道你看重他們。
除了這些技巧,還有許多關于這個主題的好書。我最喜歡的有一本“愛是殺手锏”。就我看來,這是一個做作的標題,但書中的建議都是干貨,而且作者很好的將它呈現了出來。在每天結束時,讓你自己沉浸其中,從你獲得的實際反饋中學習。如果你發現自己被太多次拒絕,問問一位信任的朋友,讓他給你在何處改進的真實意見。如果有困惑,找別的朋友討論。
額外建議: 找到導師
有可能你已經知道一些令你尊敬的人物,他們擁有解決復雜問題和高效溝通的能力。如果他們愿意與你分享他們的經驗,并給你改進方法的反饋,那么自然有了勝算。從他們的經驗和教訓中學習,對他們的建議保持開放的態度。雖然它不會總是正確,但你至少應該考慮一下他們說的是什么,之后再做出決定。就我個人來說,我很幸運擁有一個朋友,他也是一個高管教練(我們意外的相遇,證明了使自己投入某事的價值)和一家企業所有者。在好多年里,我也遇到許多好老板和好同事,他們充當了我的人生導師,我對他們感激不盡。在開始以前,問問自己最敬佩誰,然后去和他們討論你的想法。如果你找不到可以勝任此角色的朋友,甚至可以考慮雇傭一位教練。
完結
請記住,所有這些事情是你可以在這里和那里周期性的做。 他們通常并不需要很大的時間或貨幣的承諾,但他們確實需要你走出你的安樂窩。
最后,我很高興聽到一些程序員/工程師做這些事之后,確實改善了他們的職業/生活。你工作是什么?哪些工作沒有起到作用?
-
軟件工程師
+關注
關注
8文章
218瀏覽量
21136
發布評論請先 登錄
相關推薦
評論