【廣告】
本文將覆蓋以下內(nèi)容:如何盡力做好面試如何在軟件工程師的角色中生存(及發(fā)展)考慮持續(xù)改進(jìn)時(shí)可以參考的資源 面試
當(dāng)你開始軟件工程職業(yè)生涯時(shí),你得面對(duì)一個(gè)無可爭(zhēng)議的事實(shí)。面試很惡心。
參與其中的每個(gè)人都覺得很惡心。既被人面試過又面試過別人的我可以證明,面試是一項(xiàng)極其耗時(shí)、極其有壓力的工作,并且面試其實(shí)并不是將來工作表現(xiàn)一個(gè)的好的指示器。但不管怎樣,這都是一個(gè)必要之惡,你和你的簡(jiǎn)歷很好還是做好準(zhǔn)備為妥。
賦予自身額外優(yōu)勢(shì)
為了讓自己取得那點(diǎn)額外優(yōu)勢(shì),有幾件事情你可以去做。
首先,學(xué)會(huì)如何溝通你的經(jīng)驗(yàn)。你應(yīng)該進(jìn)行一次電梯演講來將你的簡(jiǎn)歷總結(jié)成連貫的、打動(dòng)人的個(gè)人介紹。
此外,要了解自己的簡(jiǎn)歷!聽起來很蠢是吧,但我就見過很多面試者連解釋清楚自己簡(jiǎn)歷上的特定事項(xiàng)都很困難。你應(yīng)該能夠回答任何有關(guān)你列上簡(jiǎn)歷的經(jīng)歷方面的問題,并且解釋清楚這一經(jīng)歷如何讓你成為本工作更好的候選人。
接著,要在 GitHub(或者其他的公共代碼庫(kù))上面有一些編碼的例子。
眼見為實(shí),面試官能夠看到你的代碼將創(chuàng)造奇跡。此外,這還證明了你對(duì)版本控制系統(tǒng)有了解。
你的代碼例子不需要太復(fù)雜,但是一定要整潔,能夠顯示出好的編碼實(shí)踐。這是你展示自己在沒有編碼面試所帶來的時(shí)間壓力情況下代碼寫得如何的機(jī)會(huì)。
一旦你做完了上面的事情后,就得考慮參與一個(gè)開源項(xiàng)目了。參加開源項(xiàng)目能表明你能夠在已有代碼庫(kù)基礎(chǔ)上工作并且可以與其他程序員一些協(xié)作。
這是你在無需實(shí)際進(jìn)入一個(gè)行業(yè)環(huán)境的情況下接近在行業(yè)環(huán)境下編程的方式了。這也是目前為止難耗時(shí)的一項(xiàng)任務(wù),所以等到你把前面我提到的比較容易取得的果實(shí)都摘完之后再干這件事。
編碼的工作你不會(huì)干太多的
說出來也許有點(diǎn)令人吃驚,但是大多數(shù)時(shí)候你都不用寫新代碼,而是相反,要做:調(diào)試讀已有代碼開會(huì)或者寫電子郵件研究該怎么做以便不用寫代碼因此編碼以外的技能對(duì)你的職業(yè)一樣關(guān)鍵。
調(diào)試和閱讀代碼調(diào)試遠(yuǎn)不僅僅是用打印語(yǔ)句。一切使用廣泛的語(yǔ)言和技術(shù)棧都有各種強(qiáng)大的工具。學(xué)會(huì)使用它們,因?yàn)檫@些會(huì)讓調(diào)試輕而易舉,節(jié)省你無數(shù)的時(shí)間。理解代碼庫(kù)。大多數(shù)技術(shù)棧都有某種代碼圖譜生成工具來幫助你理解代碼庫(kù)的結(jié)構(gòu)。但開發(fā)者通常渴望嘗試并且會(huì)在不需要的情況下過度優(yōu)化,卻犧牲了代碼的可讀性和防御性。企業(yè)級(jí)的 IDE 通常都內(nèi)置了那種功能。你還可以利用 ReSharper、grep 或者 Sourcegraph 之類的工具來探索代碼。理解產(chǎn)品。你會(huì)對(duì)居然有這么多開發(fā)者在試圖“修復(fù)”軟件前不知道軟件應(yīng)該是怎么工作的感到驚訝。先看看文檔再說吧。
你是在雇傭創(chuàng)業(yè)精神的人嗎?如果你打算雇傭創(chuàng)業(yè)精神的人,他們中的很多人可能已經(jīng)有NoSQL的知識(shí)了。
然而,如果你不在一個(gè)主要的科技中心,那么獲得這些人才的機(jī)會(huì)就很少了。您所在的區(qū)域可能有一個(gè)現(xiàn)成的RDBMS開發(fā)人員池——試圖在這樣的區(qū)域中招募NoSQL工程師和DBA可能會(huì)延遲項(xiàng)目交付日期,并且由于供應(yīng)需求曲線,也會(huì)花費(fèi)您更多的錢。
我的建議是與你的招聘機(jī)構(gòu)/人力資源部門合作,對(duì)開發(fā)者進(jìn)行市場(chǎng)調(diào)查,并將其納入你的技術(shù)選擇中。