大約在18個月前,有人給我發(fā)了封郵件詢問我關(guān)于如何開啟軟件開發(fā)大門的建議。他是一個在校學(xué)生,想從事軟件開發(fā)的工作,但又怕做出了錯誤的選擇。
我想我給他的回復(fù)應(yīng)該也適用于任何正打算從事軟件開發(fā)工作的人,所以稍作修改放到這兒來與大家分享。
(郵件內(nèi)容:)
以下是基于我的經(jīng)歷所得的幾點(diǎn)主要建議:
1. 立于軟件開發(fā)的大門前
在我確定可以勝任一個開發(fā)者的工作之前(我可是經(jīng)歷了一番掙扎),我不得不花費(fèi)兩年時間從事非軟件開發(fā)的工作,這也更加確定了我要做一個軟件開發(fā)者的決心。
一旦你拿到一份軟件開發(fā)的工作,這都是不錯的開始。頭兩次的際遇可能會差強(qiáng)人意,但若不是有了這些經(jīng)歷,你也不會知道哪些問題是一個公司所摒棄的。
當(dāng)然這并不是說只要有份工作你就應(yīng)該接受,后面我會再說下這個問題。
2. 關(guān)于擬定長期目標(biāo)
你是否一直有不知道選擇何種開發(fā)方向的困惑?沒事,習(xí)慣就好。就在此刻,正有一大批Ruby開發(fā)者因?yàn)?a href="http://www.www27dydycom.cn/v/tag/852/" target="_blank">JavaScript的強(qiáng)勢襲來而倍感緊張。既然任何事情都不是既定的,那么設(shè)定一個長期目標(biāo)的想法簡直傻透了。
想想真是瘋狂。十一年前我還只是一個為人們做午飯的廚子,后來我做了一個決定:我要成為一名平面設(shè)計(jì)師。接著我就買了一臺Mac,把Photoshop和illustrator使用的爐火純青。后來,我有了一個攝像機(jī),我又開始學(xué)習(xí)使用Final Cut Pro軟件,打算做一名視頻剪輯師。再后來,我考取了MCSE(微軟認(rèn)證系統(tǒng)工程師),我又決定做一名系統(tǒng)管理員。然后我就開始寫網(wǎng)站腳本,并且從事市場工作5-6年。終于我決定學(xué)學(xué)編程。沒有人可以為自己的人生設(shè)定一個模式,告訴自己下一步可以做什么。
顯然,沒人知道五年后自己會在做些什么。你所要的只是一個平臺,一個不變的原則,有了這些,你就能變成你想成為的那種人,做那些你覺得快樂的事。
可能在你這個年紀(jì),你更想要多些豐富的經(jīng)驗(yàn),這樣你就可以通過分析這些經(jīng)驗(yàn)而學(xué)到那些激勵你的東西。我不知道那些問出“你覺得5年后你會做些什么”的人想表達(dá)什么,這種問題顯然是無法回答的。
我現(xiàn)在唯一確定的事情就是,五年后我不會再為別人工作。我善于幫助別人發(fā)現(xiàn)自己的閃光點(diǎn),我喜歡創(chuàng)造事物,我喜歡科技。利用好這些特點(diǎn)有助于建立屬于我自己的平臺。在未來的某天,這些都有可能以意想不到的方式幫助到你。
3. 明白學(xué)歷在職場生涯中的角色
這個話題由我來談有點(diǎn)沒說服力,但我仍然想和大家分享一下我的想法。我曾從社區(qū)大學(xué)中途輟學(xué),這簡直為我一生中想做的所有事都關(guān)上了門。當(dāng)然,這也因人而異。
我現(xiàn)在為一個當(dāng)初只想招一個研究生學(xué)歷的CEO工作。如果你想成為一個核心開發(fā)者,一個碩士文憑是第一道門檻。但是也有特例,例如我,一個大學(xué)輟學(xué)的人,正在為我的碩士同僚們貢獻(xiàn)著力量。當(dāng)然我也曾經(jīng)歷過這些場景,比如有些人會說:“你的履歷很適合我們公司,但很遺憾我們還需要一個學(xué)士文憑…”,而那些剛剛畢業(yè)的學(xué)生卻也經(jīng)常聽到與之相反的說辭。
如果要我告訴你為什么冒泡排序的效率很低或者怎么實(shí)現(xiàn)一個二叉樹查找算法的話,我完全可以去問問那些花了錢上了學(xué)得到這些知識的人。
當(dāng)今社會的教育問題越來越明顯,我很難過地表示,學(xué)歷現(xiàn)在只是一紙憑據(jù)而已。學(xué)校再也不能作為開拓新事物的源頭(至少不會長久下去),而這更可能出現(xiàn)在你的工作環(huán)境當(dāng)中。
我認(rèn)為最好的狀態(tài)是:如果你在學(xué)校時擁有書本智慧(book-smart),而出了校園能把它們變成街頭智慧(street-smart )。那么這個世界上還有什么能夠阻擋你前進(jìn)的腳步呢?
4.如何選擇合適自己的文化氛圍
那么現(xiàn)在問題來了:怎么成為你想成為的自己呢?每個人多多少少都要去遷就那些不一樣的文化,我之前就職的公司在這方面更為嚴(yán)重,簡直就像穿了件文化緊身衣。
其實(shí)開發(fā)者是一群幸運(yùn)的人,他們深諳自己喜歡哪種工作氛圍。很快你就會發(fā)現(xiàn)自己會對很多場合說“不”了,我建議你根據(jù)以下這些斟酌一個公司文化氛圍是否適合自己:
你在這工作時感覺舒適么?
這里有值得你主動去做以及珍惜的東西嗎?
或者說你在這里需要偽裝你自己嗎?
5.尋找良師益友
誠然,我能通過在一些聚會中的提問獲得很多好的建議,但這與你第一次工作經(jīng)歷帶給你的收獲相比,一定會黯然失色。你要做的不是去告訴大家你需要一個導(dǎo)師,而是與那些聰明優(yōu)秀的人一起工作,學(xué)習(xí)他們的方法和經(jīng)驗(yàn)。
比起參加任何一種開發(fā)人員培訓(xùn)課,他人的奉獻(xiàn)精神和耐心所帶給你的好處無與倫比。
而真正把這些融合到一起的人是你自己,當(dāng)然前提是你知道如何去做。
6.學(xué)會展示
當(dāng)我剛開始學(xué)習(xí)編程時,我覺得我應(yīng)該達(dá)到無所不知的程度,這樣我就能給大家展現(xiàn)一些很牛叉的東西,現(xiàn)在看來這就是一個自尊心作祟的愚蠢想法。
記得有一次聚會,有個開發(fā)新手在向人們展示他的第一個作品,我?guī)缀醵家Τ雎暳?,我只能說他太傻太天真,他做的東西架構(gòu)簡單,創(chuàng)意也不夠吸引人。而當(dāng)每個人都給他高度贊揚(yáng)的時候,我才意識到我真該為自己的想法感到羞愧,對于一個新手,能把作品展示出來實(shí)在勇氣可嘉。
如果你還沒有學(xué)會所有的技能,或許你應(yīng)該改變下自己的想法,俗話說得好,貪多嚼不爛。從基礎(chǔ)做起會更好。不要過早擔(dān)心設(shè)計(jì)模式,不要一開始就在想這個東西是不是完美的,不要一開始就擔(dān)心代碼是否足夠優(yōu)雅等等。
你是否正在對你的示例應(yīng)用進(jìn)行二次重構(gòu)?第一個能夠運(yùn)行嗎?秀一下吧。是不是運(yùn)行的不是完全正確?那也秀一秀。界面太難看?沒關(guān)系,秀出來。還沒有經(jīng)過測試?盡管秀出來。如果說它沒有另你覺得難堪的地方,只能說明你秀得有點(diǎn)晚。
隨著你技術(shù)的提升,完善一個產(chǎn)品的能力以及做出點(diǎn)可以讓很多人用的東西的能力也會隨著提升。在我看來,掌握這種能力遠(yuǎn)比學(xué)習(xí)如何使用CSS或者TDD要重要。
7. 學(xué)習(xí)不僅僅是為了找工作
我極少給別人提很籠統(tǒng)的建議。但這里不得不提一個:上大學(xué)時應(yīng)該嘗試去學(xué)學(xué)那些你很感興趣的東西。
隨著時間的逝去,文憑的用處也逐漸消失。很多我喜歡的開發(fā)者之前是設(shè)計(jì)師或者作家,他們更喜歡從一種哲學(xué)的角度去寫代碼,而不選擇針對特定問題的特定算法。
如果你很擅長書面交流,作為一個開發(fā)者這是極好的,因?yàn)樗鼈児ぷ鞯姆绞饺绱酥瘛5歉匾氖?,良好的溝通技巧?shí)際對你幫助更多,而大部分的程序員更喜歡單獨(dú)倒騰自己的代碼。
大學(xué)的社交地位已然成為了明日黃花,取而代之的是聚會,小組,推特等等。如果計(jì)算機(jī)學(xué)科仍然如此打動你,盡管沉迷于它吧,但是如果你喜歡的是社會學(xué),哲學(xué),會計(jì)學(xué)或者其他學(xué)科,你應(yīng)該追隨自己的內(nèi)心,而不是被你飄渺的職業(yè)目標(biāo)牽著鼻子走。
最后,給出一條如何靈活利用學(xué)位獲得工作的小貼士:
HR專員負(fù)責(zé)發(fā)布職位。他們通??偸前阎T如學(xué)位,經(jīng)驗(yàn),技術(shù)要求這些掛在嘴邊,而實(shí)際上這些有時候根本就不足以說明一個人的能力。
如果你仍然在用這種傳統(tǒng)的應(yīng)聘渠道:瀏覽人才網(wǎng)=》進(jìn)入面試流程,你獲得工作的機(jī)會將會非常小。雖然可能大部分人的第一份工作都是這樣找到的。而從那開始,它會就像滾雪球一樣,直到招聘你的人覺得只有你剛好非常適合某個崗位的工作,通常這種幾率比較小。所以呢,對于那種你只會待一兩年的公司,你壓根不用煞費(fèi)苦心的為了取悅HR而精心打扮自己簡歷上的學(xué)歷。
8.關(guān)于跳槽
在我看來,一個稍有天分的開發(fā)者能在6-12個月內(nèi)精通自己所選的開發(fā)語言或框架。不要被那些有5-10年經(jīng)驗(yàn)的老手嚇到:很多人只是贏在5-10倍的經(jīng)驗(yàn)上。
為了防患于未然,你現(xiàn)在就應(yīng)該有計(jì)劃的跳槽(大約每18個月左右跳一次),至少是在從事第一份工作期間。慢慢你就會發(fā)現(xiàn)自己的經(jīng)驗(yàn)更加多元化,自己的薪資也節(jié)節(jié)高。(但是不要過分沉迷于工資的多少,研究表明,薪資在超過75K以后反而會降低幸福感。)
綜上所述:不要過分在意薪資,選擇優(yōu)秀,樂于助人的同事一起工作,規(guī)劃好適合自己的技術(shù)棧。
謙虛誠實(shí)小貼士一則:
事實(shí)上,對別人來說,求職信中看到“誠實(shí)”、“謙虛”等字眼是屬于消極字眼的(你還不如毫不含糊的告訴別人你是一個需要指導(dǎo)的處于中級水平的人)。而消極是抑郁的前兆。很多抑郁癥的發(fā)作都可以追溯到很久之前的某個悲觀時刻,只是可能偽裝成了“誠實(shí)”而已。去買一本《Learned Optimism》吧!這本書也許不會幫你解決所有的問題,但是會開啟你的心智,改變你的思維模式。
這種自我否定式的悲觀主義也正是我的一個軟肋。如果你想成為10年后的我,努力營造出自信的感覺吧,你要知道,你永遠(yuǎn)比你自己了解的要牛逼很多!
下面這條建議不僅給你,也給我自己:與其為自己所不知道的事情道歉,還不如努力一點(diǎn)去知曉這件事。
我建議你把這點(diǎn)深記于心,并在求職信中換上另一種說法。你是個聰明的家伙,真慶幸你還沒發(fā)現(xiàn)自己的無限潛力,因?yàn)楫?dāng)你成為一個偉大的程序員的時候我可要沾沾光了,呵呵。
其實(shí)還有很多我能告訴你的,但是一時也想不起來這么多。認(rèn)識你很高興,同時也祝愿你前程似錦。
—–郵件完結(jié)—–
對于他來說,這些選擇可能會影響他一生。工作的選擇,求職的失敗,是否繼續(xù)深造等等,這些當(dāng)時看起來事關(guān)重大的時刻,隨著時間的流逝,態(tài)度的轉(zhuǎn)變,一個人終究會泰然看待。
這個當(dāng)時我知之甚少的人現(xiàn)在成了我最好的朋友之一,我想我當(dāng)時所給的建議多少是有點(diǎn)用處的。
-
工程師
+關(guān)注
關(guān)注
59文章
1590瀏覽量
69490
發(fā)布評論請先 登錄
基于瑞薩64位MPU RZ/G2L進(jìn)行32位應(yīng)用軟件開發(fā)


硬件工程師看了只會找個角落默默哭泣#硬件工程師 #MDD #MDD辰達(dá)半導(dǎo)體 #產(chǎn)品經(jīng)理 #軟件工程師
【華秋DFM】V4.6正式上線:工程師的PCB設(shè)計(jì)“好搭子”來了!

如何成為一名合格的KaihongOS北向應(yīng)用開發(fā)工程師
硬件工程師手冊(全套)
如何成為一名嵌入式軟件工程師?

嵌入式軟件工程師就業(yè)好不好?
如何成為嵌入式開發(fā)工程師?
如何成為一名合格的北向應(yīng)用開發(fā)工程師

不同時期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過于真實(shí) #YXC晶振 #揚(yáng)興科技
嵌入式工程師常用的開發(fā)工具有哪些?

評論