日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

零經(jīng)驗(yàn)素人,怎樣找到一份軟件開發(fā)的工作?(零經(jīng)驗(yàn)素人,怎樣找到一份軟件開發(fā)的工作呢)

找開發(fā)工作都要求有經(jīng)驗(yàn)的,怎么破?

記得我初到京城開始找工作時(shí),最痛苦的莫過于,看到所有的軟件開發(fā)崗位都要求有工作經(jīng)驗(yàn)。甚至我在有一次失敗的面試之后,對(duì)著面試官絕望地問道:“想找工作要有經(jīng)驗(yàn),可是不工作哪來的經(jīng)驗(yàn),您說我應(yīng)該怎么辦?”

當(dāng)時(shí)那位面試官只是推了推鼻梁上的眼鏡,沉默了一會(huì)兒,有些同情地說:“回去等我們通知吧,再多學(xué)習(xí)學(xué)習(xí)?!?/p>

時(shí)至今日,我已然明白找不著工作這個(gè)問題,并不是出在公司的招聘要求上,而是出在了我自己當(dāng)時(shí)的認(rèn)知水平上。因?yàn)楣鹃_門做生意,要在激烈的市場(chǎng)競(jìng)爭(zhēng)中生存下來,肯定是希望以有限的成本找到最合適的人才。

而自己卻抱著“進(jìn)了公司,我肯定能學(xué)會(huì)怎么工作”這樣的想法,錯(cuò)誤地把責(zé)任歸咎于公司的招聘政策,這顯然是本末倒置的。

當(dāng)然,我后來也找到了軟件開發(fā)的工作,開啟了職業(yè)生涯。只是繞了不少彎路,回過頭看,有些事情我懂得更早的話,或許命運(yùn)會(huì)有所不同。

因此,我打算結(jié)合自己的體會(huì),說一說一位零經(jīng)驗(yàn)素人,如何為自己創(chuàng)造經(jīng)驗(yàn),找到一份軟件開發(fā)的工作。

零經(jīng)驗(yàn)素人,怎樣找到一份軟件開發(fā)的工作?(零經(jīng)驗(yàn)素人,怎樣找到一份軟件開發(fā)的工作呢)

學(xué)會(huì)一套技術(shù)體系

在這里我想明確一個(gè)前提,那就是求職者是零經(jīng)驗(yàn),而不是零知識(shí)。假如說求職者從來沒有接觸過計(jì)算機(jī)的理論知識(shí),只是羨慕軟件開發(fā)者的光環(huán),那本文是不適合的。求職者還是應(yīng)該花時(shí)間,先將基礎(chǔ)理論學(xué)好,并掌握一門編程語言。

我想大多數(shù)有志于軟件開發(fā)的求職者,一定都已經(jīng)掌握了一門編程語言。求職者已經(jīng)可以用編程語言解決一些特定的數(shù)學(xué)或者算法問題。但對(duì)于想找一份工作來說,這還是遠(yuǎn)遠(yuǎn)不夠的。

還要再學(xué)習(xí)什么?應(yīng)該學(xué)會(huì)一套技術(shù)體系,解決一類問題。

記得我那會(huì)兒為了找工作,把一本厚厚的java語言程序設(shè)計(jì)給啃了下來,里面的知識(shí)點(diǎn)也都認(rèn)真上機(jī)操作了。但這些知識(shí)儲(chǔ)備僅夠用于筆試,在面試環(huán)節(jié),人家問的多是體系化的內(nèi)容。

例如什么是MVC架構(gòu)、使用過哪些框架、數(shù)據(jù)如何存儲(chǔ),緩存如何設(shè)計(jì)等。坦白說,第一次被問的懵圈還情有可原,但如果第三次、第四次還張口結(jié)舌,答非所問,那就不應(yīng)該了。

那么,沒有經(jīng)驗(yàn),我們就要給自己創(chuàng)造出經(jīng)驗(yàn)了。一個(gè)很好的辦法就是實(shí)踐“做中學(xué)”的理念。微軟的資深技術(shù)人鄒欣老師,他多年以來一直堅(jiān)持利用自己的業(yè)余時(shí)間在高校中傳播、講授“做中學(xué)”,并著有《構(gòu)建之法》一書,系統(tǒng)地論述如何實(shí)踐“做中學(xué)”,這本書是一個(gè)相當(dāng)好的參考。

臨淵羨魚,不如退而結(jié)網(wǎng)。求職者要去實(shí)踐開發(fā)一個(gè)完整的系統(tǒng),功能簡(jiǎn)單一些都沒問題,“小而全”就可以。之所以要強(qiáng)調(diào)完整性,是因?yàn)檫@樣的工程實(shí)踐不是做一個(gè)課堂作業(yè),而是要可用。

