程序員應(yīng)該如何選擇公司

技術(shù)的價(jià)值

我們是做技術(shù)的,而技術(shù)是用來解決現(xiàn)實(shí)中的業(yè)務(wù)問題以及提高業(yè)務(wù)的效率的,比如o2o的實(shí)現(xiàn),把線下的業(yè)務(wù)搬到了線上,比如各種自動(dòng)化的工具的開發(fā),大大提高了業(yè)務(wù)的效率。這就是我們做技術(shù)的價(jià)值所在。

如何選擇公司

技術(shù)是解決業(yè)務(wù)問題和提升業(yè)務(wù)效率的,要解決業(yè)務(wù)問題,首先得有能夠與之匹配的技術(shù),前期的程序員在擇業(yè)的時(shí)候不要只考慮薪資和公司知名度等,有兩個(gè)方面是更重要的:

1. 純技術(shù)的成長(zhǎng)

技術(shù)包括對(duì)語言、對(duì)框架的特性的掌握程度、對(duì)架構(gòu)的理解還有對(duì)如何寫出高質(zhì)量代碼的理解。

前期的程序員選擇公司的時(shí)候需要更注重技術(shù)的成長(zhǎng),或者是公司給你安排做學(xué)習(xí)和調(diào)研的時(shí)間,或者是公司業(yè)務(wù)并不忙,有空閑的時(shí)間可以用來提升技術(shù)。前期千萬不要選擇業(yè)務(wù)太重的公司,這樣你技術(shù)得不到很好的積累和沉淀,雖然能積累很多項(xiàng)目經(jīng)驗(yàn),但對(duì)個(gè)人發(fā)展是沒多大好處的。

如果你遇到的公司有技術(shù)分享的機(jī)制,說明這家公司注重個(gè)人的技術(shù)成長(zhǎng),愿意長(zhǎng)期的培養(yǎng)新人,這樣的氛圍下,你自己也會(huì)不自覺地去注重技術(shù)本身的提升。如果公司有code review環(huán)節(jié)也是很好的,不要排斥別人對(duì)你代碼提出一些建議,這是幫你發(fā)現(xiàn)你自己發(fā)現(xiàn)不了的問題的途徑,有助于不斷的提高代碼質(zhì)量和架構(gòu)的思想。

2. 項(xiàng)目復(fù)雜度

項(xiàng)目經(jīng)驗(yàn)就是用技術(shù)解決業(yè)務(wù)問題的經(jīng)驗(yàn),我們學(xué)技術(shù)的最終應(yīng)用還是解決業(yè)務(wù)的問題和提升業(yè)務(wù)的效率,脫離業(yè)務(wù)單純談技術(shù)是沒有多大價(jià)值的,就算是技術(shù)氛圍很濃的公司和團(tuán)隊(duì),他們關(guān)注技術(shù)本身最終也還是為了服務(wù)業(yè)務(wù)。

但前期千萬不要一頭扎進(jìn)業(yè)務(wù)而不顧技術(shù)的提升,做需求的時(shí)候要分清楚那些是純技術(shù)的問題,比如一些工程化的優(yōu)化、一些自動(dòng)化工具的開發(fā),哪些是解決業(yè)務(wù)問題的技術(shù)方案,解決的是什么樣的問題,是社區(qū)的通用的方案還是沒有案例可以參考的自己創(chuàng)造的方案。

根據(jù)業(yè)務(wù)和公司需求的不同,對(duì)技術(shù)的要求也不同,一個(gè)大的互聯(lián)網(wǎng)公司的架構(gòu)師和一個(gè)沒多大用戶量的創(chuàng)業(yè)公司的架構(gòu)師技術(shù)要求肯定是有差別的,越是復(fù)雜的業(yè)務(wù)需求和痛點(diǎn)的地方,對(duì)技術(shù)的要求也越高,需要更深入的研究,而大公司更容易遇到這些難題,所以理論上在大公司你會(huì)對(duì)技術(shù)有更深度的要求。這也是為什么有的公司會(huì)要求大公司背景或者復(fù)雜項(xiàng)目的經(jīng)驗(yàn)。當(dāng)然有的創(chuàng)業(yè)公司的業(yè)務(wù)復(fù)雜度并不亞于一些大公司,而且在大公司你也不一定能接觸到核心的有價(jià)值的業(yè)務(wù)。

此外,除了技術(shù)的深度,技術(shù)的廣度和視野也很重要,涉及到的哪些端、用到哪些技術(shù)棧,也是需要考慮的。

