文踐觀點(diǎn):本科生不管是不是計算機(jī)專業(yè),都可以從事編程工作,開始從web前端學(xué)習(xí)比較容易,但后端的編程也不難,學(xué)會后端編程可以拓展就業(yè)機(jī)會,提高工資待遇。
我在做程序開發(fā)7年的時間里,團(tuán)隊里很多都不是學(xué)計算機(jī)專業(yè)的,但項目開發(fā)都做的很好,對于本科生而言,想轉(zhuǎn)行編程完全沒問題,為什么這么說呢?
一、本科生有基礎(chǔ),自學(xué)能力強(qiáng)國家對本科生教育的目標(biāo)要求有明確說明,能扎實(shí)地掌握本門學(xué)科的基礎(chǔ)理論,專門的知識和基本技能,具有從事專門技術(shù)工作初步能力的高級人才,具備合理的知識結(jié)構(gòu),掌握科學(xué)工作的一般方法,能正確判斷和解決實(shí)際問題,具備終生學(xué)習(xí)的能力和習(xí)慣,能適應(yīng)和勝任多變的職業(yè)領(lǐng)域。
本科教育知識的講授不僅是本學(xué)科的縱深發(fā)展,還會注意學(xué)科間的橫向關(guān)系,與此同時,本科教育注意培養(yǎng)學(xué)生的科學(xué)思維能力、創(chuàng)造能力和創(chuàng)新精神。
能考上本科,本身自學(xué)能力就不會差,再經(jīng)過四年的學(xué)習(xí)和培養(yǎng),使本科生的社會綜合適應(yīng)性更強(qiáng),繼續(xù)學(xué)習(xí)的潛能更大,所以,畢業(yè)半年轉(zhuǎn)行學(xué)習(xí)編程,完全沒有問題。
二、做編程不一定非要計算機(jī)專業(yè)現(xiàn)在大學(xué)本科階段的學(xué)習(xí),大多專業(yè)基礎(chǔ)課里面也有計算機(jī)知識的學(xué)習(xí),像數(shù)據(jù)庫的應(yīng)用,有的C語言非計算機(jī)專業(yè)也有學(xué)。
對于計算機(jī)專業(yè)的線性代數(shù)、離散數(shù)學(xué),邏輯算法和數(shù)據(jù)結(jié)構(gòu)等專業(yè)知識的學(xué)習(xí),如果不是復(fù)雜的項目根本用不到,說實(shí)話,我做了7年的開發(fā),除了數(shù)據(jù)結(jié)構(gòu),其它很少用到,這些學(xué)習(xí)時很難,工作中也用不到,對于非計算機(jī)專業(yè)來說,沒有這些理論的學(xué)習(xí),一樣可以從事編程工作。
非計算機(jī)專業(yè)的畢業(yè)生,可以自學(xué)一下數(shù)據(jù)結(jié)構(gòu)、SQL語言,會一門數(shù)據(jù)庫的開發(fā)和應(yīng)用,小的應(yīng)用可以Access或MySql,大的SQL Server 或者ORACLE,再掌握一門計算機(jī)程序語言,底層的開發(fā),一般是匯編、C和C++語言,高級應(yīng)用程序的開發(fā)目前流行的VB,C#,Java,PHP語言,學(xué)完就可以進(jìn)入程序開發(fā)的崗位,與計算機(jī)專業(yè)的本科生工作沒有什么區(qū)別。
因此,對于本科生而言,學(xué)習(xí)編程真的不難,從事程序開發(fā)工作,也不一定非要計算機(jī)專業(yè)。
三、web前端開發(fā)比較容易,可以快速上手,提高信心web程序開發(fā),分為前端和后端,前端是網(wǎng)頁的表現(xiàn),后端是程序頁面的功能和邏輯實(shí)現(xiàn)。Web的前端開發(fā)比較簡單,除了js,對于HTML和Css也許花1-2周的時間就可以掌握并開始工作,這樣可以快速上手,提高做編程的信心。
下面簡單介紹一下web前端開發(fā)都需要學(xué)習(xí)什么:
1、Html
HTML是web前端頁面的編程語言,也叫超文本標(biāo)記語言,它可以將網(wǎng)頁的內(nèi)容進(jìn)行整齊美觀的排版,現(xiàn)在最新版是html5,編寫html代碼時,需要考慮各種瀏覽器的兼容性,有時候需要根據(jù)不同的瀏覽器寫出對應(yīng)的代碼來達(dá)到需要的展現(xiàn)格式。
學(xué)習(xí)html的語法,不用買書,因為網(wǎng)上有很多的資料,也簡單易學(xué),它是web開發(fā)最基礎(chǔ)的語言,用心幾天就可以掌握了。
2、CSS
web前端開發(fā)第二個需要掌握的是CSS,也叫層疊樣式表或級聯(lián)樣式表,是格式設(shè)置規(guī)則,使html頁面可以有更加豐富的表現(xiàn),CSS可以將網(wǎng)頁內(nèi)容與表現(xiàn)形式分離,讓HTML文檔代碼更加簡練,減少瀏覽器的加載時間。
學(xué)習(xí)CSS,需要在電腦上多寫多練,也不用買書,只要勤學(xué)勤練2天就可以上手,完全學(xué)好復(fù)雜的css格式控制,需要點(diǎn)時間,這個可以在工作中邊用邊學(xué)。
3、JavaScript
JavaScript簡稱JS,js是Web頁面的腳本語言,在web開發(fā)中被廣泛應(yīng)用,它可以為網(wǎng)頁增添各種動態(tài)功能,讓客戶體驗流暢美觀的頁面效果。
js通過嵌入在html頁面實(shí)現(xiàn)交互行為,主要被作為客戶端腳本語言在用戶的瀏覽器上運(yùn)行,不需要服務(wù)器的支持,缺點(diǎn)是安全性不好。
JS是Web前端開發(fā)中較難的一種語言,可以買專門的書來學(xué)習(xí),學(xué)習(xí)中一定多在電腦上練習(xí),簡單的語法3天就能上手,復(fù)雜些的功能也可以邊用邊學(xué)。
四、web后端也不難學(xué),學(xué)好后端編程可以提高就業(yè)機(jī)會,提高待遇相信轉(zhuǎn)行做編程的目的不僅僅是因為喜歡,還想提高收入待遇、改善工作環(huán)境,如果僅僅做web前端編程,工資都不會很高的,因為相對簡單,作為本科生,真正有意思的,能構(gòu)創(chuàng)造更多價值的還是后端服務(wù)器編程,所以,建議會Web前端編程,也要主攻后端開發(fā),Web后端開發(fā)也不難。
如何學(xué)習(xí)Web后端編程呢?需要學(xué)習(xí)數(shù)據(jù)庫,掌握一門程序開發(fā)語言,下面做簡單說明。
1、數(shù)據(jù)庫
這里說的數(shù)據(jù)庫實(shí)際是數(shù)據(jù)庫管理系統(tǒng),Web后端應(yīng)用的開發(fā)離不開數(shù)據(jù),數(shù)據(jù)的存儲、調(diào)用和分析處理,都離不開數(shù)據(jù)庫的操作,所以,必須掌握一個或多個數(shù)據(jù)庫的應(yīng)用編程,簡單輕量級的數(shù)據(jù)庫有Access和Mysql,在個人或者中小型的web應(yīng)用開發(fā)中常被應(yīng)用。
對于大型的Web項目,或者對數(shù)據(jù)存儲量比較大的中小型項目,小型數(shù)據(jù)庫在性能上是勝任不了的,還必須掌握中大型數(shù)據(jù)庫的操作和開發(fā),一般常用的中大型數(shù)據(jù)庫有SqlServer、Oracle和DB2,DB2一般用在銀行,前2個學(xué)習(xí)其中一個就可以,他們的應(yīng)用語法和操作有區(qū)別,語法基礎(chǔ)都是SQL語言,掌握一種,另外一種也都不難。
數(shù)據(jù)庫的學(xué)習(xí),買專業(yè)的書進(jìn)行實(shí)操學(xué)習(xí),多電腦操作,一般學(xué)習(xí)1-2周就可以進(jìn)行應(yīng)用的開發(fā),入職工作后,在工作中也可以進(jìn)行深入的學(xué)習(xí),如果有資源也可以學(xué)習(xí)老程序員的數(shù)據(jù)庫開發(fā)代碼,他們對數(shù)據(jù)庫的應(yīng)用編程思路和方法,這樣學(xué)習(xí)效率會更好。
2、程序開發(fā)語言
Web后端的開發(fā)離不開一門編程語言,常用的后端服務(wù)器開發(fā)語言有Php,JAVA,.NET(包括C#和VB),可以根據(jù)自己的興趣和工作方向來選擇,沒有最好的編程語言,只有最適用的編程語言,針對不同的開發(fā),來選擇適合的編程語言。
如何選擇適合的編程語言,可以從您計劃工作的職位工作要求來看,崗位需要什么樣的程序開發(fā),哪個用的多就選擇哪個來學(xué),其實(shí),學(xué)好了一門開發(fā)語言,其它也都是相通的,開始不建議學(xué)太多,先精通一門語言即可。
學(xué)習(xí)的方法依然是買書和網(wǎng)絡(luò)相結(jié)合,對于本科生來說,自學(xué)一定沒有問題,但為了快速的上崗帶來工作收益,也可以讓專業(yè)的人傳授良好的學(xué)習(xí)方法。
荀子《勸學(xué)》中曾言:“君子性非異也,善假于物也”。高效率的時代,自己摸索比較慢,有條件可以選擇一個可靠的培訓(xùn)單位來學(xué)習(xí),加快學(xué)習(xí)的進(jìn)程,可以短時間入職編程工作,實(shí)現(xiàn)快速的職業(yè)轉(zhuǎn)型。
總之,本科畢業(yè)轉(zhuǎn)行做編程是完全可以的,從web前端學(xué)起,然后進(jìn)行后端編程學(xué)習(xí),前端的學(xué)習(xí)只需要自學(xué)就可以,后端語言和數(shù)據(jù)庫可以自學(xué),也可以報一個正規(guī)的培訓(xùn)班,有的培訓(xùn)班也提供工作機(jī)會,可以帶著學(xué)員完成正規(guī)項目的實(shí)踐,提高入職的效率。
我是文踐,10年電商運(yùn)營經(jīng)驗,軟件工程師,自媒體工作者,熱愛思考和寫作。每天分享互聯(lián)網(wǎng)相關(guān)技術(shù)干貨,歡迎關(guān)注我。
提這個問題的,估計是個小白吧!py是政策導(dǎo)向和國外幾大人工智能框架給弄火的!真沒想過py能超過js!畢竟js靈活性遠(yuǎn)遠(yuǎn)大于py!
前端是入門門檻低、想要做好難,Java是入門門檻也不低,想要做好更難。至于薪資待遇其實(shí)是一樣的,只要你做得好不管是做前端還是做后端,你都可以拿到高薪。
技術(shù)行業(yè)飽和、不建議大齡轉(zhuǎn)型,裁員不只是經(jīng)濟(jì)下行這兩年人工智能大火,又有不少人想要進(jìn)入這個行業(yè),就跟十年前移動互聯(lián)網(wǎng)剛剛在國內(nèi)爆發(fā)的時候,一夜之間無數(shù)培訓(xùn)班出來,很多人都抱著想要進(jìn)入互聯(lián)網(wǎng)行業(yè),像十年前大家拼命擠進(jìn)金融行業(yè)一樣,大家蜂擁一般想要一頭扎進(jìn)互聯(lián)網(wǎng)。那一撥互聯(lián)網(wǎng)浪潮來臨的時候,確實(shí)也培養(yǎng)了一大批人才,不過你要知道那時候是行業(yè)饑渴期,就跟馬老師所說的一樣,早期招人大街上只要是人的,都給拉進(jìn)來了。
不過現(xiàn)在情勢完全不一樣了,很多人可能認(rèn)為2018年底到2019年整個一年多,互聯(lián)網(wǎng)行業(yè)爆發(fā)的動蕩,以京東、知乎、滴滴、美團(tuán)、人人車、網(wǎng)易、華為、科大訊飛、阿里優(yōu)酷等眾多科技公司都在裁員,這些企業(yè)都是規(guī)模比較大,而且名氣也比較大的企業(yè)。
不少同學(xué)可能認(rèn)為這只是經(jīng)濟(jì)下行的影響,大家得知道這只是其中一個原因,更大的原因還是因為由于幾年的爆發(fā)式增長,全民創(chuàng)業(yè)時代資本失控,不斷有人進(jìn)入這個行業(yè),這個行業(yè)短短幾年之前累積了太多的從業(yè)者。企業(yè)發(fā)展過程中發(fā)現(xiàn)早起野蠻擴(kuò)張堆積了太多沒有必要的人了,裁員是勢在必行,因此裁員不僅僅是經(jīng)濟(jì)下行,同時也是因為行業(yè)飽和導(dǎo)致了需求不再那么多了,何況現(xiàn)在這個行業(yè)還在不斷的進(jìn)新的人。
大家不要再忽略一點(diǎn)的是,編程這玩意兒吧屬于青春飯行業(yè),基本上30歲就是一個很大的坎,這個坎你上不去基本上就很難了,你也沒辦法和20多歲的年輕人拼身體、拼思維活躍度,現(xiàn)在很多從事這個行業(yè)的、技術(shù)比較頂尖的基本上在中學(xué)時代就開始接觸了,甚至可能更早,他們會參加各種各樣的競賽,包括信息學(xué)競賽,即使是大學(xué)開始學(xué)的,往往人家大學(xué)也比你多系統(tǒng)的學(xué)習(xí)了四年。同時這個行業(yè)還真的有點(diǎn)吃天賦的,編程要學(xué)得好的話,大概率還是需要你的數(shù)學(xué)天賦比較好,擁有比較好的邏輯思維能力,尤其是你想要做到比較高的水準(zhǔn),尤其需要看天賦。因此我不建議大齡學(xué)編程,這樣你的時間真的不夠。
前端可見即所得,后端更注重邏輯、算法前端和后端既有相通也有區(qū)別,前端編程所見即所得,后端更注重邏輯和算法。簡單地說好不好看、好不好用主要看前端程序員的水平,產(chǎn)品最終穩(wěn)不穩(wěn)定則是看的后端程序員的水準(zhǔn),當(dāng)然現(xiàn)在前端和后端的邊界越來越不明顯了。node這樣的前端技術(shù)已經(jīng)逐漸應(yīng)用到后端,現(xiàn)在前端也可以寫很多邏輯,未來的程序員全棧會越來越多,當(dāng)然具體工作的時候還是前后端分開。
相對來說前端確實(shí)入門門檻相對較低,當(dāng)然想要學(xué)好依然會要求比較高,前端可能在很多地方需要你有一定的審美能力,需要較好的業(yè)務(wù)理解能力,當(dāng)然這個產(chǎn)品經(jīng)理和設(shè)計師能夠幫你解決這些問題。不過要想做得好,你對于頁面布局,顏色搭配等都有一定的要求,畢竟前端是直接呈現(xiàn)給用戶的,好與壞用戶都能直接感受到。
后端更注重邏輯思維能力,更注重算法,尤其是很多復(fù)雜的業(yè)務(wù)邏輯都是需要后端來解決的,這里面涉及到很多復(fù)雜的業(yè)務(wù)邏輯,涉及到很多算法。舉個例子你用滴滴打車,點(diǎn)擊按鈕打車這個界面都屬于前端,不過打車之后的具體業(yè)務(wù)處理,比如打車之后怎么確定派單規(guī)則,怎么選擇具體的司機(jī)派單,是按照地理距離還是實(shí)際路線距離,打車之后怎么確定等待時間,如果發(fā)生了乘客取消了怎么辦,發(fā)生了司機(jī)取消又怎么辦,取消之后又需不需要列入用戶和乘客考核等等。
前端和后端都有自己的技術(shù)特點(diǎn),主要看你擅長做前端還是后端,不過我還是建議大家程序員都要盡可能往全棧的方向努力,前端要了解一些后端技術(shù),后端更要了解一些前端技術(shù),這樣工作起來也會事半功倍。