在工程中要從系統(tǒng)全局來思考問題,這樣才會(huì)將目光放在如何運(yùn)用一套技術(shù)體系來解決問題。做這樣的實(shí)踐時(shí),求職者不必一個(gè)人埋頭苦干,可以找同學(xué)好友一起研究琢磨。如果能找到有經(jīng)驗(yàn)的專業(yè)人士給予指導(dǎo),則是效果最好的。

零經(jīng)驗(yàn)素人,怎樣找到一份軟件開發(fā)的工作?(零經(jīng)驗(yàn)素人,怎樣找到一份軟件開發(fā)的工作呢)

九步法做一套系統(tǒng)出來

選取什么樣的系統(tǒng)去實(shí)現(xiàn),這個(gè)可以根據(jù)個(gè)人的喜好來。例如微信式的通信軟件、單機(jī)游戲、信息管理工具等。甚至就做一個(gè)大學(xué)里最常見的工程作業(yè):學(xué)籍管理系統(tǒng)。

選好了要做的工程,接下來最重要的就是一定要自己完成。有太多的理由不去做完這件事了,例如我就想去多面試幾次碰碰運(yùn)氣;爸媽催得急,家里坐不??;看到別的同學(xué)順利入職,心里著急,于是就拿別人做的項(xiàng)目過來看上幾眼,自認(rèn)為是學(xué)會(huì)了……

對(duì)于這一點(diǎn),我也沒有別的好辦法。我只知道一字一字地手敲一萬行代碼之后,比沒這么做之前要踏實(shí)得多,面試時(shí)應(yīng)對(duì)各種細(xì)節(jié)問題也都有把握得多。

下面我就以學(xué)籍管理系統(tǒng)為例,分成九個(gè)步驟,說明怎么把這個(gè)系統(tǒng)做出來。

第一步:分析需求。就是自己想學(xué)籍管理應(yīng)該包含哪些功能,例如可以登記學(xué)生信息,可以查詢信息,可以修改數(shù)據(jù);考試后記錄考分,學(xué)期末老師填寫評(píng)語;記錄學(xué)生的獎(jiǎng)懲情況等。

第二步:簡(jiǎn)單設(shè)計(jì)。之所以說是簡(jiǎn)單,因?yàn)閷?duì)于零經(jīng)驗(yàn)求職者來說,也不可能進(jìn)行太深入的思考。例如就思考學(xué)生信息會(huì)包括哪些內(nèi)容,將這些內(nèi)容整合到一起形成一個(gè)結(jié)構(gòu)。再思考這個(gè)結(jié)構(gòu)會(huì)具備怎樣的行為,這樣對(duì)數(shù)據(jù)的操作就出來了。

第三步:技術(shù)選型。這時(shí)候求職者要對(duì)BS或者CS結(jié)構(gòu)有基本的了解,知道實(shí)現(xiàn)BS需要web server db的方式;而cs則是client(PC/Mobile) server db。這一步往往需要求職者進(jìn)行大量地學(xué)習(xí),但不必學(xué)到100%,對(duì)每一種技術(shù)學(xué)到核心的20%就可以動(dòng)手工作了。

至于開發(fā)語言,可以是java、php、python、C#等,甚至就用C語言做一個(gè)命令行界面的程序也沒關(guān)系。在這一步里也還要學(xué)會(huì)使用IDE開發(fā)工具,能夠編譯、調(diào)試程序。

第四步:定義核心對(duì)象。不要一上來就奔著畫UI界面去了,這個(gè)工作很吸引人,但對(duì)于一套完整的系統(tǒng)來說,并不是最重要的工作。這一步我們已經(jīng)確定了開發(fā)語言,那么就可以在代碼編輯器里為系統(tǒng)的核心對(duì)象進(jìn)行定義了。例如學(xué)號(hào)字段用長(zhǎng)整型;姓名字段用字符串;性別用字符型等。

第五步:增加對(duì)象的操作。核心對(duì)象定義出來了,那必然要對(duì)它施加操作,系統(tǒng)才能得以運(yùn)行。例如學(xué)生信息對(duì)象有了,那么要增加一個(gè)叫張三的學(xué)生,代碼應(yīng)該怎么寫呢?順著這樣的思路,就可以把新增方法給實(shí)現(xiàn)出來了。

接下來還要思考,數(shù)據(jù)雖然有了,但都在內(nèi)存里,程序一退出數(shù)據(jù)就沒了,數(shù)據(jù)怎么保存呢?這樣又可以將數(shù)據(jù)庫引入進(jìn)來了,再編寫與數(shù)據(jù)庫通信的代碼。