面試

你經(jīng)歷過一些面試之后,你會(huì)發(fā)現(xiàn)技術(shù)面無外乎問兩部分問題,純技術(shù)的部分和解決業(yè)務(wù)問題的技術(shù)方案也就是項(xiàng)目經(jīng)驗(yàn)的部分。

純技術(shù)的部分包括語言基礎(chǔ)、框架特性和api的理解掌握、架構(gòu)思想等,項(xiàng)目經(jīng)驗(yàn)部分會(huì)讓你介紹你做過的項(xiàng)目用到了那些技術(shù),解決了哪些業(yè)務(wù)問題,哪些方案是比較有深度的。

此外還可能問你一些邏輯題,這是看你分析問題的思路,因?yàn)槟闳肼氈蟮墓ぷ饕彩怯眉夹g(shù)解決業(yè)務(wù)問題的,而解決問題的第一步是分析問題,這就需要你的邏輯能力了。

有一些做技術(shù)的自由職業(yè)者,他們的成長(zhǎng)中似乎并不需要經(jīng)歷公司,但是他們?nèi)匀贿€是做技術(shù)的,仍然是解決業(yè)務(wù)問題的,區(qū)別只是技術(shù)的成長(zhǎng)更多的靠自己,解決業(yè)務(wù)問題的項(xiàng)目經(jīng)驗(yàn)的積累更多的是通過接一些別的公司的項(xiàng)目來做而已。他們?nèi)匀恍枰嬖?,但更看重的是解決業(yè)務(wù)問題的能力,技術(shù)本身的要求會(huì)低一些。

成長(zhǎng)起來之后

當(dāng)你技術(shù)本身包括語言、對(duì)框架特性和api的掌握、對(duì)架構(gòu)思想的掌握到了一定程度,并且積累了大量的解決業(yè)務(wù)問題的技術(shù)方案的時(shí)候,你可以做架構(gòu),帶領(lǐng)團(tuán)隊(duì)去解決業(yè)務(wù)問題,也可以創(chuàng)業(yè),因?yàn)槟銓?duì)于如何解決一個(gè)領(lǐng)域的業(yè)務(wù)問題已經(jīng)有了相應(yīng)的能力,當(dāng)然我相信如果到了這一步,會(huì)有人來找你一起創(chuàng)業(yè)的。你能解決越復(fù)雜的業(yè)務(wù)問題,你的價(jià)值也就會(huì)越高。

總結(jié)

技術(shù)的價(jià)值體現(xiàn)在解決業(yè)務(wù)問題和為業(yè)務(wù)賦能、提高效率這兩方面,我們的職業(yè)生涯中,需要提升的一是技術(shù)本身,二就是對(duì)復(fù)雜業(yè)務(wù)的架構(gòu)能力,你從初級(jí)到中高級(jí)再到資深甚至專家的過程,除了技術(shù)的提升外,更多的是取決于你能解決多復(fù)雜的業(yè)務(wù)問題。

雖然業(yè)務(wù)不可忽視,但技術(shù)是一切的基礎(chǔ)。前期千萬不要去太重業(yè)務(wù)的公司,特別是需求特多、加班嚴(yán)重、沒有個(gè)人學(xué)習(xí)時(shí)間的公司。
選擇公司有兩個(gè)標(biāo)準(zhǔn),一個(gè)是技術(shù)本身的成長(zhǎng),是否有code review、技術(shù)分享等機(jī)制,是否會(huì)給你的學(xué)習(xí)和調(diào)研排期、是否有空閑的用來學(xué)習(xí)的時(shí)間,二是業(yè)務(wù)的復(fù)雜度,業(yè)務(wù)越復(fù)雜對(duì)技術(shù)包括對(duì)框架特性的掌握和架構(gòu)思想也就有越深度的要求,這樣的項(xiàng)目經(jīng)驗(yàn)也就越有價(jià)值。此外,公司大小和薪資需要考慮,但不是最重要的。

當(dāng)你技術(shù)和解決業(yè)務(wù)問題的能力到了一定水平之后,你可能會(huì)選擇做架構(gòu)去解決別的公司的業(yè)務(wù)問題,或者去創(chuàng)業(yè)自己去解決一個(gè)領(lǐng)域的業(yè)務(wù)問題。還是那句話,你能解決越復(fù)雜的業(yè)務(wù)問題,你的價(jià)值也就會(huì)越高。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容