沒有哪一套方法是適用于所有人的,這一套軟件工程師職業(yè)發(fā)展綱要,也不過是在你踽踽前行的路上,迷茫時(shí)可用來參考借鑒。你的核心競爭力,永遠(yuǎn)是你的自身實(shí)力。切記!
一、專業(yè)技能學(xué)習(xí)捷徑
1、愛上你的編碼神器
眾所周知,軟件工程師要做的工作就是寫代碼,準(zhǔn)確地說,你的目標(biāo)應(yīng)該是寫出滿足業(yè)務(wù)需求并且無法找出 Bug 的代碼,而不是寫一大堆沒用的文字。既然你的任務(wù)是寫出高質(zhì)量的代碼,那么你首先應(yīng)該訓(xùn)練的就是打字速度,你需要掌握鍵盤盲打技能,甚至還要愛上你的“編碼神器”,并做到將此工具的用法爛熟于心,閉上眼睛都能正確敲中你想要的快捷鍵。
2、熟悉底層技術(shù)原理
當(dāng)你完全駕馭了計(jì)算機(jī)的輸入設(shè)備以后,你需要進(jìn)一步了解計(jì)算機(jī)的內(nèi)部工作原理,不是讓你把機(jī)器大卸八塊,而是你需要全面了解計(jì)算機(jī)的組成結(jié)構(gòu)與工作原理。如果你不是計(jì)算機(jī)科班出生也沒關(guān)系,在網(wǎng)上買一本關(guān)于計(jì)算機(jī)組成原理的書自學(xué)即可。你無需做到精通,能全面了解即可,因?yàn)榻酉聛砟阈枰?a href="http://www.1cnz.cn/v/tag/1315/" target="_blank">編程的世界中,慢慢去體會(huì)計(jì)算機(jī)的工作感受,你就是計(jì)算機(jī)的管理者。
3、深入一門編程語言
好了,現(xiàn)在是時(shí)候?qū)W習(xí)一門編程語言了,最好的選擇是 Java,為什么呢?原因很簡單,因?yàn)槭袌鲂枨罅孔畲螅腋冶WC,你學(xué) Java 肯定比學(xué) PHP 更容易找到工作(希望 PHP 程序員們淡定一些,其實(shí)我始終認(rèn)為 PHP 是世界上最好的編程語言)。當(dāng)你在學(xué)習(xí) Java 時(shí),首先需要掌握它啰里吧嗦的編程語法,此時(shí)沒有什么比寫一個(gè)“Hello World”來得更爽快一些。隨后你需要深刻理解的是 Java 的面向?qū)ο蟾拍睿看挝艺f到面向?qū)ο螅倳?huì)被一些單身漢吐槽,其實(shí)我想說,對(duì)象是可以 new 出來的),這些概念看上去比較虛,但是它們卻能撐起一個(gè)強(qiáng)大的軟件架構(gòu)。所以,在面向?qū)ο蠹夹g(shù)上面花再多功夫都不為過,因?yàn)樗苡?xùn)練我們對(duì)業(yè)務(wù)的抽象能力,就像當(dāng)初我們學(xué)習(xí)數(shù)學(xué)一樣,它能訓(xùn)練我們的邏輯思維能力。
4、選擇一位對(duì)的老師
看書、看視頻、看源碼、看技術(shù)文檔,其實(shí)這些都是較為低效的學(xué)習(xí)方法,掌握編程技能的捷徑就是拜一位資深的程序員為師,你可以尊稱他為“碼神”,記得一定要把他伺候好,讓他愿意傳授一些編程技能給你,其實(shí)也就是一個(gè)微笑外加一頓小龍蝦的事情,他就能被你征服。一定要看他寫的代碼,思考為什么他會(huì)這樣寫,一定要將你不理解的地方記錄下來,并且在下班之前緊緊地抓住他,讓他一次給你講個(gè)夠,此時(shí)你一定會(huì)有一種打通任督二脈的暢快之感。所謂“師傅領(lǐng)進(jìn)門,修行在個(gè)人”,你需要比你師傅更加努力,甚至十倍于他人的付出,才能在編程之路上嘗到甜頭。此時(shí)你需要學(xué)習(xí)更加高深的武功,研究更加優(yōu)秀的源碼,實(shí)踐更有挑戰(zhàn)的項(xiàng)目,還需要花整塊時(shí)間,系統(tǒng)地看技術(shù)文檔以及技術(shù)參考書。假如你想成為架構(gòu)師,不妨看看我所著的《架構(gòu)探險(xiǎn)》這本書,也許它會(huì)對(duì)你的專業(yè)技能有所幫助。
5、樂于分享你的技能
你最好要讓自己變成一位豁達(dá)開朗之人,千萬不要吝嗇,一定要懂得分享你所學(xué)的專業(yè)技能。可以嘗試做點(diǎn)自己的開源項(xiàng)目,并讓這個(gè)開源項(xiàng)目變得更加開放,不妨結(jié)合開源,寫點(diǎn)技術(shù)博客,并厚著臉皮給你身邊的朋友閱讀。這件事情一定要持之以恒,不要擔(dān)心有人吐槽你,你肯定會(huì)被吐槽,那是因?yàn)榇蠹以陉P(guān)注你,此時(shí)你需要更加努力,讓自己變得足夠?qū)I(yè)。當(dāng)你成為真正的“大神”時(shí),就不會(huì)有人再吐槽你了,他們只會(huì)吐槽自己的技術(shù)不如你,此時(shí)你將得到的是無限的膜拜和稱贊。相信我,這絕不是奇跡。在學(xué)習(xí)專業(yè)技能之路上,多一點(diǎn)自信,多一點(diǎn)勤奮,多一點(diǎn)思考,再爭取一點(diǎn)機(jī)會(huì),你就會(huì)成功。
二、不可或缺的軟技能
1、軟技能 ≠ 務(wù)虛
如果將專業(yè)技能比喻為“硬技能”,那么在我們的職場中,與專業(yè)性無關(guān)的技能就可以歸納為“軟技能”了。但每當(dāng)我提到軟技能時(shí),難免會(huì)讓人誤解為這是“務(wù)虛”的一種功夫,我們雖然是“吃軟飯的”(做軟件開發(fā)的),但我們卻十分討厭虛偽。沒錯(cuò)!我也很厭惡虛偽之人,尤其是在職場中遇到這樣的人物,我從心底鄙視他們,但我從來不會(huì)和他們發(fā)生任何沖突,反而還能和他們愉快地共事,這種本領(lǐng)靠的就是軟技能。
軟件工程師每天都在和機(jī)器打交道,機(jī)器是沒有感情的,你告訴它是0,它一定不會(huì)認(rèn)為是1。但我們與人打交道卻不一樣,你告訴他是真,他卻可能認(rèn)為是假。與人打交道,正是軟件工程師們最為欠缺的方面,有些軟件工程師甚至害怕與人交流,害怕在公開場合講話,害怕拋頭露面,害怕做一些組織性的工作。如果你也有以上這些心里負(fù)擔(dān),那么恭喜你!因?yàn)槟慵磳谋疚闹姓业娇朔@些困難的靈丹妙藥,至少我希望是這樣。
需要強(qiáng)調(diào)的是,軟技能是一種職場必備的核心技能,我敢直言,如果缺乏這方面的技能,你的職業(yè)生涯將會(huì)變得非常糟糕。軟技能包括的方面非常廣泛,溝通、協(xié)調(diào)、組織、氣場這些都是最基本的軟技能,甚至情商也是一種軟技能,會(huì)不會(huì)講話,聽不聽得明白,這些都是軟技能。那么我們不妨先從溝通這項(xiàng)軟技能開始吧,因?yàn)槲艺J(rèn)為他是軟件工程師最重要的軟技能之一。
2、口語流利 ≠ 會(huì)溝通
很多人都容易將溝通理解為講話,說一個(gè)人語言很流利,很會(huì)講話,口若懸河,夸夸其談,其實(shí)并非他的溝通能力很強(qiáng)。我認(rèn)為,溝通可以理解為兩方面,即“溝”和“通”。“溝”指的是你將心中所想很清晰地表達(dá)出來給對(duì)方聽,考驗(yàn)的是你的表達(dá)能力;“通”指的是讓你確信對(duì)方是否真明白你所表達(dá)的意思,考驗(yàn)的是你的傾聽能力。所以,我們很多時(shí)候都是在“溝”,往往忽略了“通”,從而形成了“溝而不通”的情況,因此,現(xiàn)在全世界人民都在提倡如何“有效溝通”。還是用一個(gè)示例來說話吧。
當(dāng)領(lǐng)導(dǎo)交給你一項(xiàng)棘手的工作,但你不知道如何開始進(jìn)行這項(xiàng)工作,此時(shí)你應(yīng)該如何應(yīng)對(duì)當(dāng)前的挑戰(zhàn)呢?絕大多數(shù)人會(huì)硬著頭皮去做,他們希望通過自己的努力,可以順利完成任務(wù),但結(jié)果往往卻無法讓領(lǐng)導(dǎo)滿意。少數(shù)人會(huì)主動(dòng)向領(lǐng)導(dǎo)咨詢,以尋求領(lǐng)導(dǎo)對(duì)自己的幫助。此時(shí)應(yīng)該如何與領(lǐng)導(dǎo)對(duì)話呢?似乎并非很多人都清楚。下面這段話是我的套路,僅供參考。
我:勇哥(他是我的領(lǐng)導(dǎo)),最近我遇到了一點(diǎn)麻煩的事情,想聽聽您的看法(勾起領(lǐng)導(dǎo)的興趣,讓他認(rèn)真聽我說下去,記得一定要說“您”,而不是“你”)。
領(lǐng)導(dǎo):哦?說來聽聽(證明領(lǐng)導(dǎo)此時(shí)不忙,他有時(shí)間讓我占用,如果他此時(shí)很忙,你應(yīng)該能感受出來的)。
我:感謝您對(duì)我的信任,昨天您交給我一項(xiàng)任務(wù),回到家我一直都在想這項(xiàng)任務(wù),我在想……(一定要對(duì)領(lǐng)導(dǎo)表示感激,是他給了我這次鍛煉自己的機(jī)會(huì),并強(qiáng)調(diào)我是“回到家”都在思考,而不是只在在公司里思考,道理你懂的)
領(lǐng)導(dǎo):可能是我沒說清楚,你把這項(xiàng)任務(wù)想復(fù)雜了,其實(shí)……(可見這是一位 nice 的領(lǐng)導(dǎo),跟著他,你能學(xué)到很多東西)
我:我還想再清楚一下,您期待這項(xiàng)工作的結(jié)果是怎樣的?(一定要明確領(lǐng)導(dǎo)想要的結(jié)果,他只會(huì)為結(jié)果買單)
領(lǐng)導(dǎo):我希望……(領(lǐng)導(dǎo)娓娓道來,此處省略1萬字,你千萬不要打斷領(lǐng)導(dǎo)的講話,他講累了自然就會(huì)停,你只需要認(rèn)真聽他怎么講)
我:好的,我明白了,您希望我……(一定要學(xué)會(huì)復(fù)述領(lǐng)導(dǎo)講過的話,而且要用自己的理解來表達(dá),不要當(dāng)復(fù)讀機(jī))
領(lǐng)導(dǎo):沒錯(cuò),就是這樣。(領(lǐng)導(dǎo)表示認(rèn)可了,此時(shí)你應(yīng)該表示給領(lǐng)導(dǎo)一個(gè)微笑,讓他感到欣慰)
我:感謝勇哥!如果我在執(zhí)行過程中遇到問題,可以再向您請(qǐng)教嗎?(一定要感謝,而且要表現(xiàn)出虛心向領(lǐng)導(dǎo)請(qǐng)教,為下一次求救做好準(zhǔn)備)
領(lǐng)導(dǎo):當(dāng)然,隨時(shí)交流。(你真心拿他當(dāng)領(lǐng)導(dǎo),他才會(huì)無條件幫助你,你不懂得用好這位領(lǐng)導(dǎo),那是你自己的損失)
溝通是不是很有趣?其實(shí)溝通是一門學(xué)問,我們花一輩子時(shí)間都在學(xué)習(xí),都在改進(jìn)自己的溝通方式,目的僅為愉快地和身邊的人一起“玩耍”,讓此生感到愉悅。
當(dāng)你已經(jīng)掌握了必備的專業(yè)技能,也具備了讓你脫穎而出的軟技能,那么接下來你將思考的是自己該走那條路了,繼續(xù)做軟件工程師,還是做軟件工程師的 leader?下面這段話將告訴你答案。
三、正確制定職業(yè)路線
1、給自己提幾個(gè)問題
首先要澄清的是:我并非職業(yè)導(dǎo)師,更不是人生教父,所有的路都由你自己選擇,我的責(zé)任是告訴你,我認(rèn)為行之有效的方法。
當(dāng)你正走在職場的十字路口徘徊,思考走技術(shù),還是走管理?我的答案只有一個(gè):根據(jù)你自己的優(yōu)勢來決定。合理利用好自己的優(yōu)勢,會(huì)讓自己走的更加順暢,讓自己無怨無悔。還是舉一個(gè)例子來說明吧。
前段時(shí)間有位朋友在微信上私聊我,他也遇到了這個(gè)問題,繼續(xù)做技術(shù),還是轉(zhuǎn)管理?我當(dāng)時(shí)是這樣問他的,但我希望你可以用這樣的方式來問自己。
我:你工作多久了?
朋友:時(shí)間不長,寫了10年的代碼。
我:那相當(dāng)資深啊,現(xiàn)在還對(duì)寫代碼有激情嗎?
朋友:喜歡寫,周末有時(shí)都會(huì)宅在家里寫。
我:那你還在糾結(jié)什么呢?
朋友:我都工作10年了,身邊的人要么當(dāng) CTO,要么做總監(jiān),自己卻還在擼代碼,我現(xiàn)在到底該不該轉(zhuǎn)管理?
我:你為什么會(huì)考慮轉(zhuǎn)管理?說說你在管理上的優(yōu)勢吧。
朋友:我覺得自己對(duì)技術(shù)有一定深度,可以幫助團(tuán)隊(duì)解決一些技術(shù)難題。
我:如果你團(tuán)隊(duì)中有位小伙伴遇到一個(gè)很棘手的技術(shù)問題,沒轍了,你會(huì)做些什么?
朋友:擼起袖子,就地幫他解決掉。
我:建議你走技術(shù)專家路線,這條路也許更加適合你。
朋友:……
2、轉(zhuǎn)管理之前,先理解管理
當(dāng)我們?cè)诩m結(jié)是否應(yīng)該轉(zhuǎn)管理時(shí),不妨首先理解一下什么是管理?以及什么是管理者?只有當(dāng)我們正確理解了這些概念以后,再來思考自己是否具備這樣的特征,才能順利幫助自己轉(zhuǎn)型。
管理(management)是協(xié)調(diào)和監(jiān)督他人的工作,從而使他人的工作可以有效率且有成效地完成。效率(efficiency)指的是以盡可能少的投入,以獲得盡可能多的產(chǎn)出,效率常常被說成“正確地做事”,即不浪費(fèi)資源。成效(effectiveness)常常被稱為“做正確的事”,即做那些可以實(shí)現(xiàn)目標(biāo)的工作活動(dòng)。管理者(manager)就是完成所有管理工作,并使組織目標(biāo)能夠?qū)崿F(xiàn)的人。管理者的工作包括計(jì)劃(planning)、組織(organizing)、領(lǐng)導(dǎo)(leading)和控制(controlling)四種職能。
以上都是管理學(xué)告訴我們的知識(shí),如果你想成為一名管理者,那么你必須首先正確理解這些概念的真實(shí)含義,才能完全駕馭管理者的崗位,否則你會(huì)從管理崗位上摔下來,自己一定傷得不輕。
如果你想成為一名優(yōu)秀的管理者,那么你需要做些什么呢?
親自且專業(yè)地給團(tuán)隊(duì)激勵(lì)。
激勵(lì)團(tuán)隊(duì)完成你無法獨(dú)立完成的任務(wù)。
對(duì)問題提供指導(dǎo)和指引。
對(duì)團(tuán)隊(duì)的表現(xiàn)給予反饋。
幫助團(tuán)隊(duì)改善績效。
使團(tuán)隊(duì)對(duì)組織的改變知情。
改善團(tuán)隊(duì)小伙伴們的生活。
如果團(tuán)隊(duì)和你共事過,那么團(tuán)隊(duì)?wèi)?yīng)該覺得他們是幸運(yùn)的,因?yàn)槟隳軌蜃屗麄兏佑淇旌透咝У毓ぷ鳌?/p>
寫在最后
不論選擇技術(shù)還是管理,在任何時(shí)候都不要放棄你的硬技能,因?yàn)樗悄愕摹吧嬷尽保瑫r(shí)你也需要具備強(qiáng)大的軟技能,因?yàn)樗悄愕摹鞍l(fā)展之源”。
學(xué)習(xí)硬技能其實(shí)是有捷徑的,你無需一味地學(xué)習(xí)這些知識(shí)點(diǎn),更多的其實(shí)是與人交流以及加以應(yīng)用。軟技能其實(shí)是可以訓(xùn)練的,你只需抓住一切可以抓住的機(jī)會(huì),有意識(shí)地加以訓(xùn)練和反思,你就能悟出很多寶貴的經(jīng)驗(yàn)。軟件開發(fā)是一門藝術(shù),你需要能夠靜得下心,不斷地優(yōu)化和雕琢你的作品,因此你需要具備工匠精神。如果你想成為一名工匠領(lǐng)袖,那么你就應(yīng)該比他人思考得更多、更高、更深、更全面,你需要更多的軟技能。你只有認(rèn)識(shí)到自己的優(yōu)勢,才能正確地選擇自己的職業(yè)路線。
-
工程師
+關(guān)注
關(guān)注
59文章
1570瀏覽量
68514
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論