第六步:編譯自測(cè)。不要寫了很多代碼之后再去編譯并運(yùn)行看結(jié)果。一定要?jiǎng)偤脤懲暌粋€(gè)功能就立即編譯并調(diào)試結(jié)果。代碼少的時(shí)候,問題也容易排查,這樣對(duì)增強(qiáng)自己的信心很有好處。

如果求職者會(huì)使用單元測(cè)試來覆蓋業(yè)務(wù)代碼,那就更是加分項(xiàng)了。軟件開發(fā)的世界里有許多理論與工具,對(duì)于零經(jīng)驗(yàn)者來說可能頭緒太過于復(fù)雜,所以暫時(shí)不會(huì)使用單元測(cè)試也沒關(guān)系。不過起碼要能通過運(yùn)行結(jié)果判斷功能是否正常。

第七步:迭代。當(dāng)功能一個(gè)一個(gè)被開發(fā)出來時(shí),會(huì)發(fā)現(xiàn)需要定義新的對(duì)象了,這時(shí)候就要繼續(xù)新增對(duì)象并增加操作。實(shí)際上就是重復(fù)第四步到第六步的工作,這也是開發(fā)人員在工作時(shí)的實(shí)際狀態(tài)。

第八步:繪制UI。這時(shí)候終于可以畫界面了,之所以將這一步放在最后,是因?yàn)樗械暮诵牟僮鞫家呀?jīng)定型。業(yè)務(wù)邏輯在實(shí)現(xiàn)過程中已經(jīng)得到了反復(fù)確認(rèn),UI只需要呈現(xiàn)已有的業(yè)務(wù)邏輯就可以。

第九步:系統(tǒng)測(cè)試。所有代碼全都寫完,這的確是一件值得慶賀的事,但還遠(yuǎn)未到結(jié)束的時(shí)刻。求職者要鼓起勇氣來不斷地測(cè)試自己開發(fā)的系統(tǒng),而且要邀請(qǐng)同學(xué)或者老師來試用自己的系統(tǒng)。

因?yàn)樽约旱哪抗饫锟倳?huì)有盲區(qū),別人也許很容易就發(fā)現(xiàn)系統(tǒng)存在的問題。遇到問題并解決問題,往往是技術(shù)成長(zhǎng)的捷徑。而一套自己開發(fā)的系統(tǒng),能夠經(jīng)受試用檢驗(yàn)并被認(rèn)可,“做中學(xué)”的目的也就達(dá)到了。

零經(jīng)驗(yàn)素人,怎樣找到一份軟件開發(fā)的工作?(零經(jīng)驗(yàn)素人,怎樣找到一份軟件開發(fā)的工作呢)

結(jié)語

軟件開發(fā)是一項(xiàng)智力密集型的勞動(dòng),要進(jìn)入這個(gè)職業(yè)確實(shí)存在一定的門檻。如今我在公司面試新人的時(shí)候,也不止一次聽到他們抱怨說“沒經(jīng)驗(yàn)就沒工作,可沒工作哪來的經(jīng)驗(yàn)?”

我總會(huì)想起當(dāng)年自己也發(fā)出這樣怨言的時(shí)候,所以我都會(huì)耐心地給他們說一些如何獲得經(jīng)驗(yàn)的方法。雖然不知道我當(dāng)時(shí)的話能給他們提供多大的幫助,但我想他們也應(yīng)該會(huì)思考并做出行動(dòng)吧。時(shí)至今日,我想這些新人們也一定都走上了工作崗位,有了很好的職業(yè)發(fā)展。

上述的九步法也許并不是很完善,它只是出自于我的個(gè)人思考。如果能有人補(bǔ)充完善并提出更好的辦法,那真是功德無量的事情。但對(duì)于迷茫中的求職者來說,不妨先去嘗試一下,起碼比不知道做什么而只是抱怨要強(qiáng)。

我也希望能有更多喜愛軟件開發(fā)的求職者,能夠順利獲得機(jī)會(huì)并大展鴻圖!

零經(jīng)驗(yàn)素人,怎樣找到一份軟件開發(fā)的工作?(零經(jīng)驗(yàn)素人,怎樣找到一份軟件開發(fā)的工作呢)

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁
返回頂部
全南县| 华坪县| 满洲里市| 岳阳市| 克什克腾旗| 关岭| 桃江县| 庆云县| 临潭县| 会昌县| 墨竹工卡县| 阿坝| 临朐县| 喀喇沁旗| 依安县| 黑河市| 溧阳市| 抚远县| 巢湖市| 邯郸县| 陇南市| 阿勒泰市| 库尔勒市| 扎囊县| 孟津县| 镇沅| 高安市| 玛沁县| 资兴市| 台中市| 岱山县| 香格里拉县| 扎囊县| 互助| 丹东市| 迭部县| 宁安市| 南和县| 清水河县| 英山县| 泰顺县|