在校生如何快速提升竞争力
一個(gè)從事技術(shù)崗位的畢業(yè)生,要想在短期內(nèi)提升競爭力,獲得周邊同事,直屬leader的認(rèn)可和贊揚(yáng),我覺得需要關(guān)注以下的一些方面。
一 代碼能力
無論你用什么語言,做什么項(xiàng)目。代碼能力就是基礎(chǔ)中的基礎(chǔ)。說實(shí)話,代碼能力無法在短時(shí)間內(nèi)獲得巨大提升,需要的是日積月累。所以強(qiáng)烈建議,在校學(xué)生平時(shí)就要有做題刷題的習(xí)慣。特定領(lǐng)域的知識(shí)是可以短期內(nèi)獲得的,但代碼能力這種內(nèi)功只有慢慢的練,才能練出來。這個(gè)是在工作前就應(yīng)該充分準(zhǔn)備的。 再多說一點(diǎn)。雖然實(shí)際工作中,不會(huì)讓你去手寫平衡二叉樹什么的,但做題刷題確實(shí)可鍛煉你解決問題的思維能力和將想法變成代碼的能力,在項(xiàng)目中實(shí)際編碼的時(shí)候,有巨大的幫助。實(shí)際工作中,有參加過算法競賽的同學(xué)的代碼質(zhì)量和產(chǎn)出速度確實(shí)是比較好的。搞競賽的同學(xué)在這方面是有天然優(yōu)勢的,沒搞競賽的同學(xué),我覺得日常刷題也是很好的方法。至于刷多少合適,我覺得如果是大學(xué)四年,盡量往1千題靠攏吧,當(dāng)然是越多越好。
二 語言和框架
當(dāng)你已經(jīng)拿到確定的offer,明確要就職的公司和部門后,你接下來要進(jìn)行的工作應(yīng)該就比較確定了。后面會(huì)使用到的語言框架也應(yīng)該是確定的。比如你的部門可能是用java做crm系統(tǒng)或者用c++開發(fā)分布式系統(tǒng)或者是ios客戶端,andriod客戶端等。語言和框架應(yīng)該都是確定的,這兩部分的知識(shí)是可以在入職前就做充足準(zhǔn)備的。你想在早期就樹立競爭力,這塊的準(zhǔn)備是必不可少的:ide環(huán)境的搭建使用,對應(yīng)語言的語法,語言特性細(xì)節(jié),入門工作中會(huì)用到的框架。這個(gè)階段不要去摳很偏門的知識(shí)點(diǎn),學(xué)習(xí)或者復(fù)習(xí)常用的知識(shí)點(diǎn),提高熟練度更有意義。當(dāng)跟你一起入職的同學(xué),還在就一個(gè)框架使用或內(nèi)部實(shí)現(xiàn)機(jī)制在請教前輩同事的時(shí)候,你已經(jīng)掌握了這些,你就已經(jīng)快人一步了。也更能獲得周邊同事和直屬leader對你的認(rèn)可。
三 要開始熟悉特定的工作領(lǐng)域
當(dāng)你確定入職一家公司后,具體的部門,后面要走的方向也是確定的。當(dāng)這些確定后,你需要開始去了解那個(gè)領(lǐng)域。比如你在校的時(shí)候,可能沒接觸過分布式系統(tǒng),分布式領(lǐng)域的東西雖然沒辦法在短時(shí)間內(nèi)就能搞清楚,但你可以通過搜索引擎,書籍等來建立基本的認(rèn)識(shí)和了解一些基本的概念。就是讓自己的腦子里,對這個(gè)領(lǐng)域有個(gè)基本的認(rèn)知。這樣你在實(shí)際工作的時(shí)候,就不會(huì)連基本的概念都分不清楚,在跟其他同事交流的時(shí)候,也會(huì)更加的順暢。
四 做好第一個(gè)項(xiàng)目
信心是建立在成功經(jīng)驗(yàn)的基礎(chǔ)上的。需要在實(shí)際工作中去獲取。所以對于接到的前幾個(gè)任務(wù),都要用心的去做好。我估計(jì)大部分的同學(xué)都會(huì)認(rèn)知到這點(diǎn),但確實(shí)不是所有人都能做好。給幾個(gè)建議
1 不要鉆牛角尖。我遇到一些畢業(yè)的學(xué)生,他們確實(shí)是想做好,但感覺走偏了,有點(diǎn)吹毛求疵了。工作是為了解決問題,不是學(xué)術(shù)討論,新人也不要通過這種方式來展現(xiàn)自己的能力,有時(shí)反而會(huì)適得其反。 我?guī)н^一個(gè)同學(xué),讓他幫忙給一個(gè)系統(tǒng)做個(gè)工具。當(dāng)時(shí)的初衷是想讓他通過做這個(gè)工具,慢慢的熟悉這個(gè)系統(tǒng),然后再逐步參與進(jìn)去的。里面有個(gè)地方需要用到hash函數(shù),但因?yàn)橹皇枪ぞ?#xff0c;性能要求也不高,一般的hash函數(shù)就可以的。結(jié)果他花了三天時(shí)間去研究各類的hash函數(shù)。卻沒有花時(shí)間去熟悉工具對應(yīng)的系統(tǒng)。這么做當(dāng)然不對了。還好后面及時(shí)溝通了,回到了正軌上。所以,我覺得新人尤其要注意這個(gè)問題。自己把不準(zhǔn)的時(shí)候,最好多問問前輩同事。
2 要多交流。一般都會(huì)給新人安排導(dǎo)師,要多跟導(dǎo)師交流,看看導(dǎo)師怎么理解這個(gè)事情,怎么做更合適。同時(shí)也要跟導(dǎo)師去交流上一點(diǎn)提到的問題。那些點(diǎn)是應(yīng)該重點(diǎn)解決的,那些點(diǎn)可以不用花太多精力。
五 持續(xù)保持一定強(qiáng)度的學(xué)習(xí)
一般工作兩三年后,同時(shí)期入職的同學(xué)間的差距會(huì)開始顯現(xiàn)出來。造成這種差距的主要原因,我覺得是你在學(xué)習(xí)上投入的時(shí)間。其實(shí)大家能進(jìn)入到同個(gè)等級(jí)的大學(xué),同間公司,大家的智商,其實(shí)不會(huì)相差太大。兩三年的差距,真的就是來自時(shí)間的投入了。 我所在的公司是995,但畢業(yè)的前幾年,我都維持著一定強(qiáng)度的學(xué)習(xí)狀態(tài)。 一般工作,我在晚上8點(diǎn)前便完成了。剩下的一小時(shí),我會(huì)看些自己感興趣的知識(shí)點(diǎn)或者就工作中遇到的問題再深入的去了解。畢業(yè)的第一年,周六也基本去公司,雖然公司沒要求。一般去到公司,有時(shí)候是完成工作任務(wù),有時(shí)候是重構(gòu)些自己覺得寫得不好的代碼,有時(shí)候時(shí)看公司內(nèi)部的技術(shù)文章(這個(gè)也是大公司的一個(gè)好處了吧,有很多外面看不到的技術(shù)文章)。積累久了,差距就自然出現(xiàn)了。沒有捷徑。
以上,是對在校畢業(yè)生的一些建議。第一點(diǎn)是大學(xué)就需要開始的積累。二三四點(diǎn)能幫你快速提升工作能力,提升競爭力。第五點(diǎn)能長期的提升你的競爭力,讓你在幾年后,跑在別人的前面。
以下是大家的提問和我的解答:
Q: 已經(jīng)工作幾年的,想進(jìn)大廠,有什么建議嗎?或者有內(nèi)推嗎?
A: 對于工作幾年的同學(xué),建議要開始有自身的職業(yè)規(guī)劃。 做技術(shù)也分:技術(shù)型技術(shù)和業(yè)務(wù)型技術(shù)??纯醋约合胪欠矫姘l(fā)展。進(jìn)大廠是個(gè)好的選擇,不過有客觀因素,不一定所有的人都可以達(dá)成,當(dāng)然這個(gè)需要自身的努力。關(guān)于技術(shù)劃分這點(diǎn),我的公眾號(hào)上有一篇文章,描述了這塊的區(qū)別,有興趣的可以去看看 從公司發(fā)展看技術(shù)人才需求
Q: 現(xiàn)在有許多教學(xué)視頻。對于學(xué)習(xí)時(shí)看視頻您怎么看待?相比書籍
A: 教學(xué)視頻的學(xué)習(xí)門檻比較低,對于開始上手一種新的技術(shù)和新的領(lǐng)域很有幫助。對于一個(gè)特定領(lǐng)域的前期,可以采用視頻教學(xué)的方式。但如果想在某個(gè)領(lǐng)域深耕,最后還是要回歸到書本甚至是論文。所以看書學(xué)習(xí)的能力是不能丟的。
Q: 對于畢業(yè)想要找工作的學(xué)生而言,科研重要嗎?還是說更應(yīng)該注重代碼能力這些呢?
A: 這個(gè)要看具體的工作。就互聯(lián)網(wǎng)來說,算法類的職位: 例如機(jī)器學(xué)習(xí),數(shù)據(jù)分析,對學(xué)歷要求是比較高的,有科研經(jīng)驗(yàn)的會(huì)很有優(yōu)勢,因?yàn)槔碚撗芯科唷?對工程類的,例如前端開發(fā),后臺(tái)開發(fā),實(shí)際經(jīng)驗(yàn)就更加重要了。至于代碼能力,如果你是純搞理論研究,要求可以不用太高,不過工程類要求就要比較高了。
Q: 想請教下前輩,技術(shù)人員和什么類型的pm合作比較愉快呢對產(chǎn)品經(jīng)理有什么訴求~有沒有您認(rèn)為好的溝通方式和合作方式 ,pm可以借鑒下
A: 溝通這個(gè)事情,不但是技術(shù)和pm,所有領(lǐng)域都一樣的,做事先做人嘛。 我喜歡真誠的溝通,不要老是忽悠。 對于互聯(lián)網(wǎng)的pm,如果有技術(shù)背景,會(huì)比較好,跟技術(shù)人員的溝通會(huì)更加的順暢,而且不會(huì)提些無厘頭的需求。
Q: 老師好!我是情報(bào)學(xué)的學(xué)生,編程非專業(yè)自學(xué),現(xiàn)在的代碼學(xué)習(xí)給我的感覺是毫無頭緒,需要用到什么就去看什么,沒有體系,很多東西聯(lián)系不起來;另外就是不確定把什么語言當(dāng)做主攻方向。想知道這種情況該怎么辦。謝謝老師~
A: 對于這種情況,一個(gè)是你可以找下一些大學(xué)計(jì)算機(jī)專業(yè)的課程結(jié)構(gòu)體系, 他們的設(shè)計(jì),肯定是科學(xué)合理的。如果是專為了找工作的話,就需要看具體的工作崗位而定了。不過一般來說,計(jì)算機(jī)有基礎(chǔ)課程,對于所有方向都是適用的。比如算法,操作系統(tǒng),網(wǎng)絡(luò)等。這塊,也可以看看我公眾號(hào)寫的一些文章,有提過這部分。說說后臺(tái)開發(fā)的一些事
Q: 請教前輩,我是網(wǎng)絡(luò)與新媒體的學(xué)生。我們學(xué)校的課程設(shè)置是在大三的時(shí)候教授C++語言,但是我們師兄師姐反映都說大三學(xué)很趕太遲了。如果我們自己提前學(xué)的話有什么建議嗎。(比如JSBox這個(gè)app入手)
A: 我是提倡提前學(xué)的, 我自己高中就開始接觸編程。 大一的時(shí)候,我們C語言的課程,我已經(jīng)自學(xué)完了。 到大二,專業(yè)課程,我?guī)缀醵甲詫W(xué)完了。 這塊沒有特別的建議,學(xué)就是了。學(xué)的過程中,再慢慢調(diào)整,改進(jìn)。
Q: 感覺現(xiàn)在算法(計(jì)算機(jī)編程算法)很流行,所以如果從事技術(shù)方向,都應(yīng)該打好算法基礎(chǔ)嗎?因?yàn)楦杏X算法用心學(xué)還是需要大塊時(shí)間的
A: 計(jì)算機(jī)編程方面的算法能力是很核心的內(nèi)功,付出的時(shí)間,是有實(shí)際意義的。有過一定時(shí)間的算法鍛煉,代碼能力和思維能力會(huì)好過沒有鍛煉的同學(xué),實(shí)際工作中會(huì)特別有優(yōu)勢。
Q: 前輩好~我是今年要畢業(yè)的學(xué)生想問一下求職的時(shí)候如果不是特別滿足意向的工作崗位的技術(shù)要求 公司會(huì)招這樣的人嗎?比如說想做安卓開發(fā),但是之前沒有做過,公司會(huì)考慮其他方面的的經(jīng)驗(yàn)或者基本能力嗎
A: 對于畢業(yè)生,其實(shí)比較松,對特定經(jīng)驗(yàn)不會(huì)有很強(qiáng)的要求。 更看重的是潛力和基礎(chǔ)。所以基礎(chǔ)好,問題就不大。
Q: 對于工作一兩年近期沒有找工作需求的人,需要保持刷題能力嗎?如果要的話能拿LeetCode的難度舉例嗎?
A: 看你個(gè)人時(shí)間,如果時(shí)間能規(guī)劃,建議保持刷題的狀態(tài)。 難度方面,leetcode 中等半小時(shí)解出,國內(nèi)互聯(lián)網(wǎng)算法面試基本沒問題。
Q1: 感謝分享哈。 我請教一個(gè)問題,工作幾年的技術(shù)人員,在職業(yè)發(fā)展上有什么建議嗎? 一般從事一個(gè)發(fā)展比較快的行業(yè),比如前端,分布式,云計(jì)算。 這幾年技術(shù)都是非??斓陌l(fā)展,也許設(shè)計(jì)和方法論可以積累,但是不可避免出現(xiàn)技能和工具的迭代過時(shí)。 如何面對技術(shù)的知識(shí)焦慮呢?或者換句話說,年輕的時(shí)候,技術(shù)人員可以靠時(shí)間和技術(shù)更替有比較好的發(fā)展,但到一定年齡后如何規(guī)劃職業(yè)發(fā)展有更縱深的積累,有什么建議嗎?
Q2: 請問前輩,您覺得互聯(lián)網(wǎng)行業(yè)技術(shù)方向,相對于其他行業(yè)而言,對于年齡是不是要求更加年輕化?是因?yàn)榧夹g(shù)更新迭代,相對于其他行業(yè)更快,所以經(jīng)驗(yàn)的積累顯得不那么重要的緣故嗎?對于工作很多年的工程師是不是大多都往管理崗轉(zhuǎn)了?
A1&2: 這個(gè)問題其實(shí)比較難,客觀來說,程序員確實(shí)是個(gè)吃青春飯的職業(yè)。如果非要有建議的話。一個(gè)是往技術(shù)專家發(fā)展。一個(gè)可以往業(yè)務(wù)或產(chǎn)品方向遷移。都是有難度的事情。 有想法,有條件的可以考慮創(chuàng)業(yè)。
我個(gè)人覺得,管理崗這個(gè)理解是不對的。 技術(shù)管理其實(shí)不是特別有保障的事情,一旦你換一間公司,你就不一定還有的管理。 我個(gè)人覺得技術(shù)能力,產(chǎn)品能力,業(yè)務(wù)能力是核心競爭力,管理能力是依附于此的,不能脫離。
Q:我有個(gè)疑問,在寫代碼的時(shí)候是只要知其形就可以了,還是也得會(huì)其意呢?比如用到某些函數(shù)的時(shí)候,只去看如何使用它,或者去搞清這個(gè)函數(shù)內(nèi)部是怎么定義的。這兩種更推薦哪種呢?不只是寫代碼,很多事情都會(huì)想要一切都準(zhǔn)備好了再開始做,感覺這個(gè)有點(diǎn)像前輩講的“不要鉆牛角尖”那部分。
A: 當(dāng)然理解的深入更好啦。計(jì)算機(jī)編程是很講求實(shí)際操作的。不用想太多,動(dòng)手做就是了。
總結(jié)
以上是生活随笔為你收集整理的在校生如何快速提升竞争力的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你是什么类型的程序员?
- 下一篇: 一名 40 岁“老”程序员的反